Design Dynamo

Terms:

Term Definition
Strongly Consistent This means every read sees most recent write or error. This is achieved by ensuring the data in all servers is same at any time.
Eventually Consistent Data copies are not always identical. Though they eventually become consistent. This is to ensure high availability.

Overview:

  • Dynamo is a highly available, highly scalable, disributed,

and completely decentralized key-value store.

  • Dynamo is an AP system. It provides high availability and partition tolerance at the expense of strong consistency.
  • Inconsistencies are resolved in the background, and many a times, they are not noticable by the end user.
  • Data is optimistically replicated to become eventually consistent
  • If the app requires only primary key data and expects to be highly available, then Dynamo is a choice to consider.

Interface:

  • Provides a get() and put() interface.
Previous
Next