You are on page 1of 5

Cassandra Tutorial| Data Types | Why Cassandra for Big Data?

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 ?
1. Decentralized
2. Distributed
3. Scalable
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 <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.

std_id std_name std_city std_phone std_fee


1 Ramesh Hyderabad 9191234566 55000
2 Pavan Visakhapatnam 9191234567 45000
3 Gayatri Vizainagaram 9191234568 47000

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

SELECT FROM <tablename>

Assume there is a table in the key space named std with the following details –

std_id std_name std_city std_phone std_fee


1 Ramesh Hyderabad 9191234566 55000
2 Pavan Visakhapatnam 9191234567 45000
3 Gayatri Vizainagaram 9191234568 47000

cqlsh:project1> select * from std;


cqlsh:project1> SELECT std_name, std_fee from std;
How to delete data from Cassandra ?
You can delete data from a table using the command DELETE.

The syntax is given below

DELETE FROM <identifier> WHERE <condition>;

std_id std_name std_city std_phone std_fee


1 Ramesh Hyderabad 9191234566 55000
2 Pavan Visakhapatnam 9191234567 45000
3 Gayatri Vizainagaram 9191234568 47000

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


1. Mobility
2. Security and Fraud Detection
3. Personalization and Recommendation
4. IOT
5. Cloud Operations

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

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.

Conclusion:-
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 Apache Cassandra

You might also like