當(dāng)圖表的數(shù)據(jù)集超出您可以在單個(gè)ArangoDB實(shí)例上托管的限制時(shí),您需要進(jìn)行擴(kuò)展。但是,通過(guò)集群對(duì)圖進(jìn)行分片會(huì)帶來(lái)新的問(wèn)題。使用標(biāo)準(zhǔn)圖時(shí),遍歷可能涉及數(shù)據(jù)庫(kù)服務(wù)器之間的許多網(wǎng)絡(luò)躍點(diǎn)。隨著邊緣將遍歷帶到不同的機(jī)器上,性能會(huì)變差。
SmartGraphs和DisjointSmartGraphs 通過(guò)優(yōu)化分片之間的數(shù)據(jù)分布來(lái)解決這個(gè)問(wèn)題,減少需要網(wǎng)絡(luò)跳到其他服務(wù)器的邊數(shù)。
用圖表縮放
ArangoDB的社區(qū)版可以在單個(gè)實(shí)例上處理大型數(shù)據(jù)集,讓您可以毫無(wú)問(wèn)題地垂直擴(kuò)展。它還可以處理水平擴(kuò)展到具有所有三個(gè)數(shù)據(jù)模型的集群。但是,在水平擴(kuò)展時(shí),您可能會(huì)開(kāi)始遇到性能問(wèn)題,您可以通過(guò)集群對(duì)圖進(jìn)行分片。
想象一個(gè)處理大型數(shù)據(jù)集的圖表,例如您可能在物聯(lián)網(wǎng)、金融、通信、醫(yī)療保健或基因組學(xué)應(yīng)用程序中找到的數(shù)據(jù)。數(shù)據(jù)的自然分布涉及一系列高度互聯(lián)的社區(qū),這些社區(qū)之間有許多邊緣。
圖1:3臺(tái)機(jī)器上沒(méi)有SmartGraphs的圖形分片
遍歷這種規(guī)模的圖可以帶您穿過(guò)數(shù)十億甚至數(shù)萬(wàn)億個(gè)頂點(diǎn)。單臺(tái)機(jī)器上容納的數(shù)據(jù)量太多了,每當(dāng)邊緣將您從一臺(tái)機(jī)器帶到另一臺(tái)機(jī)器時(shí),網(wǎng)絡(luò)連接上的性能瓶頸。如果第二臺(tái)機(jī)器上的優(yōu)勢(shì)讓你回到第一臺(tái)或第三臺(tái),它會(huì)變得更糟。遍歷所需的網(wǎng)絡(luò)跳數(shù)越多,網(wǎng)絡(luò)延遲就越大,與內(nèi)存計(jì)算相比,這可能會(huì)變得非常昂貴。最終,性能會(huì)下降到不再適合您給定用例的程度。
使用SmartGraphs進(jìn)行縮放
遍歷分片圖時(shí)的性能問(wèn)題與網(wǎng)絡(luò)延遲有關(guān)。您的遍歷需要的網(wǎng)絡(luò)跳數(shù)越多,您從水平擴(kuò)展中獲得的收益就越少。使用ArangoDB企業(yè)版,您可以從SmartGraphs中受益,通過(guò)使用應(yīng)用層的智能解決遍歷的網(wǎng)絡(luò)延遲問(wèn)題。
圖對(duì)自己一無(wú)所知。但是,您的應(yīng)用程序?qū)D表了解很多。在許多數(shù)據(jù)集中,存在高度互聯(lián)的社區(qū),但這些社區(qū)之間的聯(lián)系很少。例如,涵蓋您的客戶、區(qū)域或您在應(yīng)用程序?qū)咏M織圖表的任何其他邏輯的集合又可以用于通過(guò)集群對(duì)圖表進(jìn)行分片。
SmartGraphs使用應(yīng)用程序?qū)拥闹悄苄詠?lái)優(yōu)化它通過(guò)集群對(duì)數(shù)據(jù)進(jìn)行分片的方式。例如,適合您的主要查詢的客戶ID、區(qū)域或任何其他邏輯。借助這種智能,您可以將圖表中高度連接的社區(qū)分割到特定實(shí)例。
圖3:使用ArangoDBSmartGraph 的分片圖
通過(guò)優(yōu)化數(shù)據(jù)分布,SmartGraphs減少了遍歷所需的網(wǎng)絡(luò)跳數(shù)。內(nèi)部測(cè)試顯示,在遍歷分片圖時(shí)性能提升了40-120倍。
不相交的智能圖
對(duì)于某些用例,您可以使用DisjointSmartGraphs 進(jìn)一步優(yōu)化。DisjointSmartGraphs是針對(duì)必須處理大型分層圖或針對(duì)多個(gè)客戶圖的整體分析的用例的優(yōu)化。在這兩種情況下,您的圖形數(shù)據(jù)集中都有明顯分離的分支。
DisjointSmartGraphs 啟用這些分支的自動(dòng)分片并禁止連接它們的邊。這允許查詢優(yōu)化器將整個(gè)查詢執(zhí)行下推到每個(gè)DBserver,并大大提高圖查詢的性能,如遍歷、模式匹配、最短和k最短路徑。
ArangoDB企業(yè)版用戶現(xiàn)在可以處理完整的新用例或進(jìn)一步優(yōu)化當(dāng)前基于圖形的應(yīng)用程序。
責(zé)任編輯:彭菁
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9138瀏覽量
85366 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24693
原文標(biāo)題:ArangoDB Enterprise:智能圖和分離的智能圖
文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論