web-dev-qa-db-ja.com

Amazon SimpleDBとAmazon DynamoDB

Amazon SimpleDB とは何か基本的な理解はありますが、 Amazon DynamoDB の説明によれば、ほぼ同じようです: NoSQL Key-value store サービス。

誰かが単にそれらの間の主な違いを説明し、どのケースで選択するかを伝えることができますかone over other

187
Bilgin Ibryam

これは、それぞれのFAQで対処されています Q:Amazon DynamoDBはAmazon SimpleDBとどのように違いますか?どちらを使用すべきですか? (ハッシュリンクは機能しなくなりましたが、ページ内検索を使用して段落の最後に最も簡潔な要約を使用して、ページ内の質問をある程度見つけます):

SimpleDBにはスケーリングの制限がありますが、クエリの柔軟性を必要とする小規模なワークロードには適している場合があります。 Amazon SimpleDBはすべてのアイテム属性に自動的にインデックスを付けるため、パフォーマンスとスケールを犠牲にしてクエリの柔軟性をサポートします。

したがって、パフォーマンス/スケーラビリティとシンプルさ/柔軟性の間のトレードオフです。つまり、より単純なシナリオでは、SimpleDBを使い始めるのが簡単な場合があり、DynamoDBのアプリケーションを構築する複雑さを回避できます(別の観点については以下を参照してください)。

リンクされたFAQエントリは、Werner Vogelの Amazon DynamoDB –インターネットスケールアプリケーション向けに設計された高速でスケーラブルなNoSQLデータベースサービス を参照しています。これは、 AmazonでのNoSQLの歴史全般、特にDynamo;それはあなたの質問に対処するより多くの洞察を含んでいます。

開発者[Amazonエンジニアでさえ]は、「足で」投票し、クラウドベースのAWSを採用したため、きめ細かい制御よりもシンプルさを強く好むことが明らかになりました。 Amazon S3やAmazon SimpleDBなどのDynamo上のソリューション。 [追加鉱山]

明らかに、これに対処するためにDynamoDBが導入されているため、既存のNoSQLオファリングを「ただ」修正するのではなく、SimpleDBの後継として認定することができます。

理想的なソリューションは、元のDynamo設計の最適な部分(インクリメンタルスケーラビリティ、予測可能な高パフォーマンス)とSimpleDBの最良の部分(クラウドサービスの管理の容易さ、一貫性、およびテーブルベースのデータモデル純粋なKey-Valueストアよりも豊富です)。

Werner'sSummaryは、DynamoDBがあらゆるサイズのアプリケーションに適していることを示唆しています。

Amazon DynamoDBは、予測可能な高いパフォーマンスを維持し、小規模から最大規模のインターネット規模のアプリケーションまで、あらゆる規模のワークロードに対して高いコスト効率を実現するように設計されています。

166
Steffen Opel

simpleDBまたはDynamoDBを使用します。ユースケースによって異なりますが、 DynamoDBではなくSimpleDB を使用して、私の経験の一部を共有しました。別の製品では、SimpleDBとDynamoDBの両方を使用して異なるデータを保存しました。

23
Mason Zhang

SimpleDBは最近Amazonから愛を得ていないようです。AWSConsoleでプロビジョニングする場所を見つけることすら困難です。 SimpleDBはもうイテレートされていないようです -AWS上のドキュメントデータベースの最初の選択肢としてDynamoDBを使用します。

SimpleDbはもはや「反復」されていません。 simpledbの将来の新しい開発はないことを意味します。 「維持およびサポート」されていますが、それ以上改善されることはありません。

12
saille

3つの主な違い:

  1. 索引付け

    • SimpleDBは、テーブルの「EVERY」フィールドのインデックスを作成します。
    • DynamoDBでは、データベースを作成する前にインデックスフィールドを設定する必要があり、変更できません。
  2. 価格:

    • SimpleDBの価格は、マシン時間とストレージ容量に基づいています
    • DynamoDBは、1秒あたりの読み取り/書き込みレコードの容量に応じて料金を請求します。
  3. スケーラビリティ:

    • データストレージが10GBを超える場合、SimpleDBは手動でパーティション分割する必要があります。
    • DynamoDBは、データを内部で自動的に配信するため、非常に高いスケーラビリティを提供します。
6
Sagar Ranglani

以前の違いの1つは(@Mason Zhangが上記の記事で述べているように)インデックス作成にありました。 DynamoDBでは、テーブルの作成時にインデックスの作成に制限されていました。ただし、現在(2014年初頭以降)、グローバルセカンダリインデックス(GSI)の概念があります。 GSIはいつでもテーブルに作成できます。最大5つがサポートされています。そのため、多くのユースケースでインデックス作成がブロックの問題ではなくなりました。

SimpleDBにはサイズとパフォーマンスの制限があることも知っておく必要があります。 (10GBと言うと、25リクエスト/秒)

おそらく最終的に、DynamoDBは、最も単純なユースケース以外のすべてでSimpleDBを置き換えます。

5
kalyanmysore

簡単に言えば、両方のデータストアはNoSqlです。

違いはスケーラビリティにあります(他にもいくつかの側面がありますが、私の意見ではスケーリングが最大の価値を持っています)。 SimpleDBはMongoDBに非常に似ていますが、スケーリングに関しては limitations がたくさんあります。

ただし、DynamoDBを使用すると、小さなをプロビジョニングし、必要な数のプロビジョニングされたスループットをスケールアップできます。不要な場合は縮小します。 (つまり、プロモーション中に、このようなセレブ紹介サインアップなどのシナリオには、ハードウェア要件の時間ベースのスパイクがあります)

0
Gayan Hewa

Simple DBとDynamo DBの大きな違いは次のとおりです。

  1. レイテンシの観点から予測可能なパフォーマンスを実現し、レイテンシとスループットを犠牲にすることなく大容量を処理できます。 DynamoDBはパーティションキーを使用してこれを実現します
  2. カスタマイズ可能な最適化の読み取り、書き込み
  3. 一貫性のあるハッシュアルゴリズムを使用するため、より良い結果整合性モデル
0
webjockey