There is a
big huge not exactly new player in the NoSQL market. Amazon has brought DynamoDB back. Dramatic pause. Dynamo was NoSQL before there was a NoSQL.
DynamoDB, NoSQL Before NoSQL Was NoSQL
In late 2007, Amazon published a paper, “Dynamo: Amazon’s Highly Available Key-value Store” that detailed the company’s creation and use of an extremely fast, scalable and reliable repository it called Dynamo. The approach to storage was a significant departure from traditional relational principles. Transactions weren’t atomic. There was no concept of relations, but it was fast. It continued to be fast even when data grew to massive sizes. It was this paper that that essentially inspired the NoSQL trend. Cassandra, Riak, Voldemort and many others owe their origin to Dynamo.
Despite spawning many NoSQL offspring, Dynamo was never offered as a service to Amazon Web Services (AWS) customers. The technology was simply too complex to have wide spread adoption. Instead AWS users had SimpleDB as a non-relational option. SimpleDB is really designed for lower-scale workloads and tables have a size limit of 10 GB. SimpleDB is also limited in the request capacity it can achieve, which makes it a poor option for larger sites and applications.
Now users have a new option. A kinder gentler DynamoDB is now available. Amazon is making the highly scalable NoSQL available as a service for the public. Users can start small and grow tables to embarrassingly large sizes without any expending partitioning or other magic to keep the repository responsive. In fact, Amazon is promising single-digit millisecond response times. Rajy Gulabani, VP of Database Services at AWS said,
During our private beta, we saw customers successfully scale up from 100s of writes per second to over 100,000 writes per second without having to change a single line of code.”
Amazon’s new NoSQL repository is fully managed and stores data on a solid state drive. In addition, the data is replicated across at least three geographic availability zones to avoid nasty outages like the Great Amazon failure of 2011.
Although the service was just released to the public, it is currently in use by number of large Internet sites like IMDB, SmugMug, Elsevier, Tapjoy and Formspring.
DynamoDB is available now in beta version. Like other AWS offering, DynamoDB pricing is based on utilization. Data storage is US$ 1.00 per GB per month. The service has variable data transfer fee, which is free for incoming data, and free up to 10TB per month between AWS services. Beyond 10TB, Amazon charges US$ 0.12 per GB through 40TB, the next 40TB is US$ .09 per GB. Pricing continues to drop until it reaches US $.050 for 350TB. Users that require more than 524TB must contact Amazon for pricing. Additional details about DynamoDB are available from Amazon.
DynamoDB can also integrate with Amazon’s Elastic MapReduce (EMR) -- the technology behind popular NoSQL technology Hadoop (You knew it had to be mentioned at least once in this article.) AWS customers can use EMR to connect to multiple repositories (e.g. DynamoDB, Amazon RDS and Amazon S3) and perform complex analysis.
DynamoDB is good news for organizations that want to use NoSQL, but were concerned about the complexity of managing the infrastructure. It might however be bad news for small NoSQL startups. AWS dominates the cloud market. It will be hard for smaller players to sell their offerings against the new giant in the room.