Apache Cassandra is a distributed database management system belonging to the class of NoSQL-systems and designed to create highly scalable and reliable repositories of huge amounts of data represented in the form of hash.
Written in Java, it implements a distributed hash system similar to DynamoDB, which provides nearly linear scalability with increasing data volume. It uses the ColumnFamily storage model, which differs from the systems like MemcacheDB, which stores data only in the "key-value" sheaf, the possibility to store hashes with several nesting levels
It belongs to the category of fault-tolerant DBMS: the data placed in the database is automatically replicated to several nodes of a distributed network or even distributed evenly in several data centers, in case of node failure its functions are picked up by other nodes on the fly, adding new nodes to the cluster and Cassandra version update is done on the fly, without additional manual intervention and reconfiguration of other nodes.
Benefits of Cassandra:
- High scalability and reliability without elements whose failure causes the entire system to fail;
- implementation of the NoSQL Column family;
- Very high throughput for write operations and good throughput for read operations;
- SQL-like query language (since version 0.8) and support for secondary index lookups;
- configurable consistency and replication support;
- flexible schema.