私はAmazonクライアントライブラリが苦労しているため、Perlで簡単にアプリケーションを移植するためのライブラリを作成しました。Net :: Amazon :: SimpleDB :: SimpleライブラリはまだCPANにはありませんが、それはhttp://rjurneyopen.s3.amazonaws.com/SimpleDB/Simple.pmです。考え方は、SimpleDBの内外にハッシュを埋め込むことは簡単です。
私はアプリを使用するために移植しました。全体的に私はSimpleDBに感銘を受けています...たとえ非効率的なクエリでさえ、2〜3秒で返されます。 SimpleDBは、Erlang/parallel性質のため、テーブルのサイズに気にしないようです。テーブルキャンは簡単です。
痛みは、カウントすること、合計すること、グループ化することができないという事実から来ています。もしこれらのことをするつもりなら、おそらくSimpleDBはあなたのためではありません。現時点では、それはmemcachedとMySQLの間のどこかに存在します。あなたはリミットで選択することができます。これはいいですね。また、あなた自身でスケールする必要はありませんし、あなたがそれにどれくらいのものを入れるかは気にしません。しかし、アナリティクスなどの高度な操作は、最高の状態で苦労しています。あなた自身の計算サーバー側を行う必要があります。また、私のデータを照会するのにsimpledb CLI http://code.google.com/p/amazon-simpledb-cli/を使うことができます。
混乱している「落書き」があります。たとえば、属性は複数の値を持つことができ、アイテムを格納するときは明示的に '置換'を設定する必要があります。また、undefまたはnull文字列を格納すると、その属性名と値のペアを削除したり、空文字列を設定したりする代わりに、ライブラリエラーが発生します。
ほとんど正規化されていない方法で考えることはちょっと変わってしまいました。なぜなら、それは新しいアプリケーションに最適だという上記の提案よりも2番目の理由でしょう。 SQLアプリケーションからSimpleDBへの移植は、アプリケーションロジックを変更する必要があるため、苦労します。あなたが物事をする方法は少し異なります。アマゾンのドキュメントはこれを説明するのにかなり良いです。
これらはすべてSimpleDBの上にあるライブラリで抽出できます。したがって、SimpleDBを使用するには、良いライブラリを選びたいと思っています。おそらく直接対処したくないでしょう。簡単にするためにPHP側でいくつかの作業があり、私のライブラリがあります。 RAILSの活動ソースがありますが、それはあなたのためにあまり働かないようです。
他のAPIと比べると、まだまだ早い段階ですが、SimpleDB REST APIは非常にシンプルです(特にXMLだと考えています)。と。私はそれをお勧めします...あなたのアプリケーションの要件とそれのあなたの使用の経済性に応じて。 DBに大きな負荷をかけず、スケーラブルなMySQL/memcacheコンボを気にしたくないサービスを急速に拡張しようとしているなら、SimpleDBは簡単なソリューションを提供することができます。
私はその機能がさらに成長し、より複雑で面白いことをするアプリケーションが増えていくことを期待しています。しかし今は、典型的なWeb 2.0サービスをターゲットとしており、適切です。
RDS> MySQLはかなり高価です! – Jasper