Can Memcached Match ScyllaDB? Deep Performance Comparison and Choosing the Right Solution
This article presents a comprehensive benchmark comparing memcached and ScyllaDB across memory, disk, and read‑only workloads, analyzes architectural trade‑offs, and offers practical guidance on when to prefer a simple in‑memory cache versus a persistent wide‑column database.
Motivation and Test Overview
Although caches and databases serve different purposes, both can store data, and modern caches increasingly use flash storage. To quantify their strengths and trade‑offs, the maintainers of ScyllaDB and memcached jointly performed a series of benchmarks covering memory‑level caching, disk‑backed storage, and read‑only workloads.
Memory‑Level Cache Efficiency
Memcached stored roughly 101 billion items in 114 GB of RAM, achieving about 1.01 × 10⁸ items with high memory efficiency. ScyllaDB stored 60–61 million rows before memory pressure caused overload, persisting data to disk while keeping Bloom filters and index caches in memory.
Read‑Only Workload
Both systems use LRU eviction under pressure. Memcached achieved a stable 3 M GETs per second, fully utilizing a 25 Gbps NIC, with p99 latency under 1 ms. ScyllaDB, after data‑model tuning (using clustering keys), processed about 3 M rows per second, also hitting NIC limits, with server‑side p99 latency around 1 ms and client‑side p99 around 0.9 ms.
stat: cmd_get: totalhits: 5503513496
tax: 3060908/s ===
counter mg === 1-10us 0 0.000% 10-99us 343504394 6.238% 100-999us 5163057634 93.762% 1-2ms 11500 0.00021%Disk‑Backed Extstore Tests
Memcached with Extstore stored 1.25 TB of data (≈12.5 billion 1 KB items) before eviction began, achieving an 11× increase over pure‑memory workloads. ScyllaDB stored a comparable number of items but with higher per‑item overhead due to its wide‑column model.
Performance Summary
Both memcached and ScyllaDB fully utilized network and disk bandwidth, keeping latency low and predictable.
Memcached stores more items in memory (≈65 % more) but lacks complex data modeling.
ScyllaDB’s wide‑column design incurs higher per‑item overhead but offers richer query capabilities and persistence.
Choosing Between Them
If your workload fits a simple key‑value model and benefits from pipeline‑friendly high throughput, memcached is typically the better fit. For workloads requiring complex data models, persistence, or distributed replication, ScyllaDB provides greater flexibility at the cost of higher latency and memory overhead.
Consider also the cost of instances, dataset size, and the need for data durability when making a decision.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
