2012-09-24 32 views
0

我正處於新項目設計的早期階段,我在考慮使用哪個數據存儲區。
該項目是一個網絡平臺,可以描述爲一個龐大的社會在線圖書庫,由用戶編輯的作品組成的書,每一部分可以是文本,音頻,視頻..)。
哪個NoSQL數據存儲/ s可供選擇?

正如你已經認識到應該考慮許多關係,像下面這樣的概念,喜歡,標籤,類別和基於這些的定製算法,糾正我,如果我錯了那種數據稱爲半結構化數據,關於實體之間的關係(簡介,片斷,書籍)和非結構化的結構將指代片斷的內容。

我有一個偉大的經驗,最近的其他項目,NoSQL的MongoDB的所以我想堅持的NoSQL數據存儲解決方案,如果可能的話,事情是,我不認爲蒙戈是專爲那種數據建模的,因爲所有這些關係。

的研究存儲基於DB像Neo4j的聽起來偉大的事情做在圖中這些關係,但對於非結構化數據幾個小時後..我不知道。

Neo4J是否可以單獨調整所有大量非結構化數據而不分片?

正確的方法是實現一個混合了Mongo(非結構化)和Neo4J(關係)的域對象ID的跨數據存儲解決方案嗎?這種方法有哪些優點/缺點?

我是java開發人員,所以很自然我正在使用Spring :),我知道Spring並沒有提供少數NoSQL數據存儲之間的跨庫存數據訪問。
這是否意味着如果我選擇交叉解決方案,我將不得不爲每個數據存儲區保存域實體?

我將不勝感激描述性的答案我有點混淆所有的NoSQL淘金熱,謝謝。

回答

6

我強烈建議OrientDB,我已經開始非常有效地使用它了,並且相信我,您希望爲它做好準備。

由於每documentation

單個服務器使得運行MySQL大約125臺服務器的工作。交易引擎可以在分佈式系統中運行,最多支持302,231,454,903,657十億(2^78)條記錄,最多容量爲19,807,040,628,566,084太字節數據分佈在多個節點中的多個磁盤上。今天只有OrientDB鍵/值Server可以使用分佈式哈希表算法

還檢查了benchmark

好運氣在與成千上萬的實例的集羣中運行!

0

是Neo4j,特別是Spring Data Neo4j(http://www.springsource.org/spring-data/neo4j)可能是最適合你的。檢查項目併爲自己測試。

/彼得

1

我@Anshu .. OrientDB同時提供了豐富的面向文檔的數據存儲和圖形數據庫的功能一致。爲了存儲文件,雖然沒有像GridFS那樣實現,但是你可以很容易地推出自己的文件。檢查這個link。我已經將一個項目從MongoDB遷移到OrientDB(用於嵌入專有分發 - 沒有GPL的麻煩!)

此外,如果它將是一個大項目(閱讀亞馬遜),你會想要去獲得許可的軟件orientdb。

0

我建議你嘗試春天數據Neo4j的,這是很方便的(聲明:我在這工作)。

手冊在這裏:http://spring.neo4j.org/docs - 其中包括一個跨商店配置的例子,但我會說,與Mongo交叉存儲有點傻 - 沒有太多意義,對數據庫做擴展事務沒有太大意義支持交易:)

此外,對於嘗試查詢我用http://console.neo4j.org了很多,從那裏開始。

+0

你好感謝你回答我很樂意與Neo4j的工作看起來很不錯,但我不明白,但是,如果我有很多喜歡的文本非結構化數據,images..should我將它們存儲爲節點屬性( 核心價值) ?但然後圖形將增加他的容量,我將需要傳播它在少數機器..應該使用鍵/值存儲像redis這些項目呢?謝謝 –