What is Dynamo Database in Cloud computing Advantage and Disadvantage

Dynamo’s

Dynamo’s data model is that of simple key-value pairs, and it is expected that applications read and write such data objects fairly randomly. This model is well suited for many web-based e-commerce applications that all need to support constructs such as a ‘shopping cart.’ Dynamo also replicates data for fault tolerance, but uses distributed object versioning and quorum-consistency to enable writes to succeed without waiting for all replicas to be successfully updated, unlike in the case of GFS.

Managing conflicts if they arise is relegated to reads which are provided enough information to enable application dependent resolution. Because of these features, Dynamo does not rely on any underlying distributed file system and instead directly manages data storage across distributed nodes.

The architecture of Dynamo is illustrated in Figure 10.6. Objects are key value pairs with arbitrary arrays of bytes. An MD5 hash of the key is used to generate a 128-bit hash value. The range of this hash function is mapped

to a set of virtual nodes arranged in a ring, so each key gets mapped to one virtual node. The object is replicated at this primary virtual node as well as N − 1 additional virtual nodes (where N is fixed for a particular Dynamo cluster). Each physical node (server) handles a number of virtual nodes at distributed positions on the ring so as to continuously distribute load evenly as nodes leave and join the cluster because of transient failures or network partitions. Notice that the Dynamo architecture is completely symmetric with each node being equal, unlike the BigTable/GFS architecture that has special master nodes at both the BigTable as well as GFS layer. A write request on an object is first executed at one of its virtual nodes which then forwards the request to all nodes having replicas of the object. Objects are always versioned, so a write merely creates a new version of the object with its local timestamp (Tx on node X) incremented. Thus the timestamps capture the history of object updates; versions that are superseded by later versions having a larger vector timestamp are discarded. For example, two sequential updates at node X would create an object version with vector timestamp to [2 0 0], so an earlier version with timestamp [1 0 0] can be safely discarded.

What is DynamoDB?

  • Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that require consistent single-digit millisecond latency at any scale.
  • It is a fully managed database that supports both document and key-value data models.
  • Its flexible data model and performance makes it a great fit for mobile, web, gaming, ad-tech, IOT, and many other applications.
  • It is stored in SSD storage.
  • It is spread across three geographically data centres.

Advantage of Dynamo:

The main advantages of opting for Dynamo are listed below: 

  • It has fast and predictable performance.
  • It is highly scalable.
  • It offloads the administrative burden operation and scaling.
  • It offers encryption at REST for data protection.
  • Its scalability is highly flexible.
  • AWS Management Console can be used to monitor resource utilization and performance metrics.
  • It provides on-demand backups.
  • It enables point-in-time recovery for your Amazon DynamoDB tables. Point-in-time recovery helps protect your tables from accidental write or delete operations. With point-in-time recovery, you can restore that table to any point in time during the last 35 days.
  • It can be highly automated. 

Limitations of Dynamo –

The below list provides us with the limitations of Amazon DynamoDB: 

  • It has a low read capacity unit of 4kB per second and a write capacity unit of 1KB per second.
  • All tables and global secondary indexes must have a minimum of one read and one write capacity unit.
  • Table sizes have no limits, but accounts have a 256 table limit unless you request a higher cap.
  • Only Five local and twenty global secondary (default quota) indexes per table are permitted.
  • Dynamo does not prevent the use of reserved words as names.

Partition key length and value minimum length sits at 1 byte, and maximum at 2048 bytes, however, DynamoDB places no limit on values

Posted In :

Leave a Reply

Your email address will not be published. Required fields are marked *