Cassandra is a database with its own language for query called Cassandra Query Language (CQL). It’s a declarative language for communicating with Cassandra tool–developers use CQL commands to write and read data from the database.
CQL’s easy API offers an abstraction layer that helps keep Cassandra’s internal storage structure as well as details of implementation buried. The native syntaxes used for collection as well as other commonly used encodings are included.
Developers are able to communicate with Cassandra by using its CQL Shell interface, also known as cqlsh. This is from the command prompt of the node. CQLSH can be used to build keyspaces and tables and data, as well as to make changes to the data as well as insert and query tables and much more.
Comparing CQL against SQL
As we mentioned before due to their numerous similarities developers who have SQL prior experience are likely to quickly get started in CQL.
Like SQL, CQL stores data in tables that contain columns and rows. A lot of the operations and methods are similar, for example, retrieving all rows from tables, and the way the permissions as well as resources for entities can be managed. If you’re proficient on SQL statements such as SELECT, UPDATE, INSERT AND DELETE CQL is a quick and easy process.
There are some distinctions. For instance in SQL any column is able to be used in the WHERE clause. However, in CQL only those columns specifically defined as primary keys can be employed as an restricting column. Additionally, every query should include a partition key at a minimum CQL.
CQL’s most popular data types
CQL is equipped with a range of available data types built into the program. Let’s look at a few of the most important types.
String types
Two data types are available to depict text. Any of the two data types either text or varchar can be used to make an UTF-8-character string, which is the more recent popular text standard, which supports interna. To handle data from the past using ASCII formatting, CQL also includes the ASCII type.
Numeric types
Numeric type in CQL are like those that are found similar to those found in Java along with other programming languages. They include decimals, integers floating-point numbers, and decimal places.
Types of time and date.
CQL offers data types such as dates times, date ranges duration, timestamps, and time (in weeks, months or nanoseconds).
Geo-spatial type of data
Data types that handle geospatial and spatial searches are available. It is possible to search and index latitude and longitude location information and shape data, as well as points and shapes.
Types of Collection
CQL supports collections, which allows for the storage of multiple values in one column. You can use collections for denormalizing or storing smaller quantities of data, for example, tags, phone numbers or addresses. Collections aren’t appropriate for data that is likely to expand unbounded for example, the entire events of a single user. In these cases, you should consider a table with clustering columns.
Other CQL types of data
A variety of different data types are suitable for handling specific scenarios. For instance, CQL includes the blob type that stores binary data, boolean to store the true and false value and counter for defining counter columns. CQL also has unique identifiers for types.