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.