Apache Cassandra is an open-source, distributed, scalable, and fault-tolerant NoSQL database that uses a peer-to-peer model to distribute data across nodes. It supports a wide variety of data types and uses a column-oriented model to store variable-length rows indexed by partition keys. Data can be added using CQL INSERT statements, read using CQL SELECT statements, and deleted using CQL DELETE statements. Cassandra is useful for applications requiring high availability, easy scaling, and fast writes, such as mobility, IoT, and personalization/recommendations.
2. SUMMARY OF CONTENTS
What is Apache Cassandra?
Evolution of Cassandra ?
Why Cassandra for Big Data?
Apache Cassandra Data types ?
Data Distribution in Apache Cassandra
How to Add Data in Cassandra ?
How to Read Data ?
How to Delete Data ?
Use Cases ?
Advantages and Limitations
3. 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.
WHAT IS APACHE CASSANDRA ?
5. 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.
6. DATA TYPES IN CASSANDRA ?
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).
7. DATA DISTRIBUTION IN 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.
8. ADDING DATA IN CASSANDRA ?
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 <tablename>
(<column1 name>, <column2
name>....) VALUES (<value1>,
<value2>....)
USING <option>
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.
9. ADDING DATA IN CASSANDRA ?
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);
10. READING DATA 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
SELECT FROM <tablename>
Assume there is a table in the key space named std with the following details –
cqlsh:project1> select * from std;
cqlsh:project1> SELECT std_name, std_fee from std;
11. DELETING DATA IN CASSANDRA ?
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;
You can delete data from a table using the command DELETE. The syntax is given below
DELETE FROM <identifier> WHERE <condition>;
12. USE CASES FOR CASSANDRA ?
1. Mobility
2. Security and Fraud Detection
3. Personalization and Recommendation
4. IOT
5. Cloud Operations
13. ADVANTAGES?
1. Open source
2. Peer to peer Architecture
3. Elastic Scalability
4. High Availability and Fault Tolerence
5. High performance
6. Column oriented
7. Tunable Consistency
8. Schema-Free
14. LIMITATIONS
?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.