2

我曾在OrientDB圖形數據庫的項目中工作過。我已經設法填充數據庫並且在沒有問題的情況下執行查詢。但是在我需要使用OrientDB的分佈式功能來運行查詢之後,我帶來了一個重要的(也許是微不足道的)疑問。分佈式體系結構中的OrientDB與跨服務器的頂點複製一起使用?

我已經設法使用分佈式模式也沒有問題,使用3個不同的機器,但我想確保OrientDB真的將我的數據庫存儲在我已經使用的3臺機器中。有什麼方法可以檢查嗎?

當我在研究這個答案時,我得出OrientDB在整個​​機器上覆制整個數據庫的結論,這是否正確?使用分佈式體系結構的目標是提高性能,但是如果OrientDB與複製一起工作,並且在特定機器上運行一個查詢,那麼查詢將使用所有機器進行處理,或者只使用一臺機器進行處理?

簡而言之,我想知道OrientDB是否使用分佈式模式,在機器上分佈頂點和邊,並使用所有機器處理查詢?

我已閱讀完整的文檔:http://orientdb.com/docs/2.0/orientdb.wiki/Distributed-Architecture.html並找不到這個問題的明確解釋。

在此先感謝!

+0

請參閱:http://orientdb.com/docs/last/Replication.html和http://orientdb.com/docs/last/Distributed-Sharding.html –

+0

嗨@OleksandrGubchenko感謝您的幫助。我已經看到了這些鏈接,但我無法真正瞭解OrientDB是否跨所有機器複製整個數據庫,還是分發頂點和邊? –

回答

1

OrientDB默認情況下會複製所有服務器上的整個數據庫。你在找什麼叫做"Sharding"。 OrientDB支持手動分片(將來會自動),這意味着您(應用程序)可以決定存儲頂點/邊的位置。

+0

非常感謝您的回答! –

+0

關於性能改進,如果我在分佈式模式下運行查詢而不進行分片,那麼處理將在所有機器上完成?可能不正確? –

+1

沒有分片意味着所有的服務器都有相同的數據,對吧?出於這個原因,由於性能原因,查詢只在本地服務器上執行。您可以使用ROUND_ROBIN連接策略將您的客戶端連接到N臺服務器,因此無論如何您都將使用所有服務器。 – Lvca

相關問題