DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

SimpleDB


SimpleDB is a distributed NoSQL database. It provides simple querying of structured data and requires no schema. It automatically indexes data and provides a web based API for storage and access. It charges only for what they use. SimpleDB provides availability and network partition tolerance by sacrificing consistency.

Developer
Country of Origin
US
Start Year
2009
Project Type
Commercial
Written in
Erlang
Supported Languages
Java
Operating System
Hosted
License
Proprietary

Database Entry

SimpleDB


SimpleDB is a distributed NoSQL database. It provides simple querying of structured data and requires no schema. It automatically indexes data and provides a web based API for storage and access. It charges only for what they use. SimpleDB provides availability and network partition tolerance by sacrificing consistency.

History


SimpleDB was launched in 2007 and it was aimed to cooperate with Amazon Elastic Compute Cloud and Amazon S3. It is a better method for small files than Amazon S3. Amazon also has another NoSQL service named Amazon DynamoDB. It looks like a successor to SimpleDB. SimpleDB has strict storage limitation and requires manual partitioning of data while DynamoDB is highly scalable and handles partitioning automatically.

Concurrency Control[03]


SimpleDB does not support concurrency control itself. However, applications can support optimistic concurrency control (OCC) by maintaining a version number attribute and performing a conditional update on the value of this version number.

Data Model[04]


SimpleDB organizes data as a table. Rows represent items and columns represent attributes. Items are attribute-value pairs. A cell is intersection of a row and a column and it can contain empty value or multiple values.

Indexes


SimpleDB does support index but no material shows what kind of index method it applies. I suspect it uses hash table but there is no evidence.

Isolation Levels[05]


SimpleDB maintains multiple copies of each data. A successful write guarantees all copies of data is durable. There are two read consistency options: eventually consistent read and consistent read. A consistent read corresponds to read committed isolation level because it guarantees that the return value is the latest. An eventually consistent read acts like best efforts. It does not ensure that the copy of data is the latest but it is acceptable to increase throughput for some applications.

Joins


Logging


No material shows the logging method for SimpleDB.

Query Compilation


Query Execution


No material shows the query execution choice. Since SimpleDB is NoSQL DBMS, I guess it may process one tuple at a time.

Query Interface[06]


SimpleDB utilizes REST HTTP API. It is friendly to web based applications.

Storage Architecture


No material shows the exact storage methods. I guess it is disk-oriented because it guarantees the durability of data and the simplest way is to store the data on disks.

Storage Model


No materials show the storage model of SimpleDB. I guess it is N-ary storage model because it is natural for key-value storage and NoSQL queries.

Stored Procedures


System Architecture


Views


Citations

6 sources
  1. AWS | Amazon SimpleDB – Simple Database Service amazon.com
  2. Amazon SimpleDB Documentation amazon.com
  3. Performing a Conditional Put - Amazon SimpleDB amazon.com
  4. Data Model - Amazon SimpleDB amazon.com
  5. Consistency - Amazon SimpleDB amazon.com
  6. API Usage - Amazon SimpleDB amazon.com
Revision #4