すべてのビジネストランザクションを処理するリレーショナルデータベースがある環境では、すべてのデータクエリにSimpleDBを利用して、より高速で軽量な検索を行うことをお勧めしますか?
したがって、マスターデータストレージは、JOINSや複雑な副選択が必要ないため、非常に高速な読み取り専用クエリを提供するためにSimpleDBに「複製」/「変換」されるリレーショナルDBになります。
すべてのビジネストランザクションを処理するリレーショナルデータベースがある環境では、すべてのデータクエリにSimpleDBを利用して、より高速で軽量な検索を行うことをお勧めしますか?
したがって、マスターデータストレージは、JOINSや複雑な副選択が必要ないため、非常に高速な読み取り専用クエリを提供するためにSimpleDBに「複製」/「変換」されるリレーショナルDBになります。
あなたが考えているのは時期尚早の最適化の匂いです...
アプリケーションのベンチマークを行いましたか?検索クエリをパフォーマンスのボトルネックとして特定しましたか?データベースにインデックスを正しく実装しましたか?
リレーショナルデータベースを使用してユーザーに適切な検索時間を提供する方法がない場合(そしてそれは大きなことです)、NOSQLに移行することは検討する価値があるかもしれません...しかし以前はそうではありません!
データの大部分が読み取り専用の場合は、インデックス付きビューを使用してみてください。それ以外の場合は、アプリケーションにデータをキャッシュします。
まだ信じがたいことですが、私たちの実験によると、EC2 インスタンスから simpledb へのラウンドトリップは、天気の良い日には平均で 300 ミリ秒程度になることがわかりました! 悪い日には、1.5 秒まで下がることがわかりました。これはシングルインサート用です。これらの結果を検証するために誰かが実験を再現するのを見たいと思っていますが、現状では... simpledbは後処理以外のソリューションではありません-リクエスト/レスポンスサイクルでは、遅くなるだけです.
SimpleDB は優れたテクノロジですが、その名声はリレーショナル データベースよりも高速なクエリではありません。レプリケートされた SimpleDB にクエリをオフロードしても、クエリの応答時間が大幅に改善されることはほとんどありません。