ScyllaDB
ScyllaDB 是一個開放原始碼的分散式 NoSQL 廣列資料儲存器(wide-column data store)。它被設計為與 Apache Cassandra 相容,同時達到顯著更高的吞吐量和更低的延遲。它支援與 Cassandra 相同的通訊協定 (CQL 和 Thrift) 以及相同的檔案格式 (SSTable),但卻是完全重寫的實作,使用 C++20 語言取代 Cassandra 的 Java,並使用 Seastar[1] 異步程式設計函式庫取代經典的 Linux 程式設計技術,例如線程、共用記憶體和映射檔案。除了實作 Cassandra 的通訊協定外,ScyllaDB 也實作 Amazon DynamoDB API。[2]
開發者 | ScyllaDB Inc. |
---|---|
首次發布 | 2015年9月22日 |
當前版本 | ScyllaDB Open Source 6.0.2(2024年7月29日 | )
預覽版本 | 6.1 RC1(2024年7月30日 | )
源代碼庫 | |
編程語言 | C++ |
操作系統 | Linux |
類型 | 分布式數據庫,Data store |
許可協議 | GNU AGPL |
網站 | www |
ScyllaDB 在每個節點上使用分片設計(Sharded design),意即每個 CPU 核心處理不同的資料子集。核心不會共用資料,而是在需要時明確地溝通。ScyllaDB 的作者宣稱,這種設計讓 ScyllaDB 在現代的 NUMA SMP 機器上達到更好的效能,並能隨著核心數量的增加而擴充。他們在單一機器上測得每秒有高達 200 萬個請求、[3] 並聲稱 ScyllaDB 叢集所提供的服務可達到 Cassandra 叢集 10 倍大小的要求,而且延遲時間更短。[4] 獨立測試並不總是能夠證實吞吐量提升 10 倍,有時候測得的速度提升較小,例如 2 倍。[5] 來自 Samsung 的 2017 年基準觀察到在高階機器上的 10 倍速度提升 - Samsung 基準報告指出,ScyllaDB 在 24 核心機器的集群上表現優於 Cassandra,差異幅度為 10-37 倍,視 YCSB 工作負載而定。[6]
ScyllaDB 可在企業內部、主要公有雲供應商或以 DBaaS (ScyllaDB Cloud) 形式提供。
歷史
編輯ScyllaDB 由初創公司 Cloudius Systems(後更名為 ScyllaDB Inc.,更早以前也因創立OSv而聞名於世。 共同創辦人為 Avi Kivity 和 Dor Laor。ScyllaDB 於 2015 年 9 月以開放原始碼的形式釋出、[7] 並採用 AGPL 授權。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, ScyllaDB and Samsung NVMe SSDs Accelerate NoSQL Database Performance (PDF), Samsung Semiconductor Inc.: 12, February 2017 [2019-02-07]
- ^ "Cassandra Rewritten In C++, Ten Times Faster", September 22, 2015, Slashdot
外部連結
編輯- Scylla public GitHub repository, with source code repository and bug tracker
- ScyllaDB Inc. homepage