Amazon SimpleDB の制限事項

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon SimpleDBの制限あれこれ

AWSの事例を見ていると、SimpleDBはソーシャルゲームなどでも使われているそうです。かなり大きなデータ量でもパフォーマンスが落ちることなく活用できるのはクラウドの醍醐味ですよね。今回は、SimpleDBが持っている制限を知ることによって、活用ポイントについてより詳しく知りたいと思います。

Domainの制限

Domainは1AWSユーザアカウントごとに250まで登録することができます。1Domainあたりの制限は、10GBのデータ量、10億Attribute、3-255文字の名前です。10億Attributeとは数の大きさに驚きですね。

ItemとAttributeの制限

Itemに関する制限は名前を1024byte以下にすることだけで他にありません。ということは、Attributeの数だけ気にすればよさそうですね。Attributeは、名前と値ともに1024byte制限があります。とても短いですね。ということは、大きなデータの保存には向いていないということが分かります。もし、大きなデータを扱いたい時にはS3へのリンクとなるIDを保存する方法が現実的です。

PutAttributesとSelectの制限

SimpleDBへの操作にもいくつか制限があります。PutAttributesとSelectは、最大で256のAttributeまでしか指定できません。BatchPutAttributesoperationは25Itemまで同時に処理できます。Select結果の制限は、2500Itemまでで、5秒以内に終わり、1MB以内のデータである必要があります。Select式では、20以内にAttributeの比較を抑える必要があります。

まとめ

SimpleDBに出会ったころは、なんでもSimpleDBに入れておけばRDBは必要なくなると思っていましたが、上記のような制限を知ることによって使いどころがはっきりしてきました。SimpleDBは、大量の小さいデータの保存はできても、複雑な検索や結果件数が多い検索には向いていないのではと思います。利用者アカウント情報などの一意に特定するデータを大量に保持する場合にはSimpleDBは向いているのではと感じました。まさに欧米でソーシャルゲームのプラットフォームとして活用されている例かと思います。用法を理解して楽しく使いましょう。