Back to Yugabyte Db

YCQL features

docs/content/v2.20/explore/ycql-language/_index.md

2026.1.0.0-b252.4 KB
Original Source

YugabyteDB's YCQL API has its roots in the Cassandra Query Language (CQL) and runs on top of YugabyteDB's distributed storage layer called DocDB. This architecture allows YCQL to support most Cassandra features, such as data types, queries, expressions, operators and so on and at the same providing seamless scalability and resilience.

{{< tip title="Tip" >}} A large portion of the documentation and examples written for Cassandra would work against YCQL. {{< /tip >}}

Cassandra features in YCQL

The following table lists the most important YCQL features which you would find familiar if you have worked with Cassandra.

YCQL FeatureDescription
Data definitionYCQL shell with ycqlsh, keysapces, tables, indexes, and types
Data TypesString, numeric, frozen types, UUID, JSONB ...
Data ManipulationSELECT, INSERT, UPDATE, DELETE ...
ExpressionsSimple Values, Function calls, Subscript ...
OperatorsBinary, Unary, Null operators ...
SecurityRoles and Permissions

Going beyond Cassandra

YCQL has a number of features that are not present in Cassandra, as summarized in the following table.

YCQL FeatureDescription
Strongly consistent with RAFT replicationEnables strong consistency across replicas
Fast transactionsSingle round-trip distributed transactions
Native JSONB supportEnables document data modelling like MongoDB
Fast and consistent Secondary IndexesImmediately consistent indexes with point lookups (no fan-out)
Secondary indexes with JSONB datatypeEfficient reads with consistency and flexibility in data model

Learn more