Cassandra – Architecture
Cassandra is a Ring based model designed for Bigdata applications, where data is distributed across all nodes in the cluster evenly using consistent hashing algorithm with no single point of failure.In Cassandra, multiple nodes that forms a cluster in a datacentre which communicates with all nodes in other datacenters using gossip protocol.
Each node exchange information across cluster every second and captures the write operations in a commit log in sequential manner.Thereby, data will be indexed and written to in-memory structure Memtable.One the memory is full, then the data will be written to disk in SSTable datafile. All data which is written is partitioned and replicated across the cluster.Periodical consolidation of SSTable will be done through a process called compaction.
When a request is received by a node in cluster, then it will act as a coordinator to collect the data which is distributed across other nodes and takes the responsibility of serving the requested data back to client.
Cassandra uses CQL as query language. CQL looks like same as SQL which eases the query language. CQL can be performed through commandline utility Cqlsh.