Project: YugabyteDB (App Definition and Development / Database)
File: cassandra-feature-support.md

title: Cassandra feature support linkTitle: Cassandra feature support description: Summary of YugabyteDB's parity to Cassandra features headcontent: YugabyteDB supports most standard Cassandra features menu: v2.18: identifier: explore-ycql-language-feature-support parent: explore-ycql-language weight: 50 type: docs Yugabyte Cloud Query Language (YCQL) has its roots in the . The following table highlights the important differences in feature support between YCQL and Cassandra 3.4.2. | | Category | Types | | :: | | :- | | {{<icon/yes>}} | Integers | | | {{<icon/yes>}} | Numbers | | | {{<icon/yes>}} | Binary data | | | {{<icon/yes>}} | Boolean | | | {{<icon/yes>}} | Date/Time | | | {{<icon/yes>}} | Collections | , | | {{<icon/yes>}} | IP Addresses | | | {{<icon/yes>}} | JSON | | | {{<icon/yes>}} | String | | | {{<icon/yes>}} | UUID | | | {{<icon/no>}} | TUPLE | | {.sno-1} | | Operation | Details | | :: | :-- | | | {{<icon/yes>}} | Create new type | | | {{<icon/yes>}} | Delete types | | | {{<icon/no>}} | Alter types | | {.sno-1} | | Operation | Details | | :-: | :-- | :-- | | {{<icon/yes>}} | Creating keyspace | | | {{<icon/yes>}} | Check before creating keyspace | `CREATE KEYSPACE IF NOT EXISTS` | | {{<icon/partial>}} | Modifying keyspace | - No Op | | {{<icon/no>}} | Check before altering keyspace | `ALTER KEYSPACE IF EXISTS` | {.sno-1} | | Operation | Details | | :: | : | :-- | | {{<icon/yes>}} | Adding columns | | | {{<icon/yes>}} | Altering tables | | | {{<icon/yes>}} | Removing columns | | | {{<icon/yes>}} | Rename column's name | | | {{<icon/no>}} | Check before altering tables | `ALTER TABLE IF EXISTS` | {.sno-1} | | Operation | Details | | :: | : | : | | {{<icon/yes>}} | Adding indexes | | | {{<icon/yes>}} | Removing indexes | | | {{<icon/yes>}} | Partial indexes | | | {{<icon/yes>}} | Covering indexes | | | {{<icon/yes>}} | Unique indexes | | | {{<icon/no>}} | Adding indexes on Collection | Cannot create index on `map/list/set/full jsonb/udt` and the keys,values,entries of a collection |

| | Operation | Details | | :: | :- | :-- | | {{<icon/yes>}} | Select columns | | | {{<icon/yes>}} | Conditional select with ` | | {{<icon/yes>}} | Conditional select with `IF` clause | | | {{<icon/yes>}} | Select using `CONTAINS | | {{<icon/no>}} | `SELECT JSON` | is supported as a native type | | {{<icon/no>}} | Select with `PER PARTITION LIMIT` | | | {{<icon/no>}} | Grouping results with `GROUP BY` | | {.sno-1} | | Operation | Details | | :-: | :- | :- | | {{<icon/partial>}} | Update columns | - Only single row updates | | {{<icon/partial>}} | Conditional update with `[NOT] IN` clause | Only single row updates | | {{<icon/yes>}} | Conditional update with `IF` clause | | | {{<icon/yes>}} | Update with `USING` clause | | | {{<icon/no>}} | Conditional Update using `CONTAINS [KEY]` | `UPDATE ... WHERE <col> CONTAINS ...` | {.sno-1} | | Operation | Details | | :-: | :- | :- | | {{<icon/partial>}} | Delete rows | - Only single row deletes | | {{<icon/yes>}} | Conditional delete with `IF` clause | | | {{<icon/yes>}} | Delete with `USING` clause | | | {{<icon/partial>}} | Conditional delete with ` | | {{<icon/no>}} | Conditional delete using `CONTAINS [KEY]` | `DELETE ... WHERE <col> CONTAINS ...` | {.sno-1} | | Operation | Details | | :: | :- | :-- | | {{<icon/yes>}} | Adding columns | | | {{<icon/no>}} | `INSERT JSON` | is supported as a native type | {.sno-1} | | Feature | Details | | :: | : | :- | | {{<icon/yes>}} | Begin a transaction | | | {{<icon/yes>}} | End a transaction | | | {{<icon/yes>}} | SQL style transaction start | | | {{<icon/yes>}} | SQL style transaction commit | | {.sno-1} | | Component | Details | | :: | :-- | :-- | | {{<icon/yes>}} | Roles | | | {{<icon/yes>}} | Permissions | | | {{<icon/no>}} | Users | Legacy Cassandra feature (CREATE, DROP, ALTER, LIST) | | {{<icon/no>}} | `LIST ROLES` | But can be done using | | {{<icon/no>}} | `LIST PERMISSIONS` | But can be done using | {.sno-1} | | Component | Details | | :-: | : | :-- | | {{<icon/yes>}} | Aggregates | | | {{<icon/yes>}} | Built-in Functions | | | {{<icon/yes>}} | Operators | | | {{<icon/partial>}} | Batch | Only programmatically via | | {{<icon/no>}} | Materialized Views | | | {{<icon/no>}} | Triggers | | | {{<icon/no>}} | User Defined Aggregates(UDA) | | | {{<icon/no>}} | User-defined functions(UDF) | | {.sno-1}