AWS DynamoDB | AltF9


AWS DynamoDB



AWS DynamoDB is additionally fitted to storing JSON documents and use as a storage for key-value pairs. Having multiple types of indexes also as multiple types of query potentialities makes it convenient to be used for various types of storage and query needs. However, it's necessary to know that DynamoDB could be NoSQL info that is tough to be compared with a relational database, aspect by side. This conjointly makes it very tough for someone UN agency is coming back from a relational database background to design DynamoDB tables. thus it's necessary to know many underlying principles in using DynamoDB. the subsequent list contains twelve principals I follow once planning DynamoDB tables and queries.




  1. Use GUID’s or distinctive Attributes, rather than progressive IDs.
  2. Don’t try and normalize your tables.
  3. Having duplicate attributes in multiple tables is okay as long as you've got enforced ways that to synchronize the changes.
  4. Keeping pre-computed information upon updates is economical with DynamoDB if you wish to query them typically.
  5. Don’t try and keep several relationships across tables. this can find yourself eager to query multiple tables to retrieve the specified attributes.
  6. Embrace ultimate consistency.
  7. Design your transactions work with conditional writes.
  8. Design your tables, attributes, and indexes thinking of the character of queries.
  9. Use DynamoDB triggers and streams to propagate changes and design event-driven information flows.
  10. Think about item sizes and mistreatment indexes effectively once listing things to reduce outturn needs.
  11. Think about the expansion of attribute information, to style whether or not to store them as a nested object or use a special table for it.
  12. Avoid mistreatment DynamoDB Scan operation whenever attainable.
Direct Access from RESTful API


Event-Driven Updates


DynamoDB can also be updated, supported events apart from Direct Access from reposeful API. for instance, DynamoDB is wont to store data of files uploaded to Amazon S3. victimization S3 transfer Trigger, Lambda operate is invoked upon file transfer that is in a position to update the DynamoDB table. the same approach is wont to perform DynamoDB updates in response to  Amazon SNS.

Data Synchronization Between Microservices



If there are same attributes stored in multiple Microservices DynamoDB tables, you can use Amazon Simple Notification Service (SNS) Topics. victimization Amazon SNS it's possible to tell attribute changes from one service to a different without every one of them know one another.

For example, let’s say Service #1 Company Profile Table and repair #2 Company Statistics Table shared name attribute. If the corporate name is changed in commission #1 that modification must be propagated to Service #2 Company Statistics Table. Knowing these needs, it's doable for Service #1 to publish the attribute modification victimization DynamoDB Streams and a Lambda operate to the SNS topic. once the modification happens the Lambda operate in commission #2 subscribed to the subject can update the company Statistics Table.

Conclusion
 

If you're new AWS DynamoDB, it's important to understand its capabilities and limitations before entering into the info style. it's equally vital to own a correct outlook to style the information model victimization NoSQL principals and configuration patterns. this may embody unlearning a number of the ideas learned from relational database style. additionally, victimization DynamoDB is extremely difficult for a few use cases. If you're troubled to consider a way to update multiple tables concurrently, querying multiple tables or limitations of indexes for your use case, there are hints to go back initial|the initial} call to use DynamoDB within the first place. However, AWS DynamoDB is an integral a part of the AWS Serverless Technology Stack that still remains because of the leading Serverless NoSQL info in AWS.


Altf9 Technology Solutions Pvt.Ltd
5/181, J4A Third Floor
Periyar Street, Medavakkam
Chennai, India
Pincode:600100.
  INDIA: +91 8056005901

  USA: +1 (845) 576-5295

  Australia : +61291880753

  info@altf9.in

Comments

Popular posts from this blog

AWS EFS vs EBS vs S3 (difference,price & use)

How does AD DS differ from Microsoft Azure Active Directory?

AWS IAM securing your Infrastructure