Database Reference
In-Depth Information
and abort methods where it is assumed that the write set of a transaction (i.e., the set
of updated and newly created pages) fits into the clients main memory or secondary
storage (flash or disk). If an application commits, all the updates are propagated to
S3 and all the affected pages are marked as unmodified in the clients buffer pool.
Moreover, they implemented standard B-tree indexes on top of the page manager and
basic redo log records. On the other hand, there are many database-specific issues
that have not yet been addressed by this work. For example, DB-style strict consis-
tency and transactions mechanisms are not provided. Furthermore, query processing
techniques (e.g., join algorithms and query optimization techniques) and traditional
database functionalities such as bulkload a database, create indexes, and drop a
whole collection, still need to be devised.
SimpleDB is another Amazon service that is designed for providing structured
data storage in the cloud and backed by clusters of Amazon-managed database serv-
ers. It is a highly available and flexible nonrelational data store that offloads the
work of database administration. Storing data in SimpleDB does not require any
predefined schema information. Developers simply store and query data items via
web services requests and Amazon SimpleDB does the rest. There is no rule that
forces every data item (data record) to have the same fields. However, the lack of
schema also means that there are no data types, as all data values are treated as
variable length character data. Hence, the drawbacks of a schema-less data storage
also include the lack of automatic integrity checking in the database (no foreign
keys) and an increased burden on the application to handle formatting and type con-
versions. Following the AWS' pay-as-you-go pricing philosophy, SimpleDB has a
pricing structure that includes charges for data storage, data transfer, and processor
usage. There are no base fees and there are no minimums. Similar to most AWS
services, SimpleDB provides a simple API interface, which follows the rules and the
principles for both of REST and SOAP protocols where the user sends a message
with a request to carry out a specific operation. The SimpleDB server completes the
operations, unless there is an error, and responds with a success code and response
data. The response data is an HTTP response packet, which has headers, storing
metadata, and some payload, which is in XML format.
The top level abstract element of data storage in SimpleDB is the domain . A
domain is roughly analogous to a database table where the user can create and
delete domains as needed. There are no design or configuration options to create a
domain. The only parameter you can set is the domain name. All the data stored in a
SimpleDB domain takes the form of key-value attribute pairs. Each attribute pair is
associated with an item that plays the role of a table row. The attribute name is simi-
lar to a database column name. However different items (rows) can contain different
attribute names, which give you the freedom to store different attributes in some
items without changing the layout of other items that do not have the same attributes.
This flexibility allows the painless addition of new data fields in the most common
situations of schema changing or schema evolution. In addition, it is possible for each
attribute to have not just one value (multivalued attributes) but an array of values. In
this case, all the user needs to do is add another attribute to an item and use the same
attribute name but with a different value. Each value is automatically indexed as it
is added. However, there are no explicit indexes to maintain. Therefore, the user has
Search WWH ::




Custom Search