BlogsScyllaDBSystem Scalability Design

System Scalability Design

System Scalability Design

15
posts
2026

This post details how Medium evolved its feature store to handle real-time recommendations at 1M OPS by migrating from a relational features data model to a list-based approach using ScyllaDB. This change was driven by the need for efficient storage and retrieval of time-series interaction data (e.g., stories read, recommendations shown) to maintain relevance for users. The new model leverages ScyllaDB's capabilities to store lists of relation IDs with timestamps, enabling faster querying and better performance for recommendation systems. The post highlights the challenges of scaling with relational models and the benefits of ScyllaDB for high-throughput, low-latency data access in such scenarios.

2026

How Medium Powers Real-Time Recommendations at 1M OPS

8/11/2026

This post details Medium's migration from a relational features data model to a list-based approach within their ScyllaDB-powered feature store to support real-time recommendations at 1M OPS. It explains the limitations of the previous relational model for handling time-series interaction data and introduces the new list-based schema in ScyllaDB, which stores lists of relation IDs with timestamps. This change enables more efficient querying and retrieval of user interaction history, crucial for personalized recommendations.

DDIA 2nd Edition Excerpt: On Scalability

8/4/2026

This post is an excerpt from 'Designing Data-Intensive Applications Second Edition' and discusses the fundamental concepts of scalability in the context of data-intensive systems. It defines scalability as a system's ability to handle increased load and emphasizes that it's a nuanced topic, not a simple yes/no attribute. The authors advise against premature optimization for hypothetical future scale, suggesting that engineers should focus on simplicity and flexibility in early stages. They propose that scalability becomes a critical concern when an application's success leads to significant load growth, necessitating an understanding of performance bottlenecks and the options for adding computing resources. The post also touches upon the importance of understanding current load metrics to inform future scaling decisions.

Lessons Learned from Real-World NoSQL Database Migrations

7/28/2026

This post provides practical insights into NoSQL database migrations, specifically detailing a migration from DynamoDB to ScyllaDB. It elaborates on the challenges of out-of-order writes, the strategy of dual-writing during migration, and the importance of understanding subtle differences between similar databases. The author also mentions the use of ScyllaDB Migrator and the considerations for record versioning and data compression.

What Matters Most for NoSQL Migrations

7/21/2026

This post elaborates on NoSQL database migration strategies, detailing the importance of schema tuning, data migration, and data validation. It outlines online and offline migration approaches and discusses techniques for capturing and replaying database changes using tools like Dynamo Streams, Kafka, and CDC. The post also highlights the significance of understanding database differences and data modeling for successful migrations, referencing a masterclass on NoSQL data modeling for performance.

Build Durable Chat Memory for RAG Using ScyllaDB and LangChain

7/14/2026

This post demonstrates integrating ScyllaDB Vector Search with LangChain for RAG use cases and using ScyllaDB as a durable conversation memory within LangChain. It highlights ScyllaDB's benefits for AI applications, including high availability, predictable P99 latency, and horizontal scalability, and mentions the reuse of the Cassandra connector for integration.

Agent Memory at Monster Scale with Mem0 and ScyllaDB Cloud

7/7/2026

This post introduces the integration of Mem0's memory management framework with ScyllaDB Cloud for large-scale AI agent applications. It highlights ScyllaDB Cloud's suitability for global, high-throughput, low-latency vector search, emphasizing its high availability and P99 guarantees as critical for the persistence layer of AI agent memory. The post details how Mem0 extracts and stores facts as vector embeddings, and how ScyllaDB Cloud serves as the distributed database infrastructure for this memory layer.

ScyllaDB vs Aerospike, Wide-Column vs. Key/Value

7/6/2026

This post compares ScyllaDB's wide-column (KKV) data model with Aerospike's key-value (KV) model. It explains the architectural differences, focusing on clustering keys in ScyllaDB enabling advanced access patterns like time-series data and messaging. The post argues that ScyllaDB's flexibility does not compromise performance and can even outperform Aerospike in specific workloads, despite Aerospike's optimized KV design. It also mentions ScyllaDB's development of a pure K/V option.

How ScyllaDB’s Trie-Based Index Delivers Up to 3X More Throughput

6/30/2026

Introduced a trie-based SSTable index format to replace the legacy three-layer lookup (me/md) format. This change optimizes cache efficiency, reduces disk I/O, and lowers memory overhead by using a prefix tree structure for indexing. Benchmarks demonstrate up to 3X higher throughput and significantly lower latency for read workloads.

ScyllaDB 2026.2: DynamoDB Streams and Vector Search, Trie Indexes, and Strongly Consistent Tables

6/29/2026

Introduces DynamoDB compatible API (Alternator) enhancements, including DynamoDB Streams compatibility (now GA) and a Vector Search extension. Discusses performance improvements with Trie index as the default and connection storm mitigation. Mentions experimental features like Strongly Consistent Tables and vNode-to-Tablet online migration.

Automate ScyllaDB X Cloud Clusters with Terraform

6/16/2026

This post introduces the ScyllaDB Cloud Terraform provider's support for ScyllaDB X Cloud, enabling infrastructure-as-code for elastic, autoscaling clusters. It explains X Cloud's tablets-based architecture for faster scaling and details the configuration of scaling policies (instance_families, storage_policy, vcpu_policy) within the Terraform provider to provision and manage X Cloud clusters programmatically.

ScyllaDB Operator 1.21 Release — with Oracle Kubernetes Engine (OKE) Support

6/10/2026

The ScyllaDB Operator 1.21 release adds support for Oracle Kubernetes Engine (OKE), including comprehensive documentation and an automated setup script for infrastructure provisioning. It also introduces ECDSA as an alternative key type for TLS certificates, configurable via flags, and makes the Prometheus Operator an optional dependency.

Using Salting to Lower Latency for Large Blobs in ScyllaDB

6/2/2026

Introduces a modified salting technique for handling large blobs in ScyllaDB, demonstrating a 22x reduction in P99 write latency for 60MB blobs compared to default behavior. The technique involves splitting blobs into smaller chunks for parallel processing to mitigate memory saturation and head-of-line blocking issues.

ScyllaDB Elastic Scaling in Action [Demo]

5/27/2026

This post demonstrates the practical application of ScyllaDB X Cloud's elastic scaling capabilities, specifically showcasing a 10x scale-out from 100K ops/sec to 1M ops/sec in under 23 minutes, maintaining single-digit millisecond P99 latency. It also details the rapid scale-down process after peak workload. The demo highlights the efficiency of the tablets architecture in rebalancing data and serving requests during dynamic scaling events, emphasizing the ability to scale up and down rapidly to match fluctuating workloads without significant downtime or performance degradation.

Apache Cassandra Performance Tuning: What We Learned

5/19/2026

This post consolidates learnings from tuning Apache Cassandra for performance, emphasizing the need for deep understanding of configuration parameters and the architectural differences between ScyllaDB and Cassandra. It highlights that Cassandra's configuration comments can be misleading and that tuning requires environment-specific adjustments. The post also points to ScyllaDB's own performance comparison methodologies and resources.

“Key-Value” is Misleading. Access Patterns are Key.

5/14/2026

This post elaborates on the importance of access patterns in database selection and data modeling, contrasting different data models (Key-Value, Wide-Column) and their implications for performance, I/O costs, and infrastructure spend. It highlights how ScyllaDB's architecture can accommodate various levels of access pattern depth, from simple key-value stores to more complex wide-column structures, and emphasizes that understanding application read/write behavior is crucial for optimal performance and cost-efficiency.