Introduction to Cassandra Query Language
We’re in a new era of big data where the data is coming in from many different types of sources. For example, it could be a smartphone, tablet, a sensor. It could be data coming in from social media or Netflix. These platforms never sleep, and they’re required to handle massive data globally. The database solution required for big data in real-time systems must be able to handle large volumes. MySQL doesn’t support geographically dispersed cases, and making this happen is quite expensive, time-consuming, and prone to mistakes. To Overcome these performance and scalability limitations, we introduce Cassandra, which has got both technical advantages and scalable architecture.
In this topic, we are going to learn about Cassandra Query Language.
What is Cassandra Query Language?
- The Cassandra Query Language, or CQL for short, is similar to SQL. Keep in mind though that Cassandra doesn’t support joins or subqueries. Cassandra does, however, promote denormalization through CQL features.
- Now collections are suitable for storing small amounts of data like zip or postal code or a phone number. When the data you need to store has large growth potential, like for example, all the messages attributed to a particular user, or all the events recorded by a sensor, you should not use collections. In this case, you should use a table with a compound primary key and store the data in clustering columns.
- Now let’s have a look at the syntax. The syntax includes identifiers and keywords. Identifiers are used to identify tables, columns, and other objects. Identifiers and unquoted keywords are not case-sensitive. A keyword example would be the word select.
- The constants can be of type string, integer, float, Boolean, UUID, blob, or null. And comments can be a double dash, a double slash or single line, or the familiar /**/ multi-line comments. Statements consist of data definition statements, which define and change how data is stored.
Data Manipulation Language (DML)
- The DML or data manipulation language statements include things like inserting, UPDATEs, DELETEs, and SELECTs. Here, we are manipulating the data itself. With the INSERT statement, we can insert a single record or multiple records. The UPDATE statement is to modify an existing record, and the DELETE is to delete an existing record. And the WHERE, in brackets, is something that you generally want to include, so that you can specify criteria.
- You say UPDATE a particular record, where this value is equal to x, whatever that might be, to ensure that you update only the appropriate records, so they match the criteria you are supplying. The same goes for the DELETE statement. You delete where a particular condition is met.
- If you did not use the WHERE clause in an UPDATE statement or a DELETE statement, you would end up updating every record in the table or deleting every record in the table. We definitely need to be careful with these statements. The SELECT statement is to select or retrieve data from a table or from a previously defined view or query.
1. Insert Dml Statement
INSERT is a DML statement, or data manipulation language statement, which is used to create a new record in the table.
[Code starts: INSERT INTO "Customers" ("CustomerID", "FirstName", "LastName", "CreditCard", "Street", "City", "State_Prov", "Customer_Since"), VALUES (8, 'Brian', 'Williams', '547', '79 Will Street', 'My City', 'NY', DEFAULT) ;. Code ends.]
The command itself is just INSERT INTO name of the table followed by the column names and the corresponding values.
2. Update Dml Statement
The update is used to update a specific record in the table.
[Code starts: UPDATE "Customers", SET "FirstName" =’George’, WHERE "CustomerID" = 7. Code ends.]
It is simply the keyword of UPDATE, then the name of the table, and when providing UPDATE statements, it always acts on the table itself, not on any particular record. We don’t say UPDATE this record. We say UPDATE this table and then it is directed to the appropriate record.
The table name goes in double-quotes, and then the keyword for the UPDATE statement is SET. This is what changes the value from what it currently is to something that is required.
3. Delete Dml Statement
DELETE statement is what we use to delete specific records from the table. The syntax is DELETE FROM the name of the table, and then specify a WHERE clause, this is how we can be selective on which record to delete.
Following is an example of the DELETE statement, that will selectively remove whatever is supplied for criteria.
[Code starts: DELETE from "Customers" WHERE "CustomerID" = 6. Code ends.]
4. Where Criteria
Now the next one, we’ll select only a particular record, Even in that only some of the columns.
[Code Starts: SELECT "CustomerID", "FirstName", "LastName", FROM "Customers", WHERE "CreditCard" = '234'. Code ends.] at "CustomerID", "FirstName", and "LastName".
In this case, we are only looking for a single value, a single customer, but take note of the WHERE clause here. This is how results get filtered where a particular column contains a particular value. The interesting point about WHERE is as long as the value exists, it can be used as a filter, it doesn’t matter if it’s being shown or not.
Benefits of Cassandra Query Language
- It can support huge, massive data sets and volumes of data.
- It can handle workloads across many data centers and provides cloud support.
- It provides high performance and scalability.
- It is easy to maintain and flexible to change.
- High availability, is always on continuous availability.
To conclude, Cassandra is collecting a massive amount of data, processing transactions with high speed though there are globally distributed requirements. Cassandra query language is best suited for decentralized applications, for example, web, mobile, and IoT, continuous availability with no downtime, high-velocity data, for example, devices, sensors, data ingress in from many locations. Due to its extremely high write throughput, data compression, and tunability consistency, Cassandra is an excellent solution for data write-intensive systems.
This is a guide to Cassandra Query Language. Here we discuss the DML Statements and Where Criteria with Benefits of Cassandra Query Language. You may also have a look at the following articles to learn more-