ScyllaDB發佈其NoSQL數據庫的主要版本,支持併發OLTP和OLAP

Scylla年度峯會上,ScyllaDB發佈了其旗艦產品ScyllaDB Open Source的3.0版本。正如新聞稿所言:

這次發佈標誌着一個重要的里程碑。作爲Apache Cassandra的替代,Scylla Open Source增加了NoSQL社區非常期待的、已經生產就緒的功能,同時引入了提高利用率和最小化運營開銷的新特性。

ScyllaDB的新特性包括:併發OLTP和OLAP;物化視圖;二級索引;兼容Cassandra 3.x文件格式。

爲了在多核硬件上實現最佳性能,ScyllaDB集成了Seastar,這是一個用於高性能服務器應用程序的高級開源框架。Seastar的架構創新包括:

入門

下載並開始使用開源版本的ScyllaDB,有許多選擇。作爲最簡單的選項,ScyllaDB推薦Docker選項。例如,使用Docker啓動ScyllaDB的單個實例:

$ docker run --name scylla -d scylladb/scylla

在Docker下載並提取必要的文件之後,ScyllaDB就可以使用了。以下Docker命令啓動Cassandra查詢語言shell CQLsh,以執行ScyllaDB命令,用於通常的管理和數據庫操作:

$ docker exec -it scylla cqlsh

對於Cassandra的當前用戶,ScyllaDB大致介紹了從Cassandra遷移到ScyllaDB的過程。

ScyllaDB還提供了一個企業版,該版本具有以下優點:集羣管理、任務自動化、24/7關鍵任務支持、長期支持、專有許可證。ScyllaDB路線圖是即將發佈的ScyllaDB Open Source和企業版特性的預覽。

ScyllaDB首席執行官Dor Laor向InfoQ介紹了這個最新版本。

InfoQ:相對於其他NoSQL數據庫,基於Apache Cassandra創建ScyllaDB的靈感是什麼?

Dor Laor*:這是個好問題。回到2014年我們剛起步的時候,我們看到Cassandra擁有龐大的用戶基礎,並且在一些方面做得非常好,比如橫向擴展,但是它存在一些*性能問題。我們決定效仿Cassandra的優點,比如:

- “無主複製(masterless replication)”
- “橫向線性擴展(linear horizontal scalability)”
- “全球分佈(global distribution)”
- 可調節的一致性
- 簡單直觀的數據模型

這些都是構建分佈式數據庫的可靠特性。然而,儘管如此,我們還是對Cassandra的侷限性睜大了眼睛。我們知道這是一個很好的基線,但我們也知道還有很多改進的空間。

InfoQ:Cassandra是用Java編寫的。爲什麼選擇使用C++編寫ScyllaDB?

*Laor:*C++功能強大、速度快、效率高。它非常適合管理大量的內存,可以進行大粒度、高精度、低層次的控制。

InfoQ: 與其他NoSQL數據庫相比,ScyllaDB有什麼獨特之處?

Laor*:除了*吞吐量非常高、延遲一貫較低之外,我們是一個自優化數據庫,其設計適合於伸縮。

我們來談談優化。我們在Cassandra和許多其他數據庫中看到的一個關鍵問題是,開發人員需要大量的專業知識和時間來對性能進行優化。所以,我們從一開始就在Scylla中加入了自調整和自優化功能。

Scylla是由對操作系統有深入認識和對控制理論有全面理解的人編寫的。這些知識反映在Scylla利用現代多核/多CPU系統的方式上,從它的無共享、“按核分片(shard-per-core)”、構建在Seastar之上的異步架構,到它的自適應自動調優等簡化管理的特性。許多其他數據庫的開發人員並不是從這個底層的角度出發的,結果顯示在它們的性能和可伸縮性上,既包括橫向,也包括縱向。

對於用戶來說,這意味着我們可以極大地縮小他們的服務器羣佔用的空間,節省大量的運營成本,並使他們的系統獲得更好的性能。

InfoQ:ScyllaDB未來會推出什麼特性?

Laor*:我們正在進一步深化對系統架構(如CPU和I/O調度程序)的控制,以提供在同一個數據庫集羣上共享*OLTP和OLAP活動的獨一無二的新方法。這使得數據庫管理員可以創建角色併爲每個用戶分配SLA,以便更細粒度地控制哪些活動在系統利用方面優先。

實時工作負載獲得最高的優先級,而其他工作負載(如分析)則獲得最有效的方法,並且只有在有空閒容量時才執行。與目前的做法相比,這是一個很大的改進:爲了在不影響事務數據庫的情況下運行分析,用戶被迫在一個完全獨立的集羣上克隆和維護他們的完整數據集。

我們還打算用Scylla Cloud顛覆數據庫即服務(DBaaS)市場,並於近期啓動了我們的“早期訪問”計劃。基於我們的Scylla Enterprise數據庫,Scylla Cloud實現高吞吐量需要的機器要少得多,它將是一個引人注目的產品——三分之一的延遲,五分之一的成本,最重要的是,沒有供應商鎖定。

我們感興趣的另一個領域是混合存儲部署。我們已經發布了Scylla Enterprise 2018.1.7,它提供了一個內存內選項,可以快速讀取任務關鍵數據表。這只是我們預見到的許多內存和分層存儲混合部署選項中的第一個,特別地,我們看到這樣一些發展,固態驅動器的密度和性能越來越高持久性內存的出現。

另外,特別是對於我們的企業客戶,我們有許多計劃中的安全特性,從靜止加密到基於角色的訪問控制(RBAC)和安全的nodetool連接,以及集成Kerberos和輕量級目錄訪問協議(LDAP)。

要了解關於這些特性和未來其他特性的更多信息,請查看我們公開發布的路線圖

查看英文原文:ScyllaDB Announces Major Release of its NoSQL Database and Support for Concurrent OLTP and OLAP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章