2011-07-20 18 views
11

使用鍵值,文檔和列系列數據庫,我知道您可以在鍵空間中使用複製和分片組合進行擴展。但是,對於像最短路徑等通用圖操作 - 這些實際上似乎沒有從複製中獲得任何好處......並且我看不到如何在不查找獨立子圖的情況下分割圖數據庫(非常困難)。圖表數據庫如何橫向擴展?

是否有圖表數據庫試圖解決這個問題?目前這方面的研究是什麼?

+0

好問題。分解圖形數據庫是一個難題。關係模型下的分片應該比圖形數據庫或任何其他「導航」數據庫要容易得多。有趣的是,儘管事實上RM似乎更適合NOSQL所追求的事情,但NOSQL解決方案迄今爲止主要基於導航模型而不是關係模型。這可能是因爲這是一個相對不成熟的領域,導航數據庫可能比它們的關係等價物更便宜,更容易上市。 – sqlvogel

回答

3

複製可以用於任何類型的數據庫 - 它只是創建多個數據副本,因此您可以提供比單個服務器可以處理更多的查詢。

分片更復雜一些,但實際上與鍵/值或文檔存儲沒有太大差別,因爲內部邊必須表示爲簡單列表。

儘管在大多數情況下找到獨立的子圖是不可能的,但實際上並非必要。只要處理查詢的節點能夠從其他節點獲取數據,讓數據在本地可用就只是性能優化。

完成設置後,您可以根據所用圖形的類型優化性能 - 例如在社交圖表中,您可能會使用位置爲用戶選擇節點,因爲您知道大多數連接都是本地的。

我不知道任何已有的內置分片的圖形數據庫,可能是因爲這個問題在一般情況下很難解決,邊緣數據的小尺寸意味着您需要一個非常大的圖表來超過一臺服務器的容量。

+0

奇怪的是,我不知道一個不支持分片的圖形數據庫...... Neo,Ttitan甚至是許多多模型數據庫(如ArangoDB)都支持分片...(這並不意味着查詢很容易.. .--) – edlich

1

GoldenOrb是一個旨在創建一個可水平擴展的圖形數據庫的概念。它是作爲開源發佈的,但該項目現在似乎已經死了(鏈接到GitHub處於離線狀態)。它基於Hadoop。

即使這樣的模型不能被認爲是一個完全有能力的圖形數據庫,給定在圖形數據庫的某些使用情況下,節點間需要共享的信息量太大而且很複雜。計算分層緩存分層體系結構的演變可以使其被認爲是完全可擴展的,並且是一個事實上的Graph數據庫。

因此總的來說,這個日期的答案是「否」,並不完全。

原網站託管項目是這樣的:http://goldenorbos.org

0

退房http://thinkaurelius.com/

泰坦他們使用的卡珊德拉,HBase的,或BerkeleyDB的作爲與商店的可擴展性的特點本身自帶的後備存儲。