2017-10-07 31 views
2

我是新來的圖形數據庫,我期待在ArangoDb一個POC。設計數據庫時的最佳實踐是什麼?具體而言,不同但相關的節點類型應該位於不同的集合中還是處於同一集合中? (想想一個典型的「學生/班/位置/家教」場景。)不同的節點應該在不同的Arango集合中嗎?

如果普遍的共識是把一切都在一個集合然後當我需要考慮多個集合?是否需要考慮處理高事務率,例如記錄大量設備的溫度讀數?這將是一個情況下記錄設備信息在一個集合和讀取另一個?

回答

2

是的,我建議把不同的節點/頂點類型在不同的集合。因此,在您的示例中,您將擁有4個頂點集合:「學生」,「班級」,「地點」和「導師」。那麼你可能想創建一些邊緣集合,例如「HasAttended」,存儲從「學生」到課堂的邊緣。

在設計數據庫,它可以幫助寫在一張紙上的數據模型(或者你可以使用一個工具來顯示/編輯)。

我不知道你的確切的使用情況,但對我來說很有意義有一個集「設備」和另一集「溫度」。然後你就可以有一個邊集合,「設備」和「溫度」

+0

從傳統的RDBMS產品之間存儲的邊緣,這是我怎麼會走近它。但是,爲了使用Arango的圖形特徵,所有邊緣都需要位於同一個集合中。如果是這樣的話,那麼爲什麼節點不應該在同一個集合中? – SteveC

+0

從UI創建圖形時,可以添加更多邊緣集合(單擊該「+」)。例如,你可以像這樣可視化一個圖表:Person-IsFrom-> City-IsInCountry-> Country。無論如何,是的:有可能有重要的原因,有獨立的邊緣集合和單獨的頂點集合。請優化您的數據模型並以有效的方式進行設計:這將對您如何編寫查詢以及這些查詢的執行方式產生直接影響。數據模型始終是第一步:如果模型未被優化,在某個時間點,您可能會遇到問題。 – Santo

相關問題