ScyllaDB
ScyllaDB はオープンソースの分散NoSQLワイドカラムデータストアの一つである。Apache Cassandraと互換性のあるよう設計されると同時に大幅に高いスループットと低いレイテンシーを実現している。Cassandraと同じプロトコル (CQL及びThrift) 及び同じファイル形式 (SSTable) をサポートするものの、完全に書き直された実装となっており、Cassandra で採用されている Java言語 の代わりに C++20 言語を使用しているほか、スレッド、共有メモリ、マップトファイルのような古典的Linuxプログラミング技術を置き換えるSeastar[1]非同期プログラミングライブラリを使用している。Cassandraのプロトコルを実装することに加えて ScyllaDB は Amazon DynamoDB API も実装している[2]。
| 開発元 | ScyllaDB Inc. |
|---|---|
| 初版 | 2015年9月22日 |
| 最新版 |
ScyllaDB Open Source 5.0
/ 2022年7月7日 |
| リポジトリ | |
| プログラミング 言語 | C++ |
| 対応OS | Linux |
| 種別 | ワイドカラムデータストア |
| ライセンス | GNU AGPL |
| 公式サイト | https://www.scylladb.com/ |
ScyllaDB は各ノードでシャード設計を使用しており、これは各CPUコアがデータ中の異なるサブセットを処理することを意味している。CPUコアはデータを共有せず、必要な時に明示的に通信する仕組みとなっている。ScyllaDB の作者らはこの設計が近代的なNUMA SMPマシンでの遥かに良いパフォーマンスの記録と、多コアでの非常に良いスケールを可能にすると主張している。彼らは単一マシンで200万リクエスト毎秒という数値を測定したこともあり[3]、また ScyllaDB クラスタはサイズが10倍の Cassandra クラスタと同じくらいのリクエストを処理でき、より低いレイテンシでそれが可能であると主張している[4]。独立したテストではこのような10倍ものスループット向上を常に認めることはできず、時には2倍などの小さな速度向上しか測定されないこともあった[5]。サムスンによる2017年のベンチマークではハイエンドマシンにおいて10倍もの速度向上が観測され、このベンチマークでは24コアマシンのクラスタ上において YCSB のワークロードに応じて10から37倍の範囲で ScyllaDB が Cassandra を凌駕したと報告している[6]。
ScyllaDB はオンプレミス、大手パブリッククラウド提供者、または DBaaS (ScyllaDB Cloud) で提供されている。
歴史
ScyllaDB は2014年12月にOSvの製作で知られていたベンチャー企業 Cloudius Systems (後の ScyllaDB Inc.) によって開始された。ScyllaDBは2015年9月にAGPLの下でオープンソースとしてリリースされた[7]。ScyllaDB Inc.の従業員は引き続きScyllaを支持する主要なコーダーとなっているが、その開発は公開されており、パブリックなGitHubリポジトリとメーリングリストを使用している。
出典
- Seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware.
- ScyllaDB Secures $25 Million to Open Source Amazon DynamoDB-compatible API
- ScyllaDB: Cassandra compatibility at 1.8 million requests per node by Don Marti (then a ScyllaDB Inc. employee), presented at the Fourteenth Annual Southern California Linux Expo, January 24, 2016.
- YCSB cluster benchmark, on the ScyllaDB Inc. website, read February 19, 2017.
- ScyllaDB vs Cassandra: towards a new myth?, by Marc Alonso and Thomas Mouron on the octo.com website, December 15, 2015.
- Rezaei, Arash; Guz, Zvika; Balakrishnan, Vijay (February 2017) (PDF), ScyllaDB and Samsung NVMe SSDs Accelerate NoSQL Database Performance, Samsung Semiconductor Inc., p. 12 2019年2月7日閲覧。
- "Cassandra Rewritten In C++, Ten Times Faster", September 22, 2015, Slashdot
- How Discord Stores Trillions of Messages Discord 2023年3月6日