This article is half-done without your Comment! *** Please share your thoughts via Comment ***
The Cassandra Column Families (Tables):
We are calling that Cassandra is a Column Stored NoSQL Database because it is vertically scalable for high flexibility and performance by adding one or more Column Families into Keyspace.
A Column Family is a collection of ordered columns and it is a container of the rows and it stores into Cassandra Keyspace and we can create multiple Column Families into a Keyspace.
A Column Family also called an RDBMS Table but the Column Families are not equal to tables.
The Cassandra is a schema-free database because Column Families are defined, but internal columns are not defined. As per the requirement, the application and the user can add or remove the columns at any point of times.
Internally, Each Column Families are stored in separate files on disk. Each row has a unique key which is called Row Key.
The Cassandra has also the concept of Super Column Family which is allowing nested access by holding a different set of columns.
In the Column Family, We can set default ordering of data, we can make the compressed table, we can use compact storage, we can set the expiry of data.
There are also different Table properties available which can be defined with the table which are WITH CLUSTERING, WITH COMPACT STORAGE, WITH COMPRESSION.
For more details you can visit below documents:
DataStax Create Table:
DataStax Table Properties:
CQL Datatypes:
Create your first cassandra table:
Create Keyspace if not exists:
1 |
CREATE KEYSPACE IF NOT EXISTS dbrnd WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3}; |
Use a Keyspace:
1 |
USE dbrnd; |
Create a Sample Table:
You can use COLUMNFAMILY and TABLE keywords.
1 2 3 4 5 6 7 |
CREATE COLUMNFAMILY tbl_Employee ( EmpID INT PRIMARY KEY ,EmpFirstName VARCHAR ,EmpLastName VARCHAR ,EmpSalary INT ); |
OR
1 2 3 4 5 6 7 |
CREATE TABLE tbl_Employee ( EmpID INT PRIMARY KEY ,EmpFirstName VARCHAR ,EmpLastName VARCHAR ,EmpSalary INT ); |
Insert a Sample record:
1 2 3 4 |
INSERT INTO tbl_Employee (EmpID,EmpFirstName,EmpLastName,EmpSalary) VALUES (1,'Anvesh','Patel',50000); |
Drop a Table:
1 |
DROP TABLE dbrnd.tbl_Employee; |