SimpleDB を使用して、アプリケーションの最も困難な領域 (スケーリングに関する限り) を処理できると考えていました。これは、Twitter のようなコメントですが、一番上に位置があります。実際に実装を開始するまでは、 SDB。
まず、SDB には属性値ごとに 1000 バイトの制限があり、これはコメントに対してさえ十分ではありません (おそらく、より長い値を複数の属性に分割する必要があります)。
そして、最大ドメインサイズは 10GB です。SDB はデータの負荷が増加しても劣化しないため、データベースのシャーディングなどを気にせずにスケールアップできるという約束でした。しかし、私が正しく理解していれば、ドメインではシャーディングとまったく同じ問題が発生します。ある時点で、アプリケーション レベルでドメイン全体にデータ レコードの分散とクエリを実装する必要があります。
アプリケーション全体で私が持っている最も単純なオブジェクトでも、つまり. アトミック ユーザー評価、SDB はオプションではありません。クエリ内で平均を計算できないためです (すべてが文字列ベースです)。したがって、オブジェクトの平均ユーザー評価を計算するには、すべてのレコード (一度に 250 件) をロードし、アプリケーション レベルで計算する必要があります。
SDB について何か不足していますか? 10GB は、SDB のすべての制限を克服するのに十分な量のデータベースですか? 私はすでに S3 と EC2 を使用しているので、SDB を利用することに正直に熱中していましたが、今ではユースケースが見当たりません。