2012-02-25 118 views
0

在網上免費提供高度可擴展的基於磁盤的NoSQL存儲系統嗎? SQL Server的好處在於它可以擴展,但將項目遷移到SQL表中是一場噩夢,因爲它是所有對象?基於磁盤的文檔存儲

的選項是:從內存 2.序列化文檔 3.轉換 1.運行至到SQL 4.使用大型NoSQL數據存儲

+0

大多數NoSQL都是基於磁盤的。像Azure Table Storage,非常好。但是,沒有免費的一個 – 2012-02-25 10:25:37

+0

我不認爲有免費的允許你存儲海量數據(我記得S3可能免費存儲少量數據),也許你可以使用像DropBox這樣的文件託管服務,然後索引你的密鑰在SQL Server中 – 2012-02-25 10:26:49

+2

「關於SQL Server的好處在於它可以擴展「 - 真的嗎?!事實上,情況完全相反。 – 2012-02-25 10:27:01

回答

3

MongoDB是基於磁盤的,當然,這將有利於來自(大量)內存。它是開放源代碼和免費的,它使用分片和複製從一臺機器擴展到數千臺機器。

您可以download it並在本地運行它,或者您可以使用其中一個free hosted solutions

0

在開源許可證(GPL或Apache)上提供了很多NoSQL選項。在搜索過程中,我遇到了這個listing,它以公平的方式給出了一些選項的功能比較。

如果你必須擁有一個受支持的C#客戶端,你會受到一些限制,但我會研究MongoDB和Redis,因爲我在過去使用它們的結果很好。

1

在過去的幾周裏,我一直在處理同一個問題;這裏是我的觀察:

  1. SQL Server的工作原理,但不能很好地擴展。我們測試了大約600GB文件的SQL Server數據庫,讓我們說事情變得非常緩慢。
  2. 或多或少與MySQL相同...兩者都不是真的用於文檔...
  3. Hadoop/HDFS在Windows上似乎不成熟。雖然微軟有一個HDFS實現可用,但它仍處於RC階段。從積極的方面來看,如果你正在爲未來發展(比如說1年到產品),這似乎是一個不錯的選擇。
  4. Apache Cassandra似乎成熟了。在積極的方面,實施非常簡單;也就是說:它基本上只是一個普通的分佈式鍵值存儲和一個分區器,其中鍵和值都是byte []。但是,實施的簡單性也意味着您需要解決各種問題。如果你已經使用了它,你就會知道如果你需要實現Twitter,這很棒,但對於其他任何東西都太簡單了。它的規模很好,但說實話我對這個表現並不是很滿意。此外,我遇到了一些數據不一致/損壞,這並沒有真正溫暖我的心......如果您使用Cassandra,我會親自使用Aquiles作爲客戶端(因爲您會很容易地遇到低級別的東西) - 但FluentCandandra也是一個很好的客戶。
  5. MongoDB也相當成熟。積極的一面是,它非常活躍,並且具有非常好的易用性(與Cassandra不同)C#客戶端庫。此外,雖然碎片服務器在我的集羣上崩潰了幾次,但恢復總是能夠做到這一點(並且我對重新啓動並不太禮貌:-)並且我遇到的所有問題似乎都已經在開發分支中解決了 - 所以我對此不感到不舒服。 MongoDB和Cassandra缺乏的最重要的功能是支持二級索引。

所有這些解決方案都是基於磁盤的(例如磁盤上的持久性)。

我查看了3-5代碼,並在過去幾年(大約6年前)實施了我們自己的NoSQL解決方案,這些解決方案在過去幾年中一直用於數據存儲。說實話,MongoDB是我自己實現它的方式。

爲了完整性:我還沒有嘗試過的唯一東西是CouchDB ...但坦率地說,我對MongoDB非常滿意,我甚至不打擾。

-Stefan。