Relational DB
MySQL
- the most popular DB with basic functionality.
- financial data (ACID)
- only 2 indexes
Postgress
- consistent backup out of the box
- doesn’t belong to any company, community based
- advanced DB, very configurable
- sophisticated replication architecture
- robust, time consuming DB, more suitable for DBA.
- financial data (ACID)
- a lot of indexes
MS SQL
- single master
Key-Value
Redis
- RAM based
- periodically can save data to HDD
Memcache
- RAM based
Amazon DynamoDB
- SaaS from Amazon
- SSD disk high availability cluster
Riak
FoundationDB
Document store
Mongo
- single master
- declarative syntax
- sharding out of the box
- storing log data
- hierarchical aggregation
- product catalog
- shopping cart
- product hierarchy
- storing user comments
RavenDB
CouchDB
MarkLogic
Column Family Databases
HBase
- big data oriented
- search engines
- analysing log data
Cassandra
- multi-master, no slave, no special cluster or manager nodes, in /etc/cassandra/conf/cassandra.yaml at least 1 neighbor node you should specify.
- system failure detection, no single point of failure
- peer to peer connection by Gossip protocol
- compression
- transaction
- java based
- inserts writes to RAM (memtable), then to HDD (SSTable)
- CSQL – Cassandra query language
- fast write + fast read (real time analitics)
Vertica
- sorted base DB, it allows make selects faster
- column storage is ideal for read-intensive workloads because it can dramatically reduce disk
- I/O compared to the more-typical row-based storage.
- HA out-of-the-box, vertica copies the whole projection to each node, ensuring that if a node fails, a copy is available on one of the surviving nodes.
Hypertable
other NOSQL
Elasticsearch
- in 6 times faster full text search than MySQL
- doesn’t support ACID
- auto completer
- alerting engine
- sharding
- REST API queries
- GEO spatial search
- images search
- anomaly detection
RocksDB
- stable random read performance during random writes
Aerospike
- designed for SSD usage directly without OS