Amazon DynamoDB: NoSQL in Amazon Public Cloud


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:

Introducing Amazon DynamoDB

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

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

This entry was posted in Cloud Computing, Mi~View~About~>, NoSQL, What is? and tagged , , , , , , , , . Bookmark the permalink.

One Response to Amazon DynamoDB: NoSQL in Amazon Public Cloud

  1. Pingback: BIG Data Trends in 2012 «

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s