摘要:對圖形處理模型的支持將是開發(fā)人員的福音。這是由于滯后的最終一致的副本。對主要和主要追隨者的更新是同步的,允許數(shù)據(jù)的高可用性,同時(shí)確保符合。其開發(fā)了一項(xiàng)手機(jī)應(yīng)用程序,通過在中存儲數(shù)據(jù)的應(yīng)用程序,使用手指式血壓計(jì)將患者的信息發(fā)回信托。
原創(chuàng)翻譯,原文作者:Adam Fowler,
轉(zhuǎn)載自:https://adamfowler.org/2017/0...
我查看了ArangoDB混合文檔和圖形存儲的最新測試版。
ArangoDB是一個(gè)混合或多模型的NoSQL文檔和圖形存儲。這為項(xiàng)目開發(fā)提供了很大的靈活性和力量。自從他們開始以來,我一直在關(guān)注ArangoDB (find ArangoDB on Github),如今已有3年多,所以現(xiàn)在我們來一起看看有什么有趣的更新:
最大的變化是使用Facebook的RocksDB鍵值存儲作為存儲引擎(我將在以后的文章中分別回顧RocksDB)。這是一個(gè)巨大的變化,需要在應(yīng)用程序中進(jìn)行負(fù)載測試,因?yàn)橐恢滦院玩i定功能與以前的mmfiles方法不同。
此外,MongoDB客戶在將WiredTiger引入存儲引擎時(shí)發(fā)現(xiàn),人們將始終想要測試和重新測試新的存儲層,以尋找意外的回歸和性能問題。
但是這確實(shí)是一個(gè)積極的更新,允許文檔級鎖定,并可以防止寫入阻塞讀取,反之亦然。這將大大提高在高寫入和讀取負(fù)載下的性能。
對Pregel圖形處理模型的支持將是開發(fā)人員的福音。想像這樣一個(gè)有效的Map / Reduce版本,用于跨整個(gè)群集數(shù)據(jù)傳播的圖形算法。有趣的是,您可以選擇單節(jié)點(diǎn)或集群執(zhí)行。某些圖形算法需要在單個(gè)機(jī)器上運(yùn)行所有數(shù)據(jù),所以使圖形愛好者擁有自由選擇的快樂!
企業(yè)版也受益于LDAP安全支持,閑時(shí)加密。這是許多敏感型企業(yè)客戶,如銀行和政府的福音。
Satellite Collections(僅限企業(yè)版)是一個(gè)很好的新功能,您可以指導(dǎo)引擎使用副本進(jìn)行處理,從而無需網(wǎng)絡(luò)跳轉(zhuǎn)來在另一個(gè)節(jié)點(diǎn)上查找密鑰收集數(shù)據(jù)。這可能聽起來不怎么樣,但是我可以通過在NoSQL數(shù)據(jù)庫上運(yùn)行分布式處理算法來告訴你,這將有助于在很大程度上調(diào)整大型文檔處理算法。
我喜歡ArangoDB 什么?分布式圖形存儲中的一個(gè)大問題是在群集中的多個(gè)服務(wù)器上圖形算法的高效處理。為了使用商業(yè)服務(wù)器而不是昂貴的大功率服務(wù)器,您需要將數(shù)據(jù)傳播出去。當(dāng)然,對于遵循節(jié)點(diǎn)之間的路徑的圖算法,當(dāng)您遍歷該圖時(shí),會引入滯后。
我很高興看到ArangoDB在這個(gè)關(guān)鍵問題上花了大量的時(shí)間。如果他們可以在這個(gè)版本中用Pregel解決這個(gè)問題,那么他們將會超越其他幾個(gè)競爭對手。
例如,最近添加的SmartGraphs功能(僅限企業(yè)版)。這基于已知屬性管理圖上的節(jié)點(diǎn)的分片??紤]一個(gè)社交圖 - 大多數(shù)人在同一個(gè)國家有連接(除非你是我,并且寫IT?。?- 所以根據(jù)用戶的國家劃分一個(gè)圖表是很好的,通過應(yīng)用此屬性,可以最大限度地減少大多數(shù)查詢的網(wǎng)絡(luò)跳數(shù)。
結(jié)合上面提到的SatelliteCollections(僅限企業(yè)版),您可以調(diào)整數(shù)據(jù)存儲,以確??焖賵D形查詢,即使圖形被分片 - 使用我的國際,噴氣式設(shè)置,twitter連接來處理像我這樣的棘手情況。在與ArangoDB交談后,他們認(rèn)為這些功能的組合對于特定的IoT用例將非常有用。如果您發(fā)現(xiàn)該組合有用,請為此文章添加評論 - 我很樂意聽到不同的聲音!
當(dāng)我第一次寫關(guān)于ArangoDB在NoSQL 2016的狀態(tài),我評估它還不完全符合ACID。這是由于滯后的最終一致的副本。由于其他主服務(wù)器上的碎片被標(biāo)記為“追隨者”,因此已經(jīng)解決了這一點(diǎn)。對主要和主要追隨者的更新是同步的,允許數(shù)據(jù)的高可用性,同時(shí)確保符合ACID。
這是數(shù)據(jù)場景關(guān)鍵任務(wù)的重中之重,當(dāng)數(shù)據(jù)庫告訴您保存數(shù)據(jù)時(shí),您需要確保數(shù)據(jù)安全地位于光盤上。我只能再次強(qiáng)調(diào),我認(rèn)為符合ACID對于具有關(guān)鍵任務(wù)應(yīng)用程序需求的企業(yè)客戶至關(guān)重要。
我也喜歡ArangoDB的免費(fèi)版本使用真正的開源許可證 - Apache 2.0**許可證。與其他供應(yīng)商使用的AGPL v3不同,該許可證并不限制想要使用該軟件的組織,也可以將其定制為生產(chǎn)商業(yè)應(yīng)用程序。
我認(rèn)為這可能源于我個(gè)人對多模型文檔和圖形庫的熱愛,ArangoDB的工程團(tuán)隊(duì)真的做的很好。而且跟我交談的每個(gè)人似乎都很友善。即使是他們的President也親自花了時(shí)間幫我收集關(guān)于這篇文章的信息!
ArangoDB的工程團(tuán)隊(duì)也及時(shí)考慮到客戶的問題和用途,并根據(jù)此添加產(chǎn)品新功能,新功能都是參考現(xiàn)實(shí)用例而來。
做的不好的方面?ArangoDB作為鍵值存儲用例與 Redis 相比似乎還受局限。
話雖如此,但這是一個(gè)很小的困擾,大多數(shù)人會使用ArangoDB的文檔和圖形庫功能以及AQL查詢語言,因?yàn)樗鼈優(yōu)榇蠖鄶?shù)用例提供了豐富的功能。
使用場景有哪些?牛津大學(xué)似乎使用ArangoDB來減少醫(yī)院出勤和醫(yī)療費(fèi)用,并提高測試結(jié)果。其開發(fā)了一項(xiàng)手機(jī)應(yīng)用程序,通過在ArangoDB 中存儲數(shù)據(jù)的Node.js應(yīng)用程序,使用手指式血壓計(jì)將患者的信息發(fā)回NHS信托。這當(dāng)然意味著你可以有效地跟蹤病人,并智慧地決定何時(shí)要求他們進(jìn)入醫(yī)院,減少NHS的負(fù)擔(dān)。這是一個(gè)很好的小例子,但很容易復(fù)制到其他問題領(lǐng)域。
更多場景用例
Adam Fowler NoSQL Review 個(gè)人博客
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/19068.html
閱讀 2717·2021-11-11 16:55
閱讀 755·2021-09-04 16:40
閱讀 3138·2019-08-30 15:54
閱讀 2692·2019-08-30 15:54
閱讀 2474·2019-08-30 15:46
閱讀 455·2019-08-30 15:43
閱讀 3287·2019-08-30 11:11
閱讀 3041·2019-08-28 18:17