Apache Cassandra


Apache Cassandra is a free and open-source distributed database, used for managing large amounts of structured data across many commodity servers. Also, it provides services that are highly available and have no single point of failure.

Cassandra has a high value performance and offers robust support (with asynchronous masterless replication) for clusters from multiple datacenters.

Advantages

  • Cassandra is a completely free open-source project
  • Instead of master-slave architecture, it has a peer-to-peer architecture leading to no single point of failure
  • Elastic scalability allows Cassandra cluster to be easily scaled-up, or scaled-down
  • Data is stored in more than one location; this makes Cassandra highly available and fault tolerant
  • Cassandra can deal successfully with huge amount of data without losing any of it
  • Tunable consistency – depending of your requirements, you can choose between eventual consistency or strong consistency
  • Cassandra is schema-free, allowing the user to create columns within rows

Disadvantages

  • It is not suitable for large BLOBs
  • Cassandra rows must fit into the memory
  • It is built on Thrift API, and it's the only way to access the data

Components

  • Node
  • Data center
  • Cluster
  • Commit log
  • Mem-table
  • SSTable
  • Bloom filter

Development tools

  • Cassandra Cluster Manager
  • DevCenter

Versions

  • Version 0.x
  • Version 1x
  • Version 2.x
  • Version 3.0
  • Version 3.2
  • Version 3.4
  • Version 3.5
  • Version 3.6