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.

Query Interface

Custom API

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

System Architecture

Shared-Nothing

Stored Procedures

Not Supported

Data Model

Key/Value

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.

Concurrency Control

Not Supported

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.

Storage Architecture

Disk-oriented

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.

Query Execution

Tuple-at-a-Time Model

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

Isolation Levels

Read Committed

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.

Storage Model

Custom

No materials show the storage model of SimpleDB. It is based on key-value storage for NoSQL queries.

Query Compilation

Not Supported

SimpleDB Logo
Website

http://aws.amazon.com/simpledb/

Tech Docs

https://aws.amazon.com/documentation/simpledb/

Developer

Amazon

Country of Origin

US

Start Year

2009

Project Type

Commercial

Written in

Erlang

Supported languages

Java

Operating Systems

Hosted

Licenses

Proprietary