Skip to main content
DynamoDB to ScyllaDB
Technical Comparison and the Path to Success
Ditch the
DynamoDB Tax
Guilherme Nogueira
Guilherme Nogueira
2
+ A.K.A. Gui
+ Technical Director
+ Previously Solutions Architect at ScyllaDB
+ Helping DB users at scale
Question: What is the biggest challenge you currently face with your
DynamoDB workloads?
● Unpredictable or spiraling costs at scale
● Performance bottlenecks
● Vendor lock-in
● None of the above – it runs perfectly
3
Poll time
+ Key reasons users ditch DynamoDB
+ ScyllaDB for DynamoDB workloads
+ Migration Overview
+ Migration Stories
+ Cost
+ Takeaways
Presentation Agenda
4
Key reasons users
ditch DynamoDB
5
Bill shock
+ Scales with workload
+ But more often than not, surprises users
+ In most of the cases
+ 2x payload = 2x cost
+ Simple, right?
+ Writes costs 5x more than reads
+ Cost multipliers:
+ Indexes, Global Tables, DAX…
Provisioned
On-Demand
6
Cost Modes
+ Complex to continuously get right 󰷺
+ Start small, on-demand
+ Workload scales == $$
+ No way to mix and match
7
Performance
+ Single-digit ms read p99 relies on DAX
+ DAX == $$
+ Autoscaling is slow
+ Throttling
+ Capacity modes are rigid
+ On-demand scales well, costs a lot
+ Item limits
+ 400Kb per item
8
Vendor lock-in
+ AWS ecosystem seamless integration
+ Harder to leave
+ Cloud Agnosticity
+ Insecure (at worst)
+ Requires specialized networking (at best)
+ Slower
+ Expensive
+ Serve customers locally on other Clouds /
regions / on-premises
9
Question: If you had total freedom, where would you ideally want to run your
high-throughput NoSQL database?
● Fully managed DBaaS on my preferred cloud provider
● A multi-cloud environment (distributing risk across AWS, GCP, Azure).
● On-premises or on my own bare-metal servers
● Kubernetes, wherever my clusters happen to live
10
Poll time
ScyllaDB for DynamoDB
workloads
11
Efficiency
Shard-per-core Workload
Prioritization
Built-in cache Capacity-based
Pricing
Throttling-free
Scaling
Cloud agnostic
12
ScyllaDB's DynamoDB-compatible API
+ Native DynamoDB API
+ Same efficiency
+ Works as-is
+ No changes to table or queries
13
+ Run anywhere
+ Any cloud, VM, k8s, bare metal
+ Tables, Indexes, Streams
+ Types, drivers
Migration Overview
14
High level migration
Using Scylla Migrator (Spark-based, open source)
+ Config (point to a table and Alternator cluster)
+ Alternatively, DDB backup S3 bucket
+ Start Migrator
+ Enables Streams
+ Migrates data
+ Scans
+ S3 reads
+ Replay Streams
+ Switch application over to Alternator
+ Done!
15
Streaming Migration
Source https://www.scylladb.com/2020/09/02/one-step-streaming-migration-from-dynamodb-into-scylla/
16
Migration Stories
17
+ Ad-tech company
+ Billions ad auctions/day
+ Ad delivery SLA 200-300ms
+ DB <10ms
+ 3TB table (28 billion objects)
+ Pains:
+ Unsustainable scaling costs
+ Deploy to other Cloud Providers
+ Cloud lock-in
+ With ScyllaDB
+ POC'd and migrated to Alternator
+ 50% cost reduction
+ Enabled Multi-Cloud
18
Yieldmo cut costs staying on AWS
Digital Turbine’s path to GCP
Digital Turbine migrated from DynamoDB to ScyllaDB Alternator on GCP
+ Full POC (+ app failover) until team was comfortable
+ Ease of migration
+ No application refactor
+ Reduce cost (20% cost reduction upfront, with opportunity for more)
+ Better performance
+ ScyllaDB Alternator cluster, ~2,000 ops/sec (90% reads , 10% Writes)
+ Leveraging DynamoDB API
+ DynamoDB ~1,400 ops/sec (90% reads , 10% Writes)
+ Observed light throttling on the DynamoDB side
+ 6 regions, 3 environments
19
+ Use-cases:
+ Continue watching
+ Pings every 30s
+ Write-heavy
+ Watch status
+ Pains:
+ Read latency vs cost
+ Write throughput
+ Database must replicate traffic
Streaming Service migration
+ Challenges:
+ No service disruption
+ Cloud-native
+ Highly-available
+ Global replication on a single cluster
+ Migration to ScyllaDB:
+ CQL for more flexibility
+ Single cluster
+ 5 Regions (USA/EU)
https://www.scylladb.com/tech-talk/why-we-chose-scylladb-over-dynamodb-for-user-watch-status/
20
EV Manufacturer, path to on-premises
+ Self-driving vehicles
+ North America-based
+ Company-wide mandate to drop AWS
+ Huge DynamoDB usage
+ Multiple Petabytes
+ Write-heavy
+ Large payload
+ Read-Modify-Write
+ Increasing over time
+ Plans to scale massively
+ ScyllaDB Enterprise
+ On-premises, own data centers
+ Long period of Cloud/on-prem
+ Massive nodes
+ 256 vCPUs
+ 2TB RAM
+ 160TB
+ Super fast local networking
+ Tradeoffs: CQL or Alternator?
+ Needed to save on network
+ Free networking between racks on-prem
21
North-American Streaming Service
+ Old company, newer service
+ On AWS, but planning move to OCI
+ Single-digit ms on DynamoDB is expensive
+ DAX on a large dataset
+ Random access pattern
+ Challenges with 3 use-cases
+ Click Management
+ Ad Bidding
+ Identity Management System
+ Feature Store
+ Tradeoff: self-managed
or ScyllaDB Cloud?
+ Performance goal achieved
+ 2ms P99 reads
+ No streaming pipeline backlog
+ Multi-Cloud path unlocked
+ AWS -> current
+ OCI -> future
+ Cost slashed by more than 50%
22
ZEE, largest India media conglomerate
+ ~150M monthly active users across 190+ countries
+ +100 billion heartbeats per day
+ Track user playback
+ "Continue Watching"
+ Title viewership metrics
+ Original design: DynamoDB, RDS, Solr, Redis
+ ScyllaDB = combined cache + persistence in one layer, cloud neutrality,
multi-cloud readiness, and sub-millisecond latency guarantees.
+ 5X cost reduction
+ Single-digit ms latency
https://www.scylladb.com/tech-talk/tracking-millions-of-heartbeats-on-zees-ott-platform/
23
Speaking of cost…
24
Workload Cost Calculator
https://calculator.scylladb.com 25
Question: If you were to migrate your DynamoDB workload to ScyllaDB
tomorrow, what would be your primary driving factor?
● Slashing our monthly infrastructure bill by at least 50%
● Guaranteeing predictable, single-digit millisecond latency at millions of
ops/sec
● Gaining the flexibility to migrate off AWS if our business needs change
● Honestly, I'd need to see a proof of concept first
26
Poll time
Takeaways
27
Takeaways
+ Key reasons for migrating off:
+ Cost
+ Performance
+ Lock-in
+ Users feel locked by their DB
+ ScyllaDB solves all 3
+ And adds much more features
28
Guilherme Nogueira
guilherme.nogueira@scylladb.com
@hopugop
Stay in Touch
29
Thank you
for joining us today.
@scylladb scylladb/
slack.scylladb.com
@scylladb company/scylladb/
scylladb/
Real-time AI search engine
+ Search Cache within AI platform
+ 14KB average item size
+ Challenges:
+ Cost
+ Performance
+ >400KB items
+ ScyllaDB Cloud
+ 50-200 items/batch @ 14KB each
+ 10ms per read batch
+ 80K reads/s
+ Lessons learned:
+ Future proof infra
+ Scale payload
+ Without scaling cost 31
TODO
Replace with a non-churn
:lolsob