Comparison between databases
BigTable vs DynamoDB
| DynamoDB | BigTable | |
|---|---|---|
| Architecture | Decentralized Every node has same set of responsibilites |
Centralized Master handles metadata, tablet server handle reads/writes |
| DataModel | Key-Value | Multidimensional Sorted-Map |
| Partitioning | Consistent Hashing Each node is assigned to a random position on the ring |
Tablets Each table is broken into a contiguous range of rows called tablets |
| Replication | Sloppy Quorum Each data item is replicated to 'N' number of nodes |
GFS Chunk replication Data is stored in GFS. Files in GFS are broken into chunks, and these chunks are replicated to different servers |
| CAP | AP | CP |
| Operations | By Key | By Key-Range |
| Storage | Plug-in | SSTables in GFS |
| Memberships and failure detection | Gossip based protocol | Handshakes initiated by the master |
Cassandra is a distributed, decentralized, and highly available NoSQL database. Its architecture is based on Dynamo and BigTable. Cassandra can be described as a BigTable-like datastore running on a Dynamo-like infrastructure. Cassandra is also a wide-column store and utilizes the storage model of BigTable, i.e., SSTables and MemTables.