2011-11-22 71 views
0

我保留某種內容類型的內容修訂歷史記錄。它存儲在MongoDB中。但由於數據並不經常被訪問,我並不需要它,佔用內存。我會把它放在一個較慢的硬盤數據庫中。內容修訂歷史移動數據庫?

我應該放哪個數據庫?我正在尋找一些非常便宜的產品,並提供雲託管服務。我不需要速度。我正在看SimpleDB,但它看起來不太受歡迎。由於我的數據結構化爲文檔,rdbms看起來似乎不夠容易處理。我有什麼選擇?

感謝

+1

它是你擔心的磁盤空間嗎?因爲如果您根本不訪問集合,它將不會佔用MongoDB中的內存(如RAM)。 – Thilo

+0

是的,但我正在使用雲主機。他們向我收取多少存儲空間,無論它是否在內存中。 – Harry

+0

'雲託管'應該是什麼?你的數據有多大,存儲真的是一個問題(>> 1TB)?你可以花多少錢?最重要的是:如果你關心的是數據大小,數據庫應該如何改變?也許你想考慮增量壓縮?如果您關心的是存儲大小,壓縮文件夾會有幫助嗎? – mnemosyn

回答

0

取決於你想要多久看這個舊數據:

你爲什麼不它時,你想回去mongodump到本地磁盤和mongorestore。

文檔here

OR

設置本地蒙戈實例,並使用基於您的問題和意見的信息here

+0

我希望能夠像訪問正常數據一樣訪問它並進行查詢。我需要把它放在一個更便宜的數據庫中,而不是隱藏它。我也不想管理自己的數據,寧願將其留給雲服務。 – Harry

0

克隆的數據庫,你可能無法找到完美的解決方案。您想要免費或低價的便宜存儲空間,並且希望在線提供您的數據。

只有一個解決方案,我可以看到可行的:

  1. 棒用MongoDB的。 SimpleDB不允許你存儲文檔,只有鍵值對。
  2. 您可以爲您的歷史創建一個單獨的集合。使用可爲您提供免費套餐的雲服務。例如,http://MongoLab.com可爲您提供240Mb免費套餐。
  3. 如果您超過免費套餐,您可以查看丟棄最舊的數據,將其移至離線存儲或開始爲您使用的內容付費。

如果你的數據增長很多,你將不得不作出是否爲它付費的決定,保持它可以在線或離線使用,或放棄它。

+0

我已經在使用http://MongoLab.com,並且正在尋找更便宜的東西來存儲我的舊數據。我使用它們來存儲我的實時數據......在這一點上,我正在考慮自己託管數據庫,並且只是備份到S3。 – Harry

+0

但是通過這樣做,您將不具備在線系統的可靠性,並且您將爲將在其中離線託管數據的服務器付款。答案的要點是強調您將以這種或那種方式支付解決方案,即支付託管費用,或爲自己的服務器支付費用,或者如果您擁有脫機存儲,則犧牲可用性來支付費用。您只需要優先考慮放置在頂端的功能:可用性或成本。祝你好運。 – agarcian

0

如果您正在處理大量大對象(BLOBS或CLOBS),您還可以將與數據庫分開的「非索引」數據存儲起來。這使數據庫既便宜又快速。需要時,可以從任何便宜的存儲中檢索大型對象。

0

Cloudant.com是非常酷的託管您的數據庫在雲中,它使用的大Couch這是一個nosql的東西。我將它用於我的社交網站,因爲Couch DB(Big Couch)類似於開放式結構,您可以通過JSON與它交談。它非常棒的東西,但很奇怪,從SQL轉移到使用Map-Reduce,但一旦你做到了它的價值。我做了一些研究,因爲我很長一段時間是一個.NET人物,但是轉向Linux和Node.js的部分原因是JavaScript和JavaScript的熱愛。這些東西只是合在一起,因爲Node.js是後端的所有JavaScript,並且無縫地與Couch DB交談,整個事情都變得瘋狂。