How Teads scale with Apache Cassandra.
Internet scale means tons of data, read heavy workload, massive data ingestion and low latency.
The French AdTech company Teads uses Cassandra massively, a reliable and performant Open Source database.
Spawning Cassandra nodes in AWS is a piece of cake with Terraform and Chef.
8. Workload
Different kinds of workloads
but all of them are latency sensitive
Internet scale
Massive amount of data ingested from partners
We also create lots of data by ourselves
No more analytics
● Tons of business critical counters
● Time series
● TTL, TTL, TTL
9. 3 years ago
1 million qps
Write heavy
Analytics stack
19. Why not EBS?
No more EBS
Cheap storage, great for STCS
Snapshots (S3 backup)
No coupling between disks and CPU/RAM
High latency, high I/O wait
Throughput: 160 MB/s
Unsteady performances
21. Ops Workflow
More on https://medium.com/teads-engineering/easy-cassandra-scaling-with-terraform-chef-rundeck-9443e0375aa7
Scale out
Scale in
Any changes
36. Fork motivation
1. Need to add a patch ASAP
High Blocked NTR CASSANDRA-11363
2. Why not backport interesting tickets?
3. Why not add small features/fixes?
Expose tasks queue length via JMX CASSANDRA-12758
38. Custom feature:
Securing a legacy cluster without any downtime
Allow to create roles prior to use
standard auth stack
● AllowAnyCredentialsAuthenticator
○ "User '{}' has been authenticated without password checking"
● UnsecureAutoLoginCassandraRoleManager
○ Allow any non-existing role to login: "Auto login of role '{}'"
○ If a role exists standard checking will be done.
● UnsecureCassandraAuthorizer
○ Authorize DML on any resource for any authenticated user.
○ Super users will be given all permissions i.e. DML, DDL and DCL.
● No spam logs
39.
40. One-liner of the year 2016
CASSANDRA-12580: Fix Merkle tree size calculation
Paulo Motta: log2 vs ln
41. Fix Merkle tree size calculation
“How do you repair 45TB of data
within gc grace period?”
For a subset of tables:
● Before: 23 days
● With CASSANDRA-12580: 16 hours
43. Can’t upgrade?
Quick reaction
High Blocked NTR ticket has been released in 2.1 but you
need to wait after a release
Stability, reliability
Critical counters
e.g. CASSANDRA-14958