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