Scylla Cassandra Compatibility

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

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.2.1, Native protocol v3 (C* 2.1.8) More below
Thrift Compatible with Cassandra 2.1  
SSTable format 2.1.8  
JMX 2.1.8 More Below
Configuration (cassandra.yaml) 2.1.8  
Log NC  
Gossip and internal streaming NC  
SSL NC  

Supported Tools

  • CQLSh
  • nodetool
  • cassandra-stress
  • cassandra-stressd
  • sstablekeys
  • sstableloader
  • sstablescrub
  • sstableupgrade
  • sstable2json
  • sstablelevelreset
  • sstablemetadata
  • sstablerepairedset
  • token-generator

Features

Feature Options Support
Consistency Level (read and write)    
  Any Yes
  One Yes
  Two Yes
  Three Yes
  Quorum Yes
  All Yes
  Local One Yes
  Local Qurum Yes
  Each quorum Yes
  SERIAL NA (Follow 577 for updates)
  LOCAL_SERIAL NA (Follow 577 for updates)
row / key cache   NC (More on Scylla memory and cache)
Secondary Index   NA (Follow 401 for updates)
Materialized Views   NA (Follow 1141 for updates)
Lightweight transactions   NA (Follow 1359 for updates)
Counters   NA (Follow 577 for updates)
User Define Types   Yes
User Define Functions   NA
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 NA (Follow 1619 for updates)
  CloudstackSnitch NA
Partitioner    
  Murmur3Partitioner (default) Yes
  RandomPartitioner Yes
  OrderPreservingPartitioner NA
  ByteOrderedPartitioner Yes
  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 (not including conditional updates)
Repair Yes  
  Incremental Repair NA
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
  Time Window Compaction Strategy (TWCS) NA (Follow 1432 for updates)
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
BATCH   Yes
CREATE INDEX   NA
CREATE TRIGGER   NA
CREATE USER   Yes
DROP INDEX   NA
DROP KEYSPACE   Yes
DROP TABLE   Yes
DROP TRIGGER   NA
DROP TYPE   Yes
DROP USER   Yes
GRANT PERMISSIONS   Yes
INSERT   Yes
Prepared Statements   Yes
LIST PERMISSIONS   Yes
LIST USERS   Yes
REVOKE PERMISSIONS   Yes
SELECT   Yes
TRUNCATE   Yes
UPDATE   Yes
USE   Yes