Amazon Goes Back to the Future With 'NoSQL' Database

Amazon helped start 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.

Amazon helped start 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 in a blog post. "[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.

Web giants such as Amazon, Google, and Facebook have long used NoSQL databases to help manage their own online operations, and their work inspired a slew of NoSQL open source projects, including Cassandra and MongoDB. Originally developed at Facebook, Cassandra is a cross between the BigTable database built at Google and the Dynamo storage system used by Amazon.

And, now, the traditional database players are getting into the game. This past fall, even Oracle introduced its own NoSQL database. Just four months before, the king of relational databases had released a white paper intent on "debunking the hype" around the NoSQL movement

With Amazon, the difference is that it does have a long history with this stuff -- and that DynamoDB is an online service. Like other Amazon Web Services, you can use it without installing your own software and servers. Nowadays, people call this cloud computing. During a webcast announcing DynamoDB, Vogels boasted that you can scale up and scale down your use of DynamoDB as if you were turning a dial. And you only pay for what you use.

SmugMug, an online photo-sharing site, is one of the private beta customers already using DynamoDB. Don MacAskill, the company's founder and CEO, says that his outfit has a "monster on our back" when it comes to storing data. Every time SmugMug invested more capital in servers and staff, and scaled further, it ran into new headaches and bugs. "We have always wanted to not have to do that anymore," he says. "We just really want to give [our servers] the data, and at some point, get it back."

The kicker is that Amazon has built DynamoDB atop flash storage rather than traditional spinning hard disks. Vogels says that these solid state drives -- SSDs -- will provide single-digit millisecond response times.

But NoSQL isn't for everyone. Using NoSQL requires different skills than using a relational database, and some companies prefer to keep their data on their own servers. What's more, if you reach a large enough scale, it may not make economic sense to keep paying Amazon. There comes a point where it's cheaper to build your own.

[Image: taivasalla/Flickr]