Amazon SimpleDB is a highly available and flexible NoSQL column database system that enables developers to store and query structured data items via Web services requests. Designed to provide high availability and flexibility, Amazon SimpleDB reduces the database administration burden.
Amazon SimpleDB features
Amazon SimpleDB provides a simple Web services interface to create and store multiple data sets, query your data and return the results. Highlights include:
- Subscriber, which is any application, script or software making a call to the Amazon SimpleDB service. The AWS Access Key ID uniquely identifies each subscriber for billing and metering purposes.
- Amazon SimpleDB Request, which is a single Web service API call and its associated data that the subscriber sends to the Amazon SimpleDB service to perform one or more operations.
- Amazon SimpleDB Response, which is the response and any results returned from the Amazon SimpleDB service to the subscriber after processing the request. The AWS platform handles authentication success and failure.
Amazon SimpleDB lets you completely offload the work required to run a production database. As such, it can be an ideal, low-touch data store for logging information about conditions or events, status updates, recurring activities, workflow processes or device and application states. Amazon SimpleDB lets you set and forget these data logs and use them for such things as monitoring or tracking, metering, trend analysis, auditing and archival, or meeting regulatory compliance requirements.
Additionally, Amazon SimpleDB is well-suited for supporting online gaming. For developers of online games on any platform, it offers a highly available, scalable and administration-free database for user and game data.
However, if you need to perform any type of data comparison, GROUP BY or aggregate data or anything more complicated than simple storage and retrieval, Amazon SimpleDB isn't going to work as well.
Amazon SimpleDB offerings
All AWS Support tiers offer an unlimited number of support cases with pay-by-the-month pricing and no long-term contracts. Developers and businesses can choose from the following tiers:
- Basic (included), which provides 24/7 customer service.
- Developer, which adds best practice guidance and a guaranteed response time to incidents of less than 12 hours.
- Business, which adds API support and guaranteed response time to incidents of less than one hour.
- Enterprise, which adds direct access to a technical account manager, infrastructure event management and guaranteed response to incidents of less than 15 minutes.
To access the Amazon SimpleDB hosted DBaaS offering, you must have an existing Amazon Web Services account. If you don't have an account, you will be prompted to create one when you begin the Amazon SimpleDB sign-up process.
Amazon SimpleDB data types
All data is treated as text strings. When using Amazon SimpleDB, you organize your structured data in domains within which you can put data, get data or run queries. Domains consist of items described by attribute name-value pairs. All data stored in Amazon SimpleDB is automatically indexed for quick and accurate retrieval.
Getting started with Amazon SimpleDB
Amazon SimpleDB isn't open source, nor is it licensed software that must be installed on a local server. Instead, you pay only for what you use; there's no minimum fee. The price is based on the region in which you establish your Amazon SimpleDB domain(s). You can estimate your monthly bill using the AWS Simple Monthly Calculator.
To get started with Amazon SimpleDB for free, new and existing customers receive 25 SimpleDB Machine Hours and 1 GB of storage for free each month.
Data transfer into Amazon SimpleDB is free. Data transfer out of Amazon SimpleDB is free for up to the first gigabyte per month, and chargeable on a sliding tier scale based on the total amount of data transferred monthly.
Amazon SimpleDB benchmarks
NoSQL databases are typically benchmarked using the open source Yahoo Cloud Serving Benchmark (YCSB), although Amazon doesn't publish any benchmarks for Amazon SimpleDB.
Although SimpleDB has scaling limitations, it can be a good fit for smaller workloads that require query flexibility. Amazon SimpleDB automatically indexes all item attributes, and thus supports greater query functionality but at the cost of performance and scale.
Note: Amazon also offers Amazon DynamoDB, another DBMS that can be useful for those who need a fast, highly scalable non-relational database.
About the author
Craig S. Mullins is a data management strategist, researcher, consultant and author with more than 30 years of experience in all facets of database systems development. He is president and principal consultant of Mullins Consulting Inc. and publisher/editor of TheDatabaseSite.com. Email him at firstname.lastname@example.org.