First QSN
First QSN
First QSN
Companies like Amazon and Google helped started building large scale
databases with the help of the "NoSQL" movement. And now it's giving the cause
another shot in the arm.
NoSQL is a widespread effort to build a new kind of database for “unstructured”
information – the sort of information that comes spilling off the internet with each
passing second. Five years ago, Amazon introduced a NoSQL database service
called SimpleDB, and now, it's offering what you might think of as Amazon
NoSQL Mark II. It's called DynamoDB.
Like SimpleDB, DynamoDB is one of many Amazon Web Services (AWS), a set
of tools offering online access to various computing resources, from virtual servers
to virtual storage to databases and other software. "Amazon DynamoDB is the
result of everything we’ve learned from building large-scale, non-relational
databases for Amazon.com and building highly scalable and reliable cloud
computing services at AWS," Werner Vogels, the Amazon Web Services CTO,
said "It is designed to maintain predictably high performance and to be highly cost
efficient for workloads of any scale, from the smallest to the largest internet-scale
applications."
NoSQL databases such as DynamoDB are a response to traditional relational
databases such as the Oracle database and the open source MySQL. A relational
database stores data in neat rows and columns, and it’s designed to run on a single
machine – though engineers have learned to stretch them across multiple servers.
By contrast, a NoSQL database provides a more flexible way of storing data, and
it’s specifically designed to scale across a very large number of machines.
To keep things running 24/7 and ensure uninterrupted services, Google's data
centers feature redundant power systems and environmental controls. Every critical
component has a primary and alternate power source, each with equal power.
Diesel engine backup generators can provide enough emergency electrical power
to run each data center at full capacity. Cooling systems maintain a constant
operating temperature for servers and other hardware, reducing the risk of service
outages. Fire detection and suppression equipment helps prevent damage to
hardware. Heat, fire, and smoke detectors trigger audible and visible alarms in the
affected zone, at security operations consoles, and at remote monitoring desks.
NoSQL provides a simplified way for developers to store and access data. The
flexible schema maps naturally to object-oriented and scripting languages.
Datastore also provides a number of features that relational databases are not
optimally suited to provide, including high-performance at a very large scale and
high-reliability.
To developers more accustomed to relational databases, it may be challenging to
design a system that leverages non-relational databases, as some characteristics and
practices of non-relational databases may be relatively unfamiliar to them.
Although the Datastore programming model is simple, it is important to be aware
of these characteristics. Eventual consistency is one of these characteristics and
programming for eventual consistency is the main subject of this document.