簡體   English   中英

使用 ArangoDB 對分散式架構進行建模並同時查詢多個源

[英]Model decentralized architecture using ArangoDB and querying multiple sources at once

我是 ArangoDB 的新手,想使用它來建模分散式架構。 正如它在文檔中所說,它支持多類數據庫。 我想制作一個數據模型,該模型將具有多個圖形作為小型分布式系統,例如模擬目的 現在,一旦我有了分布式系統,我想將所有這些源作為一個查詢。 例如,我們的分布式系統中有 3 個節點:節點 1 保存機場數據,節點保存航班數據,節點 3 保存乘客數據。 現在我的問題是我是否可以通過編寫單個查詢或多個查詢來查詢所有三個節點,我想要的是從單個界面訪問多個節點。 ArangoDB可以嗎?

  • 如果我不清楚,請放棄您的查詢

...我可以通過編寫一個查詢來查詢所有三個節點嗎...

簡短的回答是“是”,但有一個很大的“這取決於您的數據模型”星號。 從關系到圖形的轉變可能很奇怪,而且構建一個無法很好擴展的數據集太容易了。

ArangoDB 通過使用“邊”鏈接文檔(節點)來工作,邊是定義鏈接方向(到/從)的特殊文檔。 邊集合可用於運行查詢( 匿名圖),也可以“分組”為定義更明確、更精細的圖定義( 命名圖)。 您的數據庫可以有許多命名圖,每個圖都針對您希望查詢的集合進行了定制(就像 RDBMS 一樣,減少要查看的內容的數量是提高性能的最簡單方法)。

通常,您會通過高級類型來收集事物,並且可以通過文檔/邊上的屬性或簡單地通過邊連接來定義組成員身份。 通過將查詢保留在內存中可以實現最佳速度,這意味着不要過濾非索引屬性。

根據您的問題,聽起來您想要兩個集合(“機場”和“乘客”),以及“航班”的邊緣集合(可能是“機場 - > 乘客 - > 機場”的圖表)。 示例演示了一個簡單的演員/電影數據集,該數據集旨在對圖形友好,但互聯網上有許多機場/旅行圖樣本。

AQL 語言允許您在同一個查詢中構建復雜的查詢,包括多個圖形和文檔調用。 與往常一樣,主要的警告是遍歷復雜性(參見big-O 表示法)和內存使用。

從 ArangoDB 的角度來看,這些可能是基本建模信息的一個很好的起點:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM