41

SaaS製品には、HerokuのMongoDBデータベースアドオンを使用しています。AmazonがクラウドデータベースサービスであるDynamoDBを立ち上げた今、それがNoSQLオファリングの展望をどのように変えるのか疑問に思いました。

特にクラウドベースのサービスまたはSaaSベンダーの場合、MongoDBと比較して、DynamoDBの使用はどのように良くなるか悪くなるでしょうか。一方を他方に対して使用することのコスト、パフォーマンス、スケーラビリティ、信頼性、ドライバー、コミュニティなどの利点はありますか?

4

8 に答える 8

10

まず第一に、Amazon の専門家チームによって完全に管理されるため、エンド ユーザー (開発者) からの入力が実質的になくても、非常にうまくスケーリングされることは間違いありません。

また、Amazon によって構築および管理されているため、Amazon のインフラストラクチャで非常にうまく機能するように設計されていると想定できるため、パフォーマンスが一流になると想定できます。インフラストラクチャ用に特別に構築されていることに加えて、SSD をストレージとして使用することを選択したため、最初から、HDD でバックアップされている AWS の他のデータ ストアよりもディスク スループットが大幅に高くなります。

私はまだドライバを見たことがなく、コミュニティがこれにどのように反応するかを伝えるのは時期尚早だと思いますが、Amazon は最も人気のあるすべての言語のドライバを持っており、コミュニティはこれをうまく受け取り、ひいては作成するでしょう。追加のドライバーとツール。

于 2012-01-19T14:34:03.067 に答える
5

Herokuのアドオンを介してMongoDBを使用すると、MongoDBも効果的にSaaS製品になります。

実際には、ある永続化ソリューションを別のソリューションと比較するのではなく、選択したプロバイダーが提供できるサービスと比較したサービスを比較することになります。

これを行うのは非常に困難です。各プロバイダーは、さまざまな価格帯でさまざまなレベルのサービスを提供し、開発目的でローカルに独自のハードウェアで実行するオプションを歓迎するオプションと見なすことができます。

于 2012-01-20T23:02:58.973 に答える
5

考慮すべき重要な違いは、DynamoDB が Amazon (AWS) からホストされたサービスとして独占的に利用できる SaaS であるため、MongoDB はどこにでも (AWS または他のクラウド サービスまたは社内を含む) インストールできるソフトウェアであると思います。アプリケーションを社内でホストするオプションを維持したい場合、DynamoDB はオプションではありません。AWS 以外でのホスティングが考慮されない場合は、非常に特定の機能が優先される場合を除き、DynamoDB がデフォルトの選択肢となります。

于 2012-09-20T16:11:12.290 に答える
5

次のリンクに、DynamoDB と Cassandra の属性をまとめた表があります。

http://www.datastax.com/dev/blog/amazon-dynamodb

DynamoDB をより使いやすくするために改善が必要なことは、主キー以外の列にインデックスを付ける可能性です。

更新 1 (2013 年 6 月 4 日)

2013 年 4 月 18 日、Amazon はローカル セカンダリ インデックスのサポートを発表しました。

http://aws.amazon.com/about-aws/whats-new/2013/04/18/amazon-dynamodb-announces-local-secondary-indexes/

于 2012-03-07T16:52:59.457 に答える
3

DynamoDB と他の NoSQL 製品との主な違いの 1 つは、プロビジョニングされたスループットです。テーブルの特定のスループット レベルに対して料金を支払い、データを十分に分割しておくことで、常にそのスループットを満たすことが期待できます。そのため、アプリケーションの負荷が増大するにつれて、スケールアップしてパフォーマンスをほぼ一定に保つことができます。

于 2012-07-26T06:45:43.503 に答える
3

私は正直でなければなりません。新しい DynamoDB について聞いたときはとても興奮し、昨日のウェビナーに参加しました。しかし、彼らが言ったことはまだ非常に漠然としていたので、今決断を下すのはとても難しいです。サービスを通じて許可/使用される機能がわかりません。

私が知っていることの 1 つは、スケーリングが自動的に処理されることです。これは非常に素晴らしいことですが、まだ不明な点が非常に多いため、すべての事実が明らかになり、それを使用できるようになるまで、優れた分析を行うのは困難です.

これまでのところ、私が取り組んできたプロジェクトの取り組みにおいて、mongo の方が (個人的には) ずっとうまく機能していると思います。

ほとんどの DB の決定と同様に、ニーズに最適なものはプロジェクトごとに決定されます。

今のところベータ版ですが、テスターに​​なるためだけに最新かつ最高の製品を採用するために船を飛ばすつもりはありません:)

于 2012-01-19T16:58:54.500 に答える
1

Amazon DynamoDB はかなりまともな NoSQL ソリューションのようです。高速で、かなり使いやすいです。AWS アカウントを持っていることを除けば、実際にはセットアップやメンテナンスは必要ありません。機能セットと API は、MongoDB/CouchDB/Cassandra に比べて現時点ではかなり小さいですが、開発者コミュニティからのフィードバックを受けて、時間の経過とともに大きくなると予想されます。現在、すべての公式 AWS SDKには DynamoDB クライアントが含まれています。

于 2012-02-02T17:41:03.027 に答える
0

長所

  1. 超高速 (内部で SSD を使用)
  2. 本当に(本当に)信頼できます。(書き込み失敗の可能性が低くなります)
  3. シームレスなスケーリング (手動でシャーディングする必要はありません)
  4. Web サービスとして動作 (サーバーなし、構成なし、インストールなし)
  5. 他の AWS 機能と簡単に統合 (テーブル全体を S3 に保存したり、EMR を使用したりできます)
  6. レプリケーションは内部で管理されるため、データが偶発的に失われる可能性はほとんどありません。

短所

  1. 非常に (非常に) 制限されたクエリ。
  2. スキャンは苦痛です (Java を介したスキャンが 6 時間実行されたことを覚えています)。
  3. つまり、設定されたスループットを超える急激な増加は調整されます。
  4. テーブルが内部でシャーディングされるため、スループットは分割されます。(つまり、1000 のスループットがあり、2 つに分割されていて、(1 つの部分から) 最新のデータのみを読み取る場合、読み取りのスループットは 500 のみです)
  5. 結合なし、制限されたインデックス作成が許可されます (基本的に 2)。
  6. ビュー、トリガー、スクリプト、またはストアド プロシージャはありません。

スケーラブルなアプリケーションでのセッション ストレージの代替として非常に優れています。別の適切な使用法は、大規模なシステムでのログ記録/監査です。機能強化や変更が頻繁に行われる機能豊富なアプリケーションには適していません。

于 2016-11-16T21:56:11.500 に答える