これまでに 1 つの実稼働環境まで SimpleDB を使用してきました。実稼働負荷はそれほど高くありませんでしたが、負荷テストは必要以上に高いレベルで実行され、SimpleDB はこれに非常にうまく耐えました。
たとえば、24 時間年中無休で支払う準備ができているセットアップと同じくらい信頼できる RD と比較して、SimpleDB は全体的に非常に優れたアップタイム特性と信頼性を持っているようです。まあ、これは便利です。
また、データの損失もまだ見たことがありません.SimpleDBのインスタンスを実行するという概念がないため、再起動もありません.RDSでは、RDSインスタンスを実行するEC2インスタンスの通常の管理をすべて話している.
一方、ご指摘のとおり、データベース内で機能を実行することはできず、非常に限られた一連の操作 (実際には count(*) だけ) の外で実行することはできないため、アプリケーション層で実行する必要があります。
また、各リクエストが HTTP リクエストであるが同時接続数の制限がはるかに少ない SimpleDB とは対照的に、接続が長時間実行される JDBC を介して作業することの間の考え方の変化を過小評価してはなりませんが、貴重な商品です。
私の場合、SimpleDB を初めて本番環境で使用したとき、いくつかの高負荷テストと印象に残らない結果が必要でした。これは、通常はわいせつに見えるレベルまで操作を並列化できることを意味することに気付きました。元のプラムを使用して、これらのカウントを「SELECT COUNT(*)...」を介して連続的に取得するのではなく、一度に 100 個のこれらの要求を並行して作成し、簡単に高くすることができました。
TL;DR - NoSQL アプローチへの考え方の変化を過小評価しないでください。