Scylla and Apache Cassandra Compatibility

Latest update: Scylla 4.0

Scylla is a drop-in replacement for Apache Cassandra 3.11, supporting both the data format (SSTable) and all relevant external interfaces, with many features from more advanced Apache Cassandra releases. The following page detailed the level of support for each interface. For more on Cassandra features which are not available yet see here

Note

This table includes Apache Cassandra features and the corresponding Scylla Open Source status. It does not include Scylla Enterprise features or Scylla Open Source features with no match in Apache Cassandra. More on Scylla Features

For all tables below, the following convention is used:

  • ✕ - Not Available in Scylla

  • NC - Available in Scylla, but not compatible with Apache Cassandra

  • ✔ - Available and compatible with Apache Cassandra

Interfaces

Apache Cassandra

Version

Comments

CQL

CQL spec 3.4.0, Native protocol v4 (C* 3.11)

More below

Thrift

Compatible with Cassandra 2.1

SSTable format

3.11(mc), 2.2(la), 2.1.8 (ka)

JMX

3.11

More Below

Configuration (cassandra.yaml)

3.11

Log

NC

Gossip and internal streaming

NC

SSL

NC

Supported Tools

(based on Apache Cassandra 3.11 release)

Features

Consistency Level (read and write)

Options

Support

Any (Write Only)

One

Two

Three

Quorum

All

Local One

Local Quorum

Each Quorum (Write Only)

SERIAL

*

LOCAL_SERIAL

*

* From Scylla 4.0. See Scylla LWT

Snitches

Options

Support

SimpleSnitch

RackInferringSnitch

PropertyFileSnitch

GossipingPropertyFileSnitch

Dynamic snitching

EC2Snitch

EC2MultiRegionSnitch

GoogleCloudSnitch

CloudstackSnitch

Partioners

Options

Support

Murmur3Partitioner (default)

RandomPartitioner

*

OrderPreservingPartitioner

ByteOrderedPartitioner

*

CollatingOrderPreservingPartitioner

* Removed in Scylla 4.0

Protocol Options

Options

Support

Encryption

Authentication

Compression (see below)

Compression

Options

Support

CQL Compression

LZ4

Snappy

Node to Node Compression

Client to Node Compression

Backup and Restore

Options

Support

Snapshot

Incremental backup

Restore

Repair and Consistency

Options

Support

Nodetool Repair

Incremental Repair

Hinted Handoff

Lightweight transactions

*

* From Scylla 4.0. See Scylla LWT

Replica Replacement Strategy

Options

Support

SimpleStrategy

NetworkTopologyStrategy

Security

Options

Support

Role Based Access Control (RBAC)

Indexing and Caching

Options

Support

row / key cache

✕ (More on Scylla memory and cache)

Secondary Index

*

Materialized Views

*

* In Scylla Open Source and Scylla Enterprise from 2019.1

Additional Features

Feature

Support

Counters

User Defined Types

User Defined Functions

*

Time to live (TTL)

Super Column

vNode Enable

✔ Default

vNode Disable

Triggers

Batch Requests

✔ Includes conditional updates

* Experimental

CQL Command Compatibility

Create Keyspace

Feature

Support

DURABLE_WRITES

IF NOT EXISTS

WITH REPLICATION

✔ (see below)

Create Keyspace with Replication

Feature

Support

SimpleStrategy

NetworkTopologyStrategy

OldNetworkTopologyStrategy

Create Table

Feature

Support

Primary key column

Compound primary key

Composite partition key

Clustering order

Static column

Create Table Att

Feature

Support

bloom_filter_fp_chance

caching

✕ (ignored)

comment

compaction

compression

dclocal_read_repair_chance

default_time_to_live

gc_grace_seconds

index_interval

max_index_interval

memtable_flush_period_in_ms

✕ (ignored)

min_index_interval

populate_io_cache_on_flush

read_repair_chance

replicate_on_write

speculative_retry

ALWAYS, NONE

Create Table Compaction

Feature

Support

SizeTieredCompactionStrategy (STCS)

LeveledCompactionStrategy (LCS)

DateTieredCompactionStrategy (DTCS)

*

TimeWindowCompactionStrategy (TWCS)

* Deprecated in Scylla 4.0, use TWCS instead

Create Table Compression

Feature

Support

sstable_compression LZ4Compressor

sstable_compression SnappyCompressor

sstable_compression DeflateCompressor

chunk_length_kb

crc_check_chance

Alter Commands

Feature

Support

ALTER KEYSPACE

ALTER TABLE

ALTER TYPE

ALTER USER

ALTER ROLE

Data Manipulation

Feature

Support

BATCH

INSERT

Prepared Statements

SELECT

TRUNCATE

UPDATE

USE

Create Commands

Feature

Support

CREATE TRIGGER

CREATE USER

CREATE ROLE

Drop Commands

Feature

Support

DROP KEYSPACE

DROP TABLE

DROP TRIGGER

DROP TYPE

DROP USER

DROP ROLE

Roles and Permissions

Feature

Support

GRANT PERMISSIONS

GRANT ROLE

LIST PERMISSIONS

LIST USERS

LIST ROLES

REVOKE PERMISSIONS

REVOKE ROLE

Materialized Views

Feature

Support

MATERIALIZED VIEW

ALTER MATERIALIZED VIEW

CREATE MATERIALIZED VIEW

DROP MATERIALIZED VIEW

Index commands

Feature

Support

INDEX

CREATE INDEX

DROP INDEX

© 2016, The Apache Software Foundation.

Apache®, Apache Cassandra®, Cassandra®, the Apache feather logo and the Apache Cassandra® Eye logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. No endorsement by The Apache Software Foundation is implied by the use of these marks.