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