Overview of Popular DBMSeS – Redis
02/07/2022Designing Database Architecture
02/07/2022Cassandra is an open source columnar database that supports very large amounts of structured data Cassandra does not declare a primary server; instead, data is distributed in a cluster of nodes, each
of which can process client requests This provides an “always-on” architecture that is extremely
appealing for enterprise applications that cannot experience database downtime Cassandra was originally an open source project developed by Facebook in 2008 to optimize message inbox search It was later declared an Apache top-level project in 2010
Strengths
- “Ring” Architecture: Multiple nodes are organized logically in a “ring ” Each node can accept read and write requests so there is no single point of failure
- Ease of Use: Cassandra’s query language, CQL, has a syntax similar to traditional SQL and has a reduced learning curve for developers switching from a SQL database
- Write Speed: Cassandra is efficient for writing very large amounts of data. When performing a write operation, replicas of a new record are stored across multiple cluster nodes and these replicas are created in parallel Only a subset of those nodes need to complete a replica update for the write operation to be considered successful, which means that the write operation can finish sooner.
Weaknesses
- Read Time: Records in a Cassandra database are assigned a primary key attribute The value of the primary key determines which cluster nodes a record is stored on When querying data by primary key, read performance is fast, because the node that stores the data can be found quickly However, querying data using attributes other than the primary key is slower
- Not ACID-compliant out of the box. Instead, Cassandra offers several levels of trade-off between data consistency and availability for developers Use Cases: Personalization Engines, Content Management, Games, IOT Applications