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.

Pricing

Utilization-based pricing.

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

Performance

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.

Limits

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: http://code.google.com/p/sdbtool/

Amazon SimpleDB PHP class: http://sourceforge.net/projects/php-sdb/
Examples of usage of SimpleDB PHP class: http://webmasterinresidence.ca/simpledb/
Amazon S3 PHP class: http://undesigned.org.za/2007/10/22/amazon-s3-php-class


1. The 1 year free tier

This means you can experience all of the Amazon Web Service for free. Including EC2, RDS, S3, etc.

2. Community and Support

Amazon itself do not provide very good support, but there is a community of developers and companies providing AWS related technology support.

3. All in one place

You can find almost all necessary component of you web stack, though some component is not very good, but All in one means it is well integrated.

4. Scalable and AutoScaling

You can scale up to more machine if there are high traffic at some time, and scale down to less machine to save the hosting cost. And it can be automatically scale up and scale down.

5. Cross Region and multi-AZ

You can build up your web stack cross multiple region, this means your website is alive even one region is die. You site is active on multiple active zone.

6. RDS

RDS of AWS is better then any other database hosting. You can have hot standby at another region, multiple master database at the same time.

And Master-Slave setup is also very easy. Backup is very easy and you even do not to care about this.

7. S3

S3 is easy to use. You can sync your files to S3 bucket with one command, this means you can write to disk, but read from S3.

8. Route 53

Route 53 provide DNS layer health detect. You can use Route 53 as the HA solution for multiple IDC.