Amazon SimpleDB is a good choice for your Web application for its scalable, high avaliable, zero-configuration, schemaless. It’s ready to use. SimpleDB is written in Erlang.


Utilization-based pricing.

No charge for up to 1GB of ingres+egress, 25 machine hours, and 1GB storage.


Average put rate: 70 singleton puts/domain/sec

Netflix staff has forklift 1 billion rows into SimpleDB with a average rate: 10-11K items/sec.


Parameter Restriction

  • Domain size 10 GB per domain
  • Domain size 1 billion attributes per domain
  • Domain name 3-255 characters (a-z, A-Z, 0-9, ‘_’, ‘-’, and ‘.’)
  • Domains per account 100
  • Attribute name-value pairs per item 256
  • Attribute name length 1024 bytes
  • Attribute value length 1024 bytes
  • Item name length 1024 bytes
  • Attribute name, attribute value, and item name allowed characters
  • All UTF-8 characters that are valid in XML documents.

Control characters and any sequences that are not valid in XML are returned Base64-encoded. For more information, see Working with XML-Restricted Characters.

  • Attributes per PutAttributes operation 256
  • Attributes requested per Select operation 256
  • Items per BatchPutAttributesoperation 25
  • Maximum items in Selectresponse 2500
  • Maximum query execution time 5 seconds
  • Maximum number of unique attributes perSelectexpression¬†20
  • Maximum number of comparisons perSelectexpression¬†20
  • Maximum response size for Select 1MB
  • And not support for joins, full text search.

Query examples:

  • SELECT itemName() FROM log WHERE itemName() LIKE “77-11232%”
  • SELECT * FROM log WHERE itemName() LIKE “%:1169:%” order by itemName() asc
  • SELECT * FROM songs WHERE Year BETWEEN ’1980′ AND ’2000′
  • SELECT * FROM songs WHERE itemName() IS NOT NULL ORDER BY itemName() DESC
  • SELECT count(*) FROM songs WHERE Year < ’2000′

Useful links:

SDB Tool:

Amazon SimpleDB PHP class:
Examples of usage of SimpleDB PHP class:
Amazon S3 PHP class: