ScyllaDB基于字典树的索引实现高达3倍的吞吐量提升
ScyllaDB推出了基于字典树(Trie)的新型索引技术,相比传统索引方案,可将吞吐量提升多达3倍。该索引通过优化数据结构和内存访问模式,显著提高了查询性能和系统效率,适用于大规模分布式数据库场景。
背景速读
- ScyllaDB 是一款高性能 NoSQL 数据库,兼容 Apache Cassandra 的 API(即用 Cassandra 的客户端工具可直接连上 ScyllaDB 使用),但底层用 C++ 重写,以取代 Cassandra 的 Java 实现,追求更低的延迟和更高的吞吐量。
- 本文介绍的是 ScyllaDB 刚推出的一种新索引结构,用 "trie"(字典树/前缀树)替代了原先基于 LSM-Tree 的索引。ScyllaDB 称,这种新索引在写入和读取上可带来最高 3 倍的吞吐量提升,同时减少了磁盘 I/O 和 CPU 开销。
- Trie 索引的价值在于:NoSQL 数据库通常以键值对存储数据,索引是定位数据位置的核心组件。传统 LSM-Tree 索引在写入量大时会产生大量磁盘碎片和合并(compaction)开销,而 trie 结构更紧凑、查询路径更短,尤其适合时序日志、IoT 设备数据等以有序主键写入的场景。
- 对读者来说,这意味着 ScyllaDB 希望用这项技术吸引更多需要高写入性能和大规模时序数据处理的用户,与同类竞品(如 AWS Keyspaces、DataStax Enterprise、YugabyteDB 等)形成差异。