2012-01-22 159 views

回答

146

這是由各自的FAQ Q: How does Amazon DynamoDB differ from Amazon SimpleDB? Which should I use?處理(散列鏈接不再起作用,但在網頁使用查找定位頁面內的問題)已經在一定程度上,與在該段末尾的最緊湊的總結:

雖然SimpleDB具有擴展限制,但它可能非常適合需要查詢靈活性的較小工作負載。 Amazon SimpleDB 自動索引所有項目屬性,因此支持查詢 靈活性,代價是性能和規模。

所以這是關閉的性能/可擴展性和簡單性/靈活性之間的平衡,即對於簡單的場景中它可能仍然是比較容易入門的SimpleDB避免architecturing你申請DynamoDB(參見下面的不同角度的複雜性)。

鏈接的常見問題條目引用維爾納·沃格爾Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications爲好,這確實是關於歷史的NoSQL的亞馬遜一般和迪納摩尤其是複雜的,因此強烈推薦讀;它還包含更多針對您的問題的見解,例如

很明顯,因爲他們投票「用腳」,並通過 基於雲的AWS解決方案,如Amazon S3和SimpleDB的開發人員[甚至亞馬遜的工程師]強烈的首選簡單到 細粒度的控制,超過 迪納摩。 [此外礦井]

顯然DynamoDB已被引入到解決這個問題,並可能因此被定性爲SimpleDB中的繼任者,而不是「只是」修改其現有的NoSQL產品:

我們得出的結論一個理想的解決方案可以將原始的Dynamo設計(增量可伸縮性,可預測的高性能)的最佳部分與SimpleDB的最佳部分(易於管理的雲服務的 ,一致性和基於表的數據模型 比純粹的鍵值存儲更豐富)。

維爾納摘要建議DynamoDB是一個很好的適合任何規模的應用程序現在相應:

亞馬遜DynamoDB旨在保持可預見的高性能 和很好的成本高效爲工作負載任何規模,從最小的 到最大的互聯網規模的應用程序。

20

使用SimpleDB或DynamoDB,這取決於您的使用案例,我分享了我的一些使用經驗SimpleDB in some cases instead of DynamoDB。在另一款產品中,我使用SimpleDB和DynamoDB來存儲不同的數據。

+13

喜歡的崗位 - 不會傷害總結在這裏 –

+0

喜歡的職位也是如此。 @Mason,您對SimpleDCB如何從AWS產品控制檯中慢慢消失的想法有什麼想法?你還在使用SimpleDB還是已經遷移了? –

+1

@DavidRobbins SimpleDB可能已被AWS棄用,但它仍然存在,並且完美適合我的數據模式。我還沒有遷移我的代碼,也沒有打算這樣做。但對於新產品,我選擇其他數據庫,如dynamodb或mysql。 –

4

過去的一個分歧是(正如@Mason Zhang在他上面的文章中指出的)在索引中。 DynamoDB用於限制您在創建表時創建索引。 但是,現在(自2014年初以來),有全球二級指數(GSI)的概念。 GSI可隨時在桌面上創建。 Upto 5支持。 因此,對許多用例來說,索引不再是一個阻塞問題。

您還應該知道SimpleDB具有大小和性能限制。 (10GB和25個請求/秒)

也許最終,DynamoDB將在最簡單的用例中取代SimpleDB。

0

簡而言之,兩個數據存儲都是NoSql。

不同之處在於可擴展性(和其他一些方面,但縮放在我看來是最大的價值)。 SimpleDB與MongoDB非常相似,但在縮放時有一堆limitations

但是,DynamoDB可讓您調配小型,並擴展您所需的預置吞吐量。當不需要時縮小。 (即在推廣期間,Celebrity推薦註冊等情況下會有這樣的硬件需求峯值)

2

SimpleDB似乎沒有從亞馬遜這些天獲得任何愛 - 它甚至很難找到在哪裏在AWS控制檯中進行配置。 Seems like SimpleDB is no longer being iterated on - 使用DynamoDB作爲您在AWS上的文檔數據庫的首選。

SimpleDb不再是真正的「迭代」。這意味着simpledb將來不會有新的開發 。這是「維持和支持」,但它不會變得更好。

+0

完美無法改進! – dividebyzero

0

我相信簡單DB的主要區別VS迪納摩DB在延遲方面

  1. 可預測的性能,並能夠處理高容量而不影響延遲和吞吐量。 DynamoDB使用分區鍵
  2. 閱讀實現這一點,寫一個可定製
  3. 更好的最終一致性模型的優化,因爲使用一致性哈希算法的
0

3個關鍵的區別:

  1. 索引

    • SimpleDB在表中爲「EVERY」字段創建索引。
    • DynamoDB您必須在創建數據庫之前設置索引字段,並且無法修改。
  2. 定價:

    • SimpleDB的定價是基於機器工作時間和存儲容量
    • DynamoDB的閱讀能力充錢/寫入每秒記錄。
  3. 伸縮性:

    • SimpleDB的需要手動分區如果數據存儲超過10GB。
    • DynamoDB自動分配數據,從而提供非常高的可伸縮性。