Cloud Computing is moving from being “IT buzzword” to reasonable yet reliable way of deploying applications in the Internet. IT managers within companies are considering deploying some applications within cloud. A cloud-related trend that developers have been paying attention is the idea of “NoSQL“, a set of operational-data technologies based on non-relational concepts.
“NoSQL” is “a sea change” idea to consider data storage options beyond the traditional SQL-based relational database.
A key disadvantage of SQL Databases is the fact that SQL Databases are at a high abstraction level. This is a disadvantage because to do a single Statement, SQL often requires the data to be processed multiple times. This, of course, takes time and performance. For instance, multiple queries on SQL Data occur when there is a ‘Join’ operation. Cloud computing environments need high-performing and highly scalable databases.
NoSQL Databases are built without relations. But is it really that “good” to go for NoSQL Databases? A world without relations, no joins and pure scalability! NoSQL databases typically emphasize horizontal scalability via partitioning, putting them in a good position to leverage the elastic provisioning capabilities of the cloud.
The general definition of a NOSQL data store is that it manages data that is not strictly tabular and relational, so it does not make sense to use SQL for the creation and retrieval of the data. NOSQL data stores are usually non-relational, distributed, open-source, and horizontally scalable.
This is what I explained in my Blog.
And more or less same things are explained in the Amazon DynamoDB Video:
And here it is…Amazon has announced the immediate availability of Amazon DynamoDB, a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
Introduction
- NoSQL Database Service
- It provides efficient performance
- Seamless scalability-No down time involved
- Data Replicated to multiple availability zone
Features
- No Admin burden
- Shared Nothing Architecture
- Automated Storage Scaling
- Database
- Management
- Performance
- Scalability
- Reliability
- Efficiency
- Huge amount of data can be stored and processed
- Amazon’s infrastructure and Cloud Experience
- Data Items are stored in Solid State Disk
- Regions and multiple availability zones are used for Data replication and High Availability as it has been used in AWS since beginning.
- Cryptographic methods to authenticate users and prevent unauthorized data access
- Amazon CloudWatch is used for Monitoring
- With the launch of Amazon DynamoDB, it is easy for customers to use Amazon EMR to analyze datasets stored in DynamoDB and archive the results in Amazon Simple Storage Service (Amazon S3), while keeping the original dataset in DynamoDB intact.
- Pay only for what you use. -Opex Only and Zero Capex.
- Part of AWS’s Free Usage Tier, AWS customers can get started with Amazon DynamoDB for free (100 MB storage, 5 writes/second and 10 reads/second).
- Hourly rate based on the capacity
- Write Throughput: $0.01 per hour for every 10 units of Write Capacity
- Read Throughput: $0.01 per hour for every 50 units of Read Capacity
- No additional charge for data transferred between Amazon DynamoDB and other Amazon Web Services within the same Region (i.e. $0.00 per GB).
Data Model – Attributes, Items, and Tables
Example
Getting Started
- Step 1: Before You Begin with Amazon DynamoDB
- Step 2: Create Example Tables in Amazon DynamoDB
- Step 3: Load Data into Tables in Amazon DynamoDB
- Step 4: Try a Query in Amazon DynamoDB
- Step 5: Delete Example Tables in Amazon DynamoDB
- Where Do I Go from Here?
Things to Note:
- Not a Relational Database
- No Complex queries
- No Complex transaction
- Query based on non primary key attribute
- Conditional Operators are supported with condition* J
- Atomic increment and decrement operations on scalar values
- Stores Structured data
- Table size limit of 10GB
- Lets you specify the request throughput you want your table to be able to achieve.
- Units of Capacity required for writes = Number of item writes per second x item size (rounded up to the nearest KB)
- Units of Capacity required for reads* = Number of item reads per second x item size (rounded up to the nearest KB)
- Designed to scale without limits (10,000 write/read capacity units) [for >20000 Contact Amazon
] - Minimum 5 write/read capacity units
- User can change provisioned throughput level by between 10% (the minimum change) and 100% (the maximum change) with a single UpdateTable API call.
- Use Management Console
- UpdateTable API call
- Consistency level affect the throughput rate
- Item size affect the throughput rate
- More reads or writes than my provisioned capacity will result in 400 error codes.
- Use CloudWatch metric to monitor the capacity
- The total size of an item cannot exceed 64KB.
- DynamoDB supports implicit item-level transactions. When you use UpdateItem, PutItem, or DeleteItem, the operation is guaranteed to either succeed or fail atomically.
- Online Gaming consisting read and write request which fluctuates as per specific duration
- High-scale workloads that require query flexibility.
Use-Cases
Integration with Elastic MapReduce
Comparison with Cassandra (Ref: http://www.datastax.com/dev/blog/amazon-dynamodb)
Competitors
- Cassandra
- MongoDB
- CouchDB
- Redis
- Riak
- HBase
- Membase
- Neo4j
References
http://aws.amazon.com/dynamodb/faqs/
http://aws.amazon.com/dynamodb/
http://www.infoworld.com/t/cloud-computing/amazon-dynamodb-brings-speedier-nosql-the-cloud-184445
http://www.geekwire.com/2012/amazons-dynamodb-jumps-nosql-pool
http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
http://www.datastax.com/dev/blog/amazon-dynamodb
http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html
Related articles
- Amazon DynamoDB brings speedier NoSQL to the cloud (infoworld.com)
- Amazon DynamoDB: NoSQL in the Cloud (perspectives.mvdirona.com)
- Amazon DynamoDB – Internet-Scale Data Storage the NoSQL Way (aws.typepad.com)
- Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications (allthingsdistributed.com)
- Amazon: Will DynamoDB Electrocute the Big Boys? (arnoldit.com)


















Pingback: BIG Data Trends in 2012 «