- Key-value stores: simplest, item stored in the form of key/value pairs. Each Key is unique and accepts only strings, whereas the value corresponding to the particular Key can accept String, JSON, XML, etc.
- Use Case: Session info, user preference, shopping carts, produce recommendations, etc
- Products: Redis, Voldemort, Riak, and Amazon’s Dynamo
- Document stores: extension of key-value store, pair each key with a complex data structure known as a document (i.e. JSON, XML, etc)
- Use Case: User profiles, Management of content, etc
- Products: MongoDB and CouchDB
- Column-oriented database: store columns of data together instead of rows and are optimized for queries over large datasets
- Use Case: User Preferences, Business Intelligence, Managing data warehouses, etc
- Products: Cassandra, HBase, Hypertable, Google's BigTable
- Graph database: store information about networks, such as social connections
- Use Case: Social Networking, Recommendation Engine, Logistics, Risk Assessment, Fraud detection, etc
- Products: Neo4J and HyperGraphDB
- Different types for different use case
- Distributed
- Flexible Schema
- Eliminated Downtime
- High Scalability
- Cassandra is de-centralized, which means all nodes are the same (its called server-symmetry). There is no leader-follower structure, all the nodes follows P2P (peer to peer) gossip protocol, so its highly available
- Cassandra is highly scalable, new node will automatically be discovered and there is no reboot needed
| Difference | Cassandra | MongoDB |
|---|---|---|
| DB structure | Unstructured data | JSON-like documents |
| Index | Primary Key, but no secondary indexes supported | Index, if no index then each file is searched which could slow down read times |
| Query | CQL (like SQL) | More like programming |
| Replication | leader-leader | leader-follower with auto-election |
- NoSQL Database Types - DZone Database
- 4 Types of NoSQL Databases & When to use them?
- A Comprehensive Guide to Cassandra Architecture
- Cassandra vs MongoDB in 2018
- Cassandra vs. MongoDB vs. Hbase: A Comparison of NoSQL Databases | Logz.io
- Introduction to Amazon DynamoDB for Cassandra developers | AWS Database Blog
- Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database
- Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB
- HBase Tutorial for Beginners: Learn in 3 Days!