Many developers use Amazon SimpleDB in conjunction with Amazon Simple Storage Service (Amazon S3). Amazon SimpleDB can be used to store pointers to Amazon S3 object locations and detailed information about the objects (metadata), thereby supplementing Amazon S3 with the rich query functionality of a database. For developers storing large numbers of objects in Amazon S3, Amazon SimpleDB offers a flexible, scalable, and inexpensive way to store object metadata while offloading all of the administrative overhead associated with running a database. Common examples of object metadata that can easily be stored, indexed, and queried in Amazon SimpleDB include:
Data type or format (image, video, document)
User associations or access designations
Dates the object was created, accessed, or modified
Name or location of related objects
User ratings and comments
Subject or category tags
Geolocation tags
Storing metadata like the examples listed above is valuable for content delivery, media applications, backup and archiving applications, and many other application types. Amazon SimpleDB makes an ideal home for metadata because it provides:
Flexible, schema-less design: Easily append additional metadata attributes without “breaking” a rigid schema. If you want to start tracking user ratings for video objects, it won’t involve time-consuming database changes.
Multi-valued attributes: A metadata attribute can have multiple values. This means photos can be tagged with multiple people or music files with multiple genres.
Zero administrative overhead: In addition to removing the hassles of infrastructure provisioning and software installation and maintenance required to run a database, Amazon SimpleDB automatically indexes your data, tunes query performance, and creates geo-redundant copies of your data.
Amazon SimpleDB also provides low-friction scaling, automatically responding to changes in request volume, and only charging you a cost-effective amount for the resources you actually consume.