并非所有用例都需要水平可擴展性。在這種情況下,OneShard部署提供了一個切實可行的解決方案,通過大量減少集群內部通信來顯著提高性能。
啟用OneShard創建的數據庫僅限于單個DB-Server節點,但仍會同步復制以確保彈性。此配置允許在分片領導上運行具有ACID保證的事務。
對于大多數Graph用例和重連接查詢,強烈建議使用此設置。
與分片集群不同,協調器在不同的DB-Server節點上分配對分片的訪問,收集和處理部分結果,OneShard設置中的協調器將查詢執行直接移動到相應的DB-Server以進行本地查詢執行。協調器僅接收最終結果。這可以大大減少協調器的資源消耗和通信工作。
縮放圖
對于大于單個DB-Server節點的圖,您可以使用SmartGraphs功能有效地限制Coordinator和DB-Servers之間的網絡躍點。
數據庫創建
為了利用DB-Server節點上的本地執行,您可以創建一個數據庫,通過將sharding選項設置為“single”值,默認情況下將集合限制為單個分片。復制因子為3可確保有兩個副本用于彈性。
之后,在該數據庫中創建集合時,您無需擔心其他設置。它們將自動成為同一OneShard配置的一部分。
集群啟動選項可用于限制新數據庫使用OneShard。
多租戶應用程序
要在多租戶SaaS應用程序中分離來自不同客戶端的數據,您可以使用專用數據庫,并且仍然可以通過集群設置利用可用性和擴展優勢。
雖然每個客戶的數據都適合單個節點,但越來越多的租戶增加了擴展集群的需求。OneShard可以將更多節點添加到集群中,同時仍允許查詢在單個DB-Server上高效執行。
領導分片上的ACID事務
在ArangoDB中,您可以從可調整的事務保證中受益,您可以在需要時增加這些保證。為確保持久性,waitForSync請在查詢級別激活以等待數據修改已寫入磁盤。收集選項writeConcern:2確保事務只有在至少一個副本同步時才成功。RocksDB引擎支持大型文檔操作的中間提交。為了防止單個查詢出現這種情況,您可以相應地增加RocksDB intermediateCommitSize(默認512MB)intermediateCommitCount。在OneShard設置中使用StreamTransactions 和這些提到的選項,您可以獲得領導分片上的多文檔、多集合ACID事務。
-
服務器
+關注
關注
12文章
9123瀏覽量
85328 -
數據庫
+關注
關注
7文章
3794瀏覽量
64362 -
協調器
+關注
關注
0文章
29瀏覽量
15965
原文標題:ArangoDB 企業版:OneShard具有集群容錯的單服務器性能和語義
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論