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 includes 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:

  • NA - Not yet Available in Scylla

  • NC - Available, not 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

Feature

Options

Support

Consistency Level (read and write)

Any (Write Only)

Yes

One

Yes

Two

Yes

Three

Yes

Quorum

Yes

All

Yes

Local One

Yes

Local Qurum

Yes

Each Quorum (Write Only)

Yes

SERIAL

Yes. From Scylla 4.0. See Scylla LWT

LOCAL_SERIAL

Yes. From Scylla 4.0. See Scylla LWT

row / key cache

NC (More on Scylla memory and cache)

Secondary Index

YES - from Scylla 3.0 (see 401) AND from Scylla Enterprise 2019.1

Materialized Views

YES - from Scylla 3.0 (see 1141) AND from Scylla Enterprise 2019.1

Lightweight transactions

Yes. From Scylla 4.0. See Scylla LWT

Counters

Yes

Role Based Access Control (RBAC)

Yes

User Defined Types

Yes

User Defined Functions

NA. Experintmal from Scylla 3.3

Time to live (TTL)

Yes

Super Column

NA

Replica placement strategy

SimpleStrategy

Yes

NetworkTopologyStrategy

Yes

Snitch

SimpleSnitch

Yes

RackInferringSnitch

Yes

PropertyFileSnitch

NA

GossipingPropertyFileSnitch

Yes

Dynamic snitching

NA

EC2Snitch

Yes

EC2MultiRegionSnitch

Yes

GoogleCloudSnitch

Yes (from Scylla 2.2)

CloudstackSnitch

NA

Partitioner

Murmur3Partitioner (default)

Yes

RandomPartitioner

NA - Removed in Scylla 4.0

OrderPreservingPartitioner

NA

ByteOrderedPartitioner

NA - Removed in Scylla 4.0

CollatingOrderPreservingPartitioner

NA

Protocol options

Compression

Yes (see below)

Encryption

Yes

Authentication

Yes

Authorization

Yes

CQL Compression

LZ4

Yes

Snappy

Yes

Internode Compression

Yes

vNode Enable

Yes, default

vNode Disable

NA

Triggers

NA

Batch Requests

Yes (including conditional updates)

Repair

Nodetool Repair

Yes

Incremental Repair

NA

HintedHandoff

Yes - from Scylla 3.0

Backup / Restore

Snapshot

Yes

Incremental backup

Yes

Restore

Yes

CQL

Feature

Options

Support

CREATE KEYSPACE

Yes

WITH REPLICATION

Yes (see below)

DURABLE_WRITES

Yes

IF NOT EXISTS

Yes

CREATE KEYSPACE REPLICATION Class

SimpleStrategy

Yes

NetworkTopologyStrategy

Yes

OldNetworkTopologyStrategy

NA

CREATE TABLE

Yes

Primary key column

Yes

compound primary key

Yes

composite partition key

Yes

clustering order

Yes

static column

Yes

CREATE TABLE Att

Yes

bloom_filter_fp_chance

Yes

caching

NA (ignored)

comment

Yes

compaction

Yes (see below)

compression

Yes (see below)

dclocal_read_repair_chance

Yes

default_time_to_live

Yes

gc_grace_seconds

Yes

index_interval

NA

max_index_interval

Yes

memtable_flush_period_in_ms

NA (ignored)

min_index_interval

Yes

populate_io_cache_on_flush

NA

read_repair_chance

Yes

replicate_on_write

NA

speculative_retry

ALWAYS, NONE

CREATE TABLE compaction

SizeTieredCompactionStrategy (STCS)

Yes

LeveledCompactionStrategy (LCS)

Yes

DateTieredCompactionStrategy (DTCS)

Yes. Depricated in Scylla 4.0

TimeWindowCompactionStrategy (TWCS)

Yes

CREATE TABLE compression

sstable_compression LZ4Compressor

Yes

sstable_compression SnappyCompressor

Yes

sstable_compression DeflateCompressor

Yes

chunk_length_kb

Yes

crc_check_chance

NA

CREATE TABLE compression

ALTER KEYSPACE

Yes

ALTER TABLE

Yes

ALTER TYPE

Yes

ALTER USER

Yes

ALTER ROLE

Yes

BATCH

Yes

CREATE TRIGGER

NA

CREATE USER

Yes

CREATE ROLE

Yes

DROP KEYSPACE

Yes

DROP TABLE

Yes

DROP TRIGGER

NA

DROP TYPE

Yes

DROP USER

Yes

DROP ROLE

Yes

GRANT PERMISSIONS

Yes

GRANT ROLE

Yes

INSERT

Yes

Prepared Statements

Yes

LIST PERMISSIONS

Yes

LIST USERS

Yes

LIST ROLES

Yes

REVOKE PERMISSIONS

Yes

REVOKE ROLE

Yes

SELECT

Yes

TRUNCATE

Yes

UPDATE

Yes

USE

Yes

INDEX

Yes - from Scylla 3.0

CREATE INDEX

Yes

DROP INDEX

Yes

MATERIALIZED VIEW

Yes

ALTER MATERIALIZED VIEW

Yes

CREATE MATERIALIZED VIEW

Yes

DROP MATERIALIZED VIEW

Yes

© 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.