4

DynamoDB または SimpleDB が私の MongoDB ユースケースを置き換えることができるかどうか疑問に思っていましたか? これがMongoDBの使い方です

  • 15,000 エントリ、1 時間あたり 200 エントリ追加
  • (ensureIndex) を使用してインデックスが作成された 15 列
  • 列の半分は整数で、残りはテキスト フィールドです (基本的に、一意の値は 10 個以下です)。
  • 私は 1 時間あたり約 10,000 の DB 読み取りを実行していますが、現在 MongoDB を使用すると非常に高速です。オンラインの出会い系サイトです。したがって、平均的な Mongo クエリは、2 つの列 (例: 年齢と身長) で範囲検索を実行し、約 4 つの列 (例: 民族は A、B、または C... 宗教は A、B、またはロ C)。
  • limit と skip を非常に頻繁に使用しています (たとえば、最初の 40 エントリ、次の 40 エントリなどを取得します)。
  • 私はperlを使って読み書きします
4

2 に答える 2

10

AWS がホストする持続性ソリューションに直接移行したいので、質問していると思いますか? DynamoDB と SimpleDB はどちらも k/v ストアであるため、MongoDB などのドキュメント ストアの「ドロップイン」代替にはなりません。

limit/skip 1 (k/v 互換性の高いアプローチが必要) を除いて、すべての機能要件は、あなたが言及した 2 つのソリューションのいずれかで簡単に満たすことができます (ただし、私の意見では DynamoDB がより良いオプションです)。が本題になります。主な問題は、ドキュメント ストア、特に広範なクエリ機能を備えたドキュメント ストアから ak/v ストアに移行することです。スキーマを作り直し、インデックスを再考し、ak/v ストアの制約内で作業し、ak/v ストアの利点を活用する必要があります。

率直に言って、現在のソリューションが機能し、MongoDB が機能的に適切であると感じた場合、技術的な理由以外で非常に強力な理由がない限り (例えば、上司が望んでいるなど) 移行しないことは確かです ;) )

この動きを検討している理由は何だと思いますか?それとも、そもそもそれが可能かどうかを検討しているだけですか?

于 2012-02-20T09:07:13.223 に答える
4

完全なアプリケーションを AWS に置くことを計画している場合は、Amazon RDS (ホストされたマネージド MySQL) の使用を検討することもできます。MongoDB のドキュメント モデルが実際に必要かどうかは、あなたの説明からは明らかではないため、RDS のクエリ機能のみを考慮すると、必要なものに近づく可能性があります。

SimpleDB または DynamoDB のいずれかを使用する場合、おそらく、集計クエリに基づく機能のいくつかを再考する必要があります。SimpleDB と DynamoDB のどちらを選択するかに関しては、多くの重要な違いがありますが、あなたの観点から最も興味深いものは次のとおりです。

  1. SimpleDB はすべての属性にインデックスを付けます
  2. SimpleDB について学ぶために必要なヒントやコツがたくさんあります ( SimpleDB の使用中に Netflix の担当者が学んだことを参照してください) 。
  3. DynamoDB の価格モデルは、実際の書き込み/読み取り操作に基づいています ( DynamoDB に関する私のメモを参照してください) 。
于 2012-02-20T13:18:52.490 に答える