ScyllaDBのトライ木ベースインデックスが最大3倍のスループットを実現
ScyllaDBは、新しいトライ木ベースのインデックス方式を導入し、従来のB-Treeベースの実装と比較して最大3倍のスループット向上を達成した。この新しいインデックスは、メモリ使用量の削減とキャッシュ効率の向上により、特に書き込み負荷の高いワークロードで顕著なパフォーマンス改善を示している。
背景メモ
- ScyllaDBはC++で書かれた高性能NoSQLデータベース。Amazon DynamoDBやApache Cassandraと互換性があるが、レイテンシとスループットで優位に立つよう設計されている。
- この発表の要点は、従来のLSMツリー(ログ構造化マージツリー)に代わる新しいインデックス機構「Trie-Based Index」を導入したこと。これにより書き込み/読み込みスループットが最大3倍向上するという。
- LSMツリーはCassandraやScyllaDBが長年採用してきた標準的なデータ構造だが、コンパクション(バックグラウンドでのマージ処理)がボトルネックになりがちだった。新インデックスはこのオーバーヘッドを削減する。
- トライ(Trie)はキーの共通プレフィックスを共有する木構造で、メモリ効率が高く、範囲クエリやプレフィックス検索が高速。ScyllaDBはこのトライをディスク上のインデックス構造として独自に実装した。
- この改善は、リアルタイム分析、IoT、広告テック、ゲームなど、低レイテンシかつ大量の書き込みを扱うユースケースで特に大きな恩恵がある。