Home / Companies / ScyllaDB / Blog / Post Details
Content Deep Dive

Inside ScyllaDB’s Internal Cache

Blog post from ScyllaDB

Post Details
Company
Date Published
Author
Tomasz Grabiec
Word Count
2,533
Language
English
Hacker News Points
-
Summary

ScyllaDB employs a specialized row-based cache that completely bypasses the Linux page cache to enhance performance, particularly for real-time and latency-sensitive applications. Built on the Seastar framework, ScyllaDB's architecture leverages a shard-per-core and shared-nothing asynchronous model, enabling low-latency reads and providing users with comprehensive visibility into cache operations such as hits, misses, and evictions. By not relying on the Linux page cache, which is less efficient for database-specific needs and can lead to high read amplification due to its 4KB chunk size, ScyllaDB's internal cache allows for dynamic tuning according to workload demands, avoiding the complexities associated with multiple caching mechanisms found in Apache Cassandra. The system's object cache design optimizes memory usage and CPU overhead by storing actual row objects rather than 4KB buffers, and it is integrated into ScyllaDB's thread-per-core architecture, which ensures efficient data handling without the need for complex concurrency controls. This approach not only improves performance but also reduces the need for external caches, making ScyllaDB a more streamlined and cost-effective solution.