Wednesday, 28 January 2015

Apache Cassandra Tutorial

Apache Cassandra


Apache Cassandra is an open-source No SQL Database from Apache Foundation.

Like RDBMS have SQL query language, Apache Cassandra has CQL to query Cassandra database at command prompt.

CQL Stands for Cassandra Query Language.

As of today, Apache Cassandra's latest version is 2.1.0.

Apache Cassandra Features:

  • Decentralized No SQL Data store
  • Supports Elastic Scalability
  • Supports Primary Key
  • Supports Indexes
  • Fault Tolerance
  • Supports Replication and Sharding (Distribution)
  • Tunable Consistency
  • Supports Map/Reduce
  • Supports Clustering
Apache Cassandra Advantages:
  • Scalability
  • Decentralized
  • Fault Tolerant
  • Consistency
  • Clustering
  • Sharding
  • Replication

Apache Cassandra Drawbacks:
  • Does NOT support JOINS
  • Does NOT sub-queries
  • Does NOT have Master/Slave or Parent/Child relationships
In Clustering Environments,
unlike Apache Hadoop which follows Master/Slave nodes, Apache Cassandra does NOT follow Master/Slave architecture. 

In Apache Cassandra Clustering Environment, all nodes act as same and do same functionality.

We have some drivers to connect from Java to Cassandra.

Spring Framework supports Spring DATA - Cassandra module to integrate and work with Spring and Cassandra based applications.

CQL CRUD Operations:

Apache CQL almost uses similar constructs and syntax of SQL to perform CRUD operations.