3

Rails CMS を使用して管理するモバイル アプリを構築しています。

私たちのアプリはどのように見えますか?

アプリのすべての管理者ユーザーは、非常に少量のデータ (約 50 個の短い文字列) で 1 つのプライベート チャネルを設定できます。

その後、ユーザーはアプリをダウンロードし、いくつかの異なるチャネルを登録して、サーバーからデバイスにデータを取得できます。データはローカルに保存され、管理者ユーザーがデータを更新しない限り、再度フェッチされることはありません (ただし、それほど頻繁には発生しないと想定しています)。各チャネルは、500 台を超えるデバイスで利用できません。

ユーザーはチャンネルに投稿できますが、このデータはデータベースではなく S3 に保存されます。

2 つの重要なポイント:

  1. ほとんどのチャネルは 5 か月間アクティブになりますが、500 ユーザーではありません +-. しかし、ほとんどの活動は同じ数日間に行われます。
  2. すべてのチャネルは少数のユーザー (500) 向けですが、数百千の管理者ユーザーに到達することを願っています。

Rails を使用して CMS を構築すると、SimpleDB を使用する方が DynamoDB を使用するよりも簡単であることがわかりました。しかし、私たちはサーバーの専門家ではないため、SimpleDB の限界を認識しており、SimpleDB が必要な量のデータ転送を処理できるかどうかはわかりません (アプリが成功した場合)。もう 1 つの重要な点は、DynamoDb のコストがはるかに高く、使用に依存しないことです。一方、SimpleDb は最初ははるかに安価です。

質問は:

  1. simpleDB は私たちのニーズを満たすことができますか?
  2. サービスが将来的に成長する場合、後で dynamoDB に移行できますか?
4

1 に答える 1

3

新しいプロジェクトから始めて、その使用法から何を期待できるかをよくわかっていないので、SimpleDB を使用することをお勧めします。あなたの使用量が非常に高くなるとは思えませんが、SimpleDB はそれを問題なく処理できるはずです。dynamoDB の真価は、実際に多くの負荷がかかっているときに発揮されます。あなたはその範疇に入らないようです。

アプリケーションを正しく設計すれば、ある時点で SimlpeDB が機能していないと判断した場合に、SimpleDB と DynamoDB を切り替えるのは簡単な作業になります。私は自分のソフトウェアの他のコンポーネントで、この種の切り替えを常に行っています。どちらのデータベースも NoSQL であるため、2 つの間の変換に問題はありません。SimpleDB で使用するすべての機能が DynamoDB で利用できることを確認してください。DynamoDB にはインデックスを使用するより厳しい要件があり、2 つが互換性があることを確認してください。

そうは言っても。多くの人がアプリケーションに SimpleDB を使用しており、製品が実際に軌道に乗らない限り、パフォーマンスの問題が発生することはないと思います。その時点でリソースに投資して DynamoDB に移行できます。

あなたがすでに述べたように、私たちは価格を持っています。SimpleDB は、ユース ケースの明らかなソリューションです。

于 2012-03-17T19:48:46.343 に答える