Since its inception, Scylla has offered a compelling alternative to Apache Cassandra, providing better performance for a lower cost of ownership.
With Scylla Open Source 4.0 we continue to extend our CQL interface features and capabilities and also now provide an open source alternative to DynamoDB, allowing you to run your workloads anywhere, on any cloud provider, or on premises.
Join ScyllaDB co-founders, CTO Avi Kivity and CEO Dor Laor, for a look at the new features in Scylla Open Source 4.0, and architectural and cost comparisons with the coming Cassandra 4.0.
Topics will include:
Improved consistency with our new Lightweight Transactions
Scylla Operator for Kubernetes
How we stack up against Apache Cassandra 4.0
Our “run anywhere” DynamoDB alternative
1. Dor Laor, ScyllaDB Co-Founder & CEO
Avi Kivity, ScyllaDB Co-Founder & CTO
Introducing Scylla
Open Source 4.0
2. Dor Laor
Dor Laor is the CEO of ScyllaDB. Previously, Dor was part of the founding team of the KVM
hypervisor under Qumranet that was acquired by Red Hat. At Red Hat Dor was managing the KVM
and Xen development for several years. Dor holds an MSc from the Technion and a Phd in
snowboarding.
Avi Kivity
Avi Kivity, CTO of ScyllaDB, is known mostly for starting the Kernel-based Virtual Machine (KVM)
project, the hypervisor underlying many production clouds. He has worked for Qumranet and Red
Hat as KVM maintainer until December 2012. Avi is now CTO of ScyllaDB, a company that seeks to
bring the same kind of innovation to the public cloud space.
Presenters
3. Agenda
■ Alternator: DynamoDB-Compatible API
■ Lightweight Transactions
■ CDC
■ Repair Improvements
■ Scylla Operator for Kubernetes
■ Comparing Scylla 4.0 to Cassandra 4.0
4. Scylla Alternator: DynamoDB-Compatible API
■ Part of Scylla core, not a layer
■ Fits well to the Scylla model: Yet ‘another’
columnar database
■ Drop-in replacement for DynamoDB
■ Open source!
■ Consumable through
{git, gcc, docker, k8s, rpm, DBaaS}
5. Scylla Alternator: Why Use?
■ Substantially better price/performance
■ Better tail latency
■ Easy development – docker & laptop
■ It’s OPEN
■ Multi-cloud, hybrid-cloud, your own cloud
■ Observability: Prometheus and Grafana
■ No limits on object sizes, partition sizes, etc.
■ No throttled requests
■ Workload consolidation
■ Workload prioritization (coming)
6. Scylla Alternator: When to Use?
■ Docker image – Easy & cheap development
■ Leave one datacenter on DynamoDB, others on ScyllaDB
■ Scylla Cloud – Easy managed database
■ Ultimately – Always!
7. Protocol Comparison: DynamoDB API vs CQL
■ We recently covered it in this blog post
■ HTTP native vs CQL
■ HTTP lack of request multiplexing
■ Textual vs. binary protocol
■ CQL prepared statement
■ CQL topology awareness
■ CRDT vs RMW, LWT
■ Schema-full vs. schema-less
■ Keyspaces vs. single table design
8. Lightweight Transactions – Linearizability
■ Long anticipated, finally, feature parity ;)
■ Based on Paxos implementation, like Cassandra
■ 3 round trips vs Cassandra’s 4
■ More improvements
9. CQL Conditional Statement
> UPDATE employees SET join_date = '2018-05-19'
WHERE firstname = 'John' AND lastname = 'Doe'
IF join_date != null;
[applied]
-----------
False
9
10. Conditional Batches
BEGIN BATCH
UPDATE tasks SET n_abandoned = 0 WHERE project_id = 1
IF n_abandoned > 0
DELETE FROM tasks WHERE project_id = 1
AND state = 'Abandoned'
APPLY BATCH;
10
11. Lightweight Transactions
■ 3 round trips vs Cassandra’s 4
■ Shard-aware driver
■ Safe/durable commitlog by default
with the best performance
■ Good observability
12. Change Data Capture – CDC
Consumable modification record for one
or more tables in the database
■ Capture changes (write/update/delete)
■ Asynchronously readable by a consumer
■ Using CQL statements, protocol, and driver
■ Table level Granularity
■ Highly Available
■ Persistent
■ (Eventually) Consistent
16. Comparison Chart
Cassandra DynamoDB MongoDB Scylla
Consumer location on-node off-node off-node off-node
Replication duplicated deduplicated deduplicated deduplicated
Deltas yes no partial yes
Pre-image no yes no optional
Post-image no yes yes optional
Slow consumer reaction Table stopped Consumer loses data Consumer loses data Consumer loses data
Ordering no yes yes yes
Filtering no no ? yes
17. CDC under the Hood
■ CDC tables use TWCS
● TWCS major compaction (unrelated to CDC)
■ CQL Bypass cache – per query bypass hint for standard CQL
■ New: CDC table shouldn’t be cached – Per table settings
30. Resources
■ Download Scylla Open Source
■ Scylla University
■ Test Drive
■ On-Demand Webinars
● Lightweight Transactions
● Change Data Capture (CDC)
● Scylla’s DynamoDB Compatible API
We’ll soon email you these links and the recording