Documente Academic
Documente Profesional
Documente Cultură
Amazon SimpleDB
Sign Up
My Account / Console
Developers
Support
This page contains the following categories of information. Click to jump down:
Service Highlights
Low touch The service allows you to focus fully on value-added application development, rather than
arduous and time-consuming database administration. Amazon SimpleDB automatically manages infrastructure provisioning, hardware and software maintenance, replication and indexing of data items, and performance tuning.
Highly available Amazon SimpleDB automatically creates multiple geographically distributed copies of each
data item you store. This provides high availability and durability in the unlikely event that one replica fails,
aws.amazon.com/simpledb/
1/6
11/20/13
Amazon SimpleDB
Amazon SimpleDB can failover to another replica in the system.
Flexible As your business changes or application evolves, you can easily reflect these changes in Amazon
SimpleDB without worrying about breaking a rigid schema or needing to refactor code simply add another attribute to your Amazon SimpleDB data set when needed. You can also choose between consistent or eventually consistent read requests, gaining the flexibility to match read performance (latency and throughput) and consistency requirements to the demands of your application, or even disparate parts within your application.
Simple to use Amazon SimpleDB provides streamlined access to the store and query functions that
traditionally are achieved using a relational database cluster while leaving out other complex, often-unused database operations. The service allows you to quickly add data and easily retrieve or edit that data through a simple set of API calls.
Designed for use with other Amazon Web Services Amazon SimpleDB is designed to integrate
easily with other AWS services such as Amazon S3 and EC2, providing the infrastructure for creating web-scale applications. For example, developers can run their applications in Amazon EC2 and store their data objects in Amazon S3. Amazon SimpleDB can then be used to query the object metadata from within the application in Amazon EC2 and return pointers to the objects stored in Amazon S3. Developers can also use Amazon SimpleDB with Amazon RDS for applications that have relational and non-relational database needs. Data transferred between Amazon SimpleDB and other Amazon Web Services within the same Region is free of charge.
Secure Amazon SimpleDB provides an https end point to ensure secure, encrypted communication between
your application or client and your domain. In addition, through integration with AWS Identity and Access Management, you can establish user or group-level control over access to specific SimpleDB domains and operations.
Inexpensive Amazon SimpleDB passes on to you the financial benefits of Amazons scale. You pay only for
resources you actually consume. For Amazon SimpleDB, this means data store reads and writes are charged by compute resources consumed by each operation, and you arent billed for compute resources when you arent actively using them (i.e. making requests).
Top
Pricing
Pay only for what you use. There is no minimum fee. Estimate your monthly bill using AWS Simple Monthly Calculator. The prices listed are based on the Region in which you establish your Amazon SimpleDB domain(s).
Free Tier*
You can 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. Many applications should be able to operate perpetually within these free tier limits.
Machine Utilization
Amazon SimpleDB measures the machine utilization of each request and charges based on the amount of machine capacity used to complete the particular request (SELECT, GET, PUT, etc.), normalized to the hourly capacity of a circa 2007 1.7 GHz Xeon processor. See below for a more detailed description of how machine utilization charges are calculated.
Data Transfer**
Data transfer in and out refers to transfer into and out of Amazon SimpleDB. There is no additional charge for data transferred between Amazon SimpleDB and other Amazon Web Services within the same Region (i.e., $0.00 per GB). Data transferred across Regions (e.g., between Amazon SimpleDB in the EU (Ireland) Region and Amazon EC2 in the US East (Northern Virginia) Region, will be charged at Internet Data Transfer rates on both sides of the transfer. *Your free usage is calculated each month across all regions and automatically applied to your bill free usage does not accumulate. * *As part of AWSs Free Usage Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year. * * *Data transfer out rate tiers aggregate outbound data transfer across Amazon EC2, Amazon EBS, Amazon S3, Amazon Glacier, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway, and Amazon VPC.
Amazon SimpleDB measures the size of your billable data by adding the raw byte size of the data you upload + 45
aws.amazon.com/simpledb/
2/6
11/20/13
Amazon SimpleDB
bytes of overhead for each item, attribute name and attribute-value pair. Amazon SimpleDB is designed to store relatively small amounts of data and is optimized for fast data access and flexibility in how that data is expressed. In order to minimize your costs across AWS services, large objects or files should be stored in Amazon S3, while the pointers and the meta-data associated with those files can be stored in Amazon SimpleDB. This will allow you to quickly search for and access your files, while minimizing overall storage costs. Click here for a detailed explanation of how storage in Amazon SimpleDB and storage in Amazon S3 differ and a more detailed description on calculating your Storage Costs. * Any data stored as part of the free tier program must be actively used. If a domain is not accessed for a period of 6 months, it will be subject to removal at the discretion of Amazon Web Services. (Amazon SimpleDB is licensed by Amazon Web Services, Inc.)
Top
Resources
Developer Resources
WSDL Documentation Release Notes Sample Code & Libraries Developer Tools Articles & Tutorials Community Forum
Related Services
AWS Support Amazon Elastic Compute Cloud Amazon Simple Storage Service Amazon Simple Queue Service AWS Identity and Access Management
Top
Detailed Description
The Data Model: Domains, Items, Attributes and Values
The data model used by Amazon SimpleDB makes it easy to store, manage and query your structured data. Developers organize their data-set into domains and can run queries across all of the data stored in a particular domain. Domains are collections of items that are described by attribute-value pairs . Think of these terms as analogous to concepts in a traditional spreadsheet table. For example, take the details of a customer management database shown in the table below and consider how they would be represented in Amazon SimpleDB. The whole table would be your domain named customers. Individual customers would be rows in the table or items in your domain. The contact information would be described by column headers (attributes). Values are in individual cells. Now imagine the records below are new customers you would like to add to your domain. First name Bob James Last name Smith Johnson Street address 123 Main St 456 Front St City Springfield Seattle State MO WA Zip 65801 98104 Telephone 222-3334444 333-4445555
In Amazon SimpleDB, to add the records above, you would PUT the CustomerIDs into your domain along with the attribute-value pairs for each of the customers. Without the specific syntax, it would look something like this: PUT (item, 123), (First name, Bob), (Last name, Smith), (Street address, 123 Main St.), (City, Springfield), (State, MO), (Zip, 65801), (Telephone, 222-333-4444) PUT (item, 456), (First name, James), (Last name, Johnson), (Street address, 456 Front St.), (City, Seattle), (State, WA), (Zip, 98104), (Telephone, 333-444-5555) Amazon SimpleDB differs from tables of traditional databases in important ways. You have the flexibility to easily go back later on and add new attributes that only apply to certain records. For example, imagine you begin to capture your customers email addresses to enable real-time alerts on order status. Rather than rebuilding your customer table, re-writing your queries, rebuilding your indices, and so on, you would simply add the new records and any additional attributes to your existing customers domain. The resulting domain might look something like this:
aws.amazon.com/simpledb/
3/6
11/20/13
CustomerID 123 456 789 First name Bob James Deborah Last name Smith Johnson Thomas
Amazon SimpleDB
Street address 123 Main St 456 Front St 789 Garfield City Springfield Seattle New York State MO WA NY Zip 65801 98104 10001 Telephone 222-3334444 333-4445555 444-5556666 dthomas@xyz.com Email
API Summary
Amazon SimpleDB provides a small number of simple API calls which implement writing, indexing and querying data. The interface and feature set are intentionally focused on core functionality, providing a basic API for developers to build upon and making the service easy to learn and simple to use. CreateDomain Create a domain that contains your dataset. DeleteDomain Delete a domain. ListDomains List all domains. DomainMetadata Retrieve information about creation time for the domain, storage information both as counts of item names and attributes, as well as total size in bytes. PutAttributes Add or update an item and its attributes, or add attribute-value pairs to items that exist already. Items are automatically indexed as they are received. BatchPutAttributes For greater overall throughput of bulk writes, perform up to 25 PutAttribute operations in a single call. DeleteAttributes Delete an item, an attribute, or an attribute value. BatchDeleteAttributes For greater overall throughput of bulk deletes, perform up to 25 DeleteAttributes operations in a single call. GetAttributes Retrieve an item and all or a subset of its attributes and values. Select Query the data set in the familiar, select target from domain_name where query_expression syntax. Supported value tests are: =, !=, <, > <=, >=, like, not like, between, is null, is not null, and every (). Example: select * from mydomain where every(keyword) = Book. Order results using the SORT operator, and count items that meet the condition(s) specified by the predicate(s) in a query using the Count operator. Note: Amazon SimpleDB has been integrated with AWS Identity and Access Management to enable fine-grained control over Amazon SimpleDB resources. Through integration with AWS Identity and Access Management, an AWS Account signed up to use SimpleDB can create multiple Users. In turn, these Users may be granted SimpleDB API level permissions to access the SimpleDB domains owned by the AWS Account. See the AWS Identity and Access Management detail page for additional details.
Consistency Options
Amazon SimpleDB stores multiple geographically distributed copies of each domain to enable high availability and data durability. A successful write (using PutAttributes, BatchPutAttributes, DeleteAttributes, BatchDeleteAttributes, CreateDomain or DeleteDomain) means that all copies of the domain will durably persist. Amazon SimpleDB supports two read consistency options: eventually consistent reads and consistent reads. Eventually Consistent Reads (Default) the eventual consistency option maximizes your read performance (in terms of low latency and high throughput). However, an eventually consistent read (using Select or GetAttributes) might not reflect the results of a recently completed write (using PutAttributes, BatchPutAttributes, DeleteAttributes, BatchDeleteAttributes). Consistency across all copies of data is usually reached within a second; repeating a read after a short time should return the updated data. Consistent Reads in addition to eventual consistency, Amazon SimpleDB also gives you the flexibility and control to request a consistent read if your application, or an element of your application, requires it. A consistent read (using Select or GetAttributes with ConsistentRead=true) returns a result that reflects all writes that received a successful response prior to the read. By default, GetAttributes and Select perform an eventually consistent read. Since a consistent read can potentially incur higher latency and lower read throughput it is best to use it only when an application scenario mandates that a read operation absolutely needs to read all writes that received a successful response prior to that read. For all other scenarios the default eventually consistent read will yield the best performance. Note also that Amazon SimpleDB allows you to specify consistency settings for each individual read request, so the same application could have disparate parts following different consistency settings.
Transactions
Amazon SimpleDB is not a relational database and sacrifices complex transactions and relations (i.e., joins) in order to provide unique functionality and performance characteristics. However, Amazon SimpleDB does offer transactional semantics such as: Conditional Puts/Deletes enable you to insert, replace, or delete values for one or more attributes of an item if the existing value of an attribute matches the value you specify. If the value does not match or is not present, the update is rejected. Conditional Puts/Deletes are useful for preventing lost updates
aws.amazon.com/simpledb/
4/6
11/20/13
Amazon SimpleDB
when different sources write concurrently to the same item. Conditional puts and deletes are exposed via the PutAttributes and DeleteAttributes APIs by specifying an optional condition with an expected value. For example, if your application was reserving seats or selling tickets to an event, you might allow a purchase (i.e., write update) only if the specified seat was still available (the optional condition). These semantics can also be used to implement functionality such as counters, inserting an item only if it does not already exist, and optimistic concurrency control (OCC). An application can implement OCC by maintaining a version number (or a timestamp) attribute as part of an item and by performing a conditional put/delete based on the value of this version number. To learn more about transactional semantics or consistency with Amazon SimpleDB, please refer to the Amazon SimpleDB Developer Guide or Consistency Enhancements Whitepaper.
aws.amazon.com/simpledb/
5/6
11/20/13
Amazon SimpleDB
* $0.14 per Amazon SimpleDB Machine Hour. The cost of all your requests is the sum of Box Usage (expressed in hours) * $0.14. For example, if over the course of a month, the sum of the Box Usage for your requests uses the equivalent of one 1.7 GHz Xeon processor for 9 hours, your charge will be: 9 hours * $0.14 per Amazon SimpleDB Machine Hour = $1.26. If your query domains are located in the EU (Ireland) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, or US West (Northern California) Region, Amazon SimpleDB Machine Hours are priced at $.154 per Machine hour. If your query domains are located in the Asia Pacific (Tokyo) Region, Amazon SimpleDB Machine Hours are priced at $0.162 per Machine Hour. If your query domains are located in the South America (Sao Paulo) Region, Amazon SimpleDB Machine Hours are priced at $0.19 per Machine Hour. All cost calculations should be adjusted to reflect pricing in the relevant region.
Getting Started
The best way to understand Amazon SimpleDB is to work through the Getting Started Guide, part of our Technical Documentation. Within a few minutes, you will be able to create your domain and start building your index!
Top
Top
aws.amazon.com/simpledb/
6/6