ScyllaDB

ScyllaDB 是一個開放原始碼的分散式 NoSQL 廣列資料儲存器(wide-column data store)。它被設計為與 Apache Cassandra 相容,同時達到顯著更高的吞吐量和更低的延遲。它支援與 Cassandra 相同的通訊協定 (CQL 和 Thrift) 以及相同的檔案格式 (SSTable),但卻是完全重寫的實作,使用 C++20 語言取代 Cassandra 的 Java,並使用 Seastar 異步程式設計函式庫取代經典的 Linux 程式設計技術,例如線程、共用記憶體和映射檔案。除了實作 Cassandra 的通訊協定外,ScyllaDB 也實作 Amazon DynamoDB API。

ScyllaDB 在每個節點上使用分片設計(Sharded design),意即每個 CPU 核心處理不同的資料子集。核心不會共用資料,而是在需要時明確地溝通。ScyllaDB 的作者宣稱,這種設計讓 ScyllaDB 在現代的 NUMA SMP 機器上達到更好的效能,並能隨著核心數量的增加而擴充。他們在單一機器上測得每秒有高達 200 萬個請求、 並聲稱 ScyllaDB 叢集所提供的服務可達到 Cassandra 叢集 10 倍大小的要求,而且延遲時間更短。 獨立測試並不總是能夠證實吞吐量提升 10 倍,有時候測得的速度提升較小,例如 2 倍。 來自 Samsung 的 2017 年基準觀察到在高階機器上的 10 倍速度提升 - Samsung 基準報告指出,ScyllaDB 在 24 核心機器的集群上表現優於 Cassandra,差異幅度為 10-37 倍,視 YCSB 工作負載而定。

ScyllaDB 可在企業內部、主要公有雲供應商或以 DBaaS (ScyllaDB Cloud) 形式提供。

歷史
ScyllaDB 由初創公司 Cloudius Systems(後更名為 ScyllaDB Inc.,更早以前也因創立OSv而聞名於世。 共同創辦人為 Avi Kivity 和 Dor Laor。ScyllaDB 於 2015 年 9 月以開放原始碼的形式釋出、 並採用 AGPL 授權。ScyllaDB Inc. 的員工仍是 Scylla 背後的主要程式撰寫人員,但其開發是對公眾開放的,並使用公共 GitHub 儲存庫和公共郵件列表。

參考文獻
外部連結

评论 (0)

  • 还没有评论,来抢沙发吧。