What is Apache Cassandra?
Apache Cassandra is an open-source, NoSQL, wide column data store that can quickly take and process huge amounts of data.
It is decentralized, distributed, scalable, highly available, and fault-tolerant, with identical nodes that are clustered together for eliminating single points of failure.
Evolution of Cassandra?
Why is it so special?
4. Highly Available
Why Cassandra for Big data?
1. Handles high velocity data with ease
2. Uses schema that support broad varieties of data
3. Is designed for continuous availability
4. Offers quick installation and configuration for multi-node clusters.
5. It is open source and reduces cost as compared to RDBMS.
Apache Cassandra Data Types?
1.It supports the most common data types including ASCII, Bigint , BLOB, Boolean counter, decimal, double, float, int , text, timestamp, UUID, varchar etc.
2. Its data model offers the convenient of the column indexes with the performance of log structured updates, strong support for denormalization and materialized views and built in caching.
3. Data access is performed using CQL (Cassandra Query Language) which is resembled to SQL (Structured Query Language).
Data Distribution in Apache Cassandra
Cassandra uses a peer-to-peer model for distributing the data, which enables it to fully distribute data in the form of variable-length rows, stored by partition keys. Cassandra is built for its scalability, continuous availability, and has having no single point of failure.
Many Different databases, such as Postgre SQL, use a master-slave replication model, in which the writes go to a master node and reads are executed on slaves. To provide high availability, fault tolerance, and scalability, Cassandra’s peer-to-peer distribution model provides nodes with open channels of communication. Cassandra uses Tokens (a 64 bit integer) for determining which node holds what data.
How to add data?
You can insert data into the columns of a row in a table using the command INSERT.
Syntax for creating data in a table is shown below.
INSERT INTO (, ....)VALUES (, ....)USING
Let us assume there is a table called std with columns (std_id, std_name, std_city, std_phone, std_fee) and you have to insert the following data into the std table.
Use the commands given below to fill the table with required data.
cqlsh:project1> INSERT INTO std (std_id, std_name, std_city, std_phone, std_fee) VALUES (1,’Ramesh’, ‘Hyderabad’, 9191234567, 55000);
cqlsh:project1> INSERT INTO std (std_id, std_name, std_city, std_phone, std_fee) VALUES (2,’Pavan’, ‘Visakhapatnam’, 9191234567, 45000);
cqlsh:project1> INSERT INTO std (std_id, std_name, std_city, std_phone, std_fee) VALUES (3,’Gayatri’, ‘Vizainagaram’, 9191234567, 47000);
Data reading in cassandra?
SELECT clause is used to read data from a table in Cassandra. By Using this clause, you can read a whole table, a single column, or a particular cell.
The syntax of SELECT clause is given below
Assume there is a table in the key space named std with the following details
How to delete data from Cassandra?
You can delete data from a table using the command DELETE.
The syntax is given below
DELETE FROM WHERE ;
The following statement deletes the std_fee column of last row –
cqlsh: project1> DELETE std_fee FROM std WHERE emp_id=3;Deletion of Entire row
The following command deletes an entire row from a table.
cqlsh: project1> DELETE FROM std WHERE emp_id=3;
Use cases of Cassandra
2. Security and Fraud Detection
3. Personalization and Recommendation
5. Cloud Operations
1. Open source
2. Peer to peer Architecture
3. Elastic Scalability
4. High Availability and Fault Tolerance
5. High performance
6. Column oriented
7. Tuneable Consistency
Limitations of Apache Cassandra:-
1. A single column value may not be larger than 2 Giga Bytes.
2. The maximum number of column per row is 2 billion.
3. All data read should fit in memory due to thrift streaming support lack.
4. The key must be less than 64k bytes.
This brings us to the end of this article on Apache Cassandra. In this article you have learnt What is Cassandra Why it is so special , How to add, read and delete data in Cassandra data base. We have also come up with a curriculum that covers exactly what you would need to be expertise in Cassandra! You can have a look at the course details for Cassandra Training.
Look at our FREE Cassandra Training Video
IQ Trainings Cassandra Free Tutorial Covers
1. Introduction to Cassandra
2. Understanding Cassandra Data Model
3. Cassandra Architecture
4. Creating Sample Application
5. Configuring, Monitoring, Maintenance and Tuning Cassandra
6. Integrating Cassandra with Hadoop
7. CRUD Operations in Cassandra
8. Application Demo