1. 程式人生 > >融合RocksDB, Pregel, Foxx & Satellite Collections 怎樣使數據庫性能提升35%?

融合RocksDB, Pregel, Foxx & Satellite Collections 怎樣使數據庫性能提升35%?

style ssi 本地連接 導出 存儲引擎 index 聯合 基因 方便

經過數月的研發測評,開源多模型數據庫ArangoDB 終於發布了其 3.2 正式版,該版本消除了兩個重大的障礙,添加了一個期待已久的功能,還集成了一個有趣的功能。此外,官方團隊表示新版本將 ArangoDB 的性能平均提高了 35%。同時,與 3.1 版本相比,還減少了內存的占用。集群管理方面也有了大幅度的改進。

具體如下:

RocksDB 存儲引擎:

技術分享

與 Facebook 的 RocksDB 存儲引擎的集成,使得其成為架構中第一個可插拔的存儲引擎,用戶現在可以使用與磁盤一樣多的數據。加上 RocksDB 更好的鎖定行為(文檔級別的鎖),密集寫入型的應用程序將顯著改善性能。沒有內存限制,並且只有文檔級別的鎖定,這將為許多用戶消除了兩個大障礙。如果選擇 RocksDB 作為存儲引擎,包括索引在內的所有內容都會持久保留在磁盤上,這就大大減少啟動的時間。更多請參閱“比較新RocksDB和mmfiles引擎”的操作方法,以測試操作系統和用例的新引擎。

Pregel 分布式圖形處理:

分布式圖處理在ArangoDB 的圖形工具箱中是一個缺失的功能。但是ArangoDB 通過實施Pregel 計算模型滿足了這一需求。

通過PageRank,社區檢測,頂點中心度量和進一步的算法,ArangoDB現在可以用來獲取對圖形隱藏特征的高級洞察。例如,您可以使用圖形處理功能來檢測社區。然後,您可以使用結果將數據有效地分散到集群中,從而使SmartGraph的使用充分發揮其潛力。我們相信,通過集成分布式圖處理,用戶現在將擁有單個數據庫中最完整的圖形工具集之一。

使用Pregal 社區檢測教程測試新的Pregal 結合,並通過有關在ArangoDB 中使用SmartGraphs 的新教程進一步提高高級graph技能。

Foxx 的容錯機制:

有容錯機制的 Foxx 服務在集群模式下可根據您的需求擴展數據庫。

很多開發者喜歡使用ArangoDB 的Foxx JavaScript 框架來實現以數據為中心的微服務。定義您自己的高度可配置的HTTP路由,完全訪問C ++級別的ArangoDB內核可以非常方便地實現。在3.2版本中,ArangoDB 的Foxx團隊完全重寫了管理內部部件,以支持有容錯機制的Foxx 服務。這樣可以確保多協調器集群將始終保持其服務同步,即使所有現有協調器都不可用,新協調器也將被完全初始化。

通過遵循全新的Foxx教程,自己測試新的有容錯機制的Foxx 或學習Foxx。

強大的圖形可視化功能:

使用 ArangoDB 3.2 可以輕松處理圖形數據。

您可以通過arangoexport 使用open-source 選項導出數據,然後將其導入到Cytoscape(請參閱教程)。
技術分享

或者您可以通過Foxx插入全新的Keylines 3.5,並安裝按需連接。有了這個選項,您將始終將Keylines中的最新數據整齊地顯示出來,不會出現任何導出/導入麻煩。只需按照本教程開始使用ArangoDB和Keylines。
技術分享

只讀用戶:

為了加強ArangoDB 中的基本用戶管理,其添加了只讀用戶功能。這些用戶的權限可以在數據庫和收集級別上進行定義。在數據庫級別上,用戶可以獲得管理員權限,讀取訪問權限或拒絕訪問權限。在收集級別,在數據庫中,用戶可以被給予讀/寫,只讀或拒絕訪問。如果用戶沒有訪問數據庫或集合,則該用戶將不會顯示數據庫和集合。參考有關新用戶管理的教程。

地理查詢 Geo Index Cursor:

地理查詢對我們的社區變得越來越重要。使用geo_cursor,現在可以將文檔按距離排列到空間中的某一點(參考教程)。這使得查詢變得更簡單,像“時代廣場周邊半英裏半徑的素食餐廳在哪裏?”我們計劃在下一個小版本中增加對其他地理空間功能的支持(如多邊形)。

衛星集合 Satellite Collections:

衛星集合(Satellite Collections)是這次合作的令人振奮的結果。它旨在在使用分片數據集時實現更快的連接操作。為了避免在機器之間的連接處理過程中出現昂貴的網絡跳數,只能找到一個解決方案來啟用本地連接。

使用Satellite Collections,您可以定義集合以分散到集群,以及將集合設置為復制到每臺計算機。 ArangoDB 查詢優化器知道每個分片在哪裏,並向相關的DBServers 發送請求,然後在本地執行查詢。然後,DBservers 會將部分結果發送回協調器,八戒影院該協調器匯總了最終結果。通過這種方法,可以避免在分片集合的連接操作期間的網絡跳躍,從而增加查詢性能並減少網絡流量。這可以通過一個例子更容易理解。在下面的模式中,集合C被劃分到多個機器,而較小的衛星(即,S1-S5)被復制到每個機器上,繞著C的碎片軌道運行。

衛星集合的用例很豐富。在這個更深入的博客文章中,我們使用了一個IoT案例。基於基因組測序分析的個性化患者治療是另一個很好的例子,其中涉及大量數據集的高效聯合操作可以幫助改善患者護理並節省基礎設施成本。
技術分享

閑時數據加密:

使用RocksDB,您可以使用高度安全的AES算法對存儲在磁盤上的數據進行加密。即使有人竊取您的一個磁盤,他們將無法訪問數據。通過升級,ArangoDB向HIPAA合規邁出了重要一步。

通過LDAP增強身份驗證:

通常,用戶是通過ArangoDB 進行定義和管理。使用LDAP,您可以使用外部服務器來管理用戶。ArangoDB 實現了一個可以擴展的共同模式。如果您有不符合此模式的特殊要求,可以聯系ArangoDB。

融合RocksDB, Pregel, Foxx & Satellite Collections 怎樣使數據庫性能提升35%?