- Scalable NoSQL Database
- Open Source
- Can handle large amount of structured, semi-structured, unstructured data across multiple data centres and cloud
- Highly available
- Provides linear scalability and operational simplicity
- Data Model offers column indexes
- Denormalization support
- Materialized views
- Performance similar to log-structured updates
- Powerful built-in caching
- Classified as an AP system ( Availability and Partition Tolerance )
- Masterless architecture
- Nodes participate in a Cassandra ring – data gets distributed or partitioned across nodes transparently.
- It can be configured to replicate data across data centers or multiple data centers or multiple cloud available systems. If one node goes down, other nodes have data belonging to this node. So, replication is supported and is configurable.
- Linearly scalable – If 2 nodes can handle 1 lakh transactions per second. You can add 2 more nodes to the system, so it can handle 2 lakh transactions per second. Making it 8 nodes, can tackle 4 lakh transactions per second.
What is Linear Scalability?
- Application is said to be linearly scalable if it can scale, with addition of nodes, without change in application code.
What are materialized views?
- Normal views are like: storing results of query in a virtual table ( it doesnot physically exist ). Materialized views are like: we want it to be materialized. So, the underlying database system, stores results of query into actual table underneath. Materialized views are used for improving performance, & stability.
What is CAP Theorem?
- Also called Brewer’s Theorem.
- It is impossible for a distributed system to simultaneously provide all 3 guarantees:
- Consistency – guarantee that all nodes see the same data at same time
- Availability – guarantee that every request receives response whether it succeeded or failed
- Partition tolerance – guarantee that despite partial failure of system OR arbitrary message loss, whole system continues to operate