該表的方式過時了:
- 主從複製,取而代之的副本集已棄用對於初學者,也一致性是錯誤的那裏。您需要完全重讀MongoDB文檔的這一部分。
- Map/Reduce只是JavaScript,沒有其他的。
- 我不知道附件中的表格是什麼意思,但GridFS是內置於驅動程序中的存儲標準,可幫助您更輕鬆地在MongoDB中存儲大文件。元數據也通過這種方法得到支持。
- MongoDB在2.2版本上,所以它之前提到的任何版本現在已經過時(即分片和單服務器耐久性)。
我沒有用CouchDBs接口存儲文件的個人經驗,但是如果兩者之間幾乎沒有任何區別,我不會感到驚訝。我認爲這部分對我們來說太過主觀,我們不能回答,你只需要選擇哪一套更好。
實際上可以構建多區域的MongoDB集羣(其中S3存儲區不可以在沒有工作的情況下進行復制),並通過MongoDB將世界上特定地區的訪問最多的文件複製到這些集羣中。
我的意思是我有時發現的主要結果是MongoDB可以像S3和Cloudfront一樣組裝起來,這很好,因爲您擁有冗餘存儲和分配數據的能力。
然而,據說S3在這裏是非常有效的選擇,我會認真試一試,你可能不會在內容網絡中尋找和我一樣的東西。
文件的數據庫存儲沒有嚴重的缺點,但速度不應該是一個巨大的問題,因爲您應該從無Cloudfront的S3獲得相同的速度,您應該從MongoDB獲得相同的速度(請記住S3是一個冗餘存儲網絡,而不是CDN)。
如果您要使用S3,那麼您將在數據庫中存儲一行指向該文件幷包含關於該文件的元數據。
感謝您的信息。 NoSql是亞馬遜用於S3/DynamoDB的什麼?如果它對文件存儲有好處,也許這將是另一種選擇(使用他們的數據庫)。或者下一個類似的NoSql到S3/DynamoDB是什麼? – silla
我不確定他們在S3後面使用的技術我認爲他們使用高IOP文件系統服務器作爲一個集羣在數據中心的單個子區域內集羣(即沒有弗吉尼亞州區域存在只有美國存儲桶)prolly優化專用SSD支持。他們可能會使用數據庫來跟蹤文件段,但我不確定它背後的技術。我相信Dynamo是他們自己的技術,就像Facebook創建的Cassandra一樣,我認爲它是有限的,如果它允許的話,它對於文件存儲來說是相當昂貴的,並且對於某些文件的需求可能太慢。 – Sammaye