

# Amazon DynamoDB learning resources and tools
<a name="AdditionalResources"></a>

You can use the following additional resources to understand and work with DynamoDB.

**Topics**
+ [Tools for coding and visualization](#AdditionalResources.Tools)
+ [Prescriptive Guidance articles](#AdditionalResources.PrescriptiveGuidance)
+ [Knowledge Center articles](#AdditionalResources.KnowledgeCenter)
+ [Blog posts, repositories, and guides](#AdditionalResources.Guides)
+ [Data modeling and design pattern presentations](#AdditionalResources.DataModeling)
+ [Training courses](#AdditionalResources.Training)

## Tools for coding and visualization
<a name="AdditionalResources.Tools"></a>

You can use the following coding and visualization tools to work with DynamoDB:
+ [NoSQL Workbench for Amazon DynamoDB](https://docs.amazonaws.cn/amazondynamodb/latest/developerguide/workbench.html) – A unified, visual tool that helps you design, create, query, and manage DynamoDB tables. It provides data modeling, data visualization, and query development features.
+ [Dynobase](https://dynobase.dev/) – A desktop tool that makes it easy to see your DynamoDB tables and work with them, create app code, and edit records with real-time validation.
+ [DynamoDB Toolbox](https://github.com/jeremydaly/dynamodb-toolbox) – A project from Jeremy Daly that provides helpful utilities for working with data modeling and JavaScript and Node.js.
+ [DynamoDB Streams Processor](https://github.com/jeremydaly/dynamodb-streams-processor) – A simple tool that you can use to work with [DynamoDB streams](https://docs.amazonaws.cn/amazondynamodb/latest/developerguide/Streams.html).

## Prescriptive Guidance articles
<a name="AdditionalResources.PrescriptiveGuidance"></a>

Amazon Prescriptive Guidance provides time-tested strategies, guides, and patterns to help accelerate your projects. These resources were developed by Amazon technology experts and the global community of Amazon Partners, based on their years of experience helping customers achieve their business objectives.

**Data modeling and migration**
+ [A hierarchical data model in DynamoDB](https://docs.amazonaws.cn/prescriptive-guidance/latest/dynamodb-hierarchical-data-model/introduction.html)
+ [Modeling data with DynamoDB](https://docs.amazonaws.cn/prescriptive-guidance/latest/dynamodb-data-modeling/welcome.html)
+ [Migrate an Oracle database to DynamoDB using Amazon DMS](https://docs.amazonaws.cn/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms.html)

**Global tables**
+ [Using Amazon DynamoDB global tables](https://docs.amazonaws.cn/prescriptive-guidance/latest/dynamodb-global-tables/introduction.html)

**Serverless**
+ [Implement the serverless saga pattern with Amazon Step Functions](https://docs.amazonaws.cn/prescriptive-guidance/latest/patterns/implement-the-serverless-saga-pattern-by-using-aws-step-functions.html)

**SaaS architecture**
+ [Manage tenants across multiple SaaS products on a single control plane](https://docs.amazonaws.cn/prescriptive-guidance/latest/patterns/manage-tenants-across-multiple-saas-products-on-a-single-control-plane.html)
+ [Tenant onboarding in SaaS architecture for the silo model using C\$1 and Amazon CDK](https://docs.amazonaws.cn/prescriptive-guidance/latest/patterns/tenant-onboarding-in-saas-architecture-for-the-silo-model-using-c-and-aws-cdk.html)

**Data protection and data movement**
+ [Configure cross-account access to Amazon DynamoDB](https://docs.amazonaws.cn/prescriptive-guidance/latest/patterns/configure-cross-account-access-to-amazon-dynamodb.html)
+ [Full table copy options for DynamoDB](https://docs.amazonaws.cn/prescriptive-guidance/latest/dynamodb-full-table-copy-options/)
+ [Disaster recovery strategy for databases on Amazon](https://docs.amazonaws.cn/prescriptive-guidance/latest/strategy-database-disaster-recovery/)

**Miscellaneous**
+ [Help enforce tagging in DynamoDB](https://docs.amazonaws.cn/prescriptive-guidance/latest/patterns/help-enforce-dynamodb-tagging.html)

**Prescriptive guidance video walkthroughs**
+ [Using Serverless Architecture to Create Data Pipelines](https://youtu.be/JiWHomdh1oI?)
+ [Novartis - Buying Engine: AI-powered Procurement Portal](https://youtu.be/vp8oPiHN4cA)
+ [Veritiv: Enable Insights to Forecast Sales Demand on Amazon Data Lakes](https://youtu.be/jg85DzUZ9Ac)
+ [mimik: Hybrid Edge Cloud Leveraging Amazon to Support Edge Microservice Mesh](https://youtu.be/-S-R7MWRpaI)
+ [Change Data Capture with Amazon DynamoDB](https://youtu.be/6YVjzD-70p4)

For additional Prescriptive Guidance articles and videos for DynamoDB, see [Prescriptive Guidance](https://tiny.amazon.com/fiui3cog/ForinternaldemoofnewpageExternalURLwillbeneededforlive). 

## Knowledge Center articles
<a name="AdditionalResources.KnowledgeCenter"></a>

The Amazon Knowledge Center articles and videos cover the most frequent questions and requests that we receive from Amazon customers. The following are some current Knowledge Center articles on specific tasks that relate to DynamoDB:

**Cost optimization**
+ [How do I optimize costs with Amazon DynamoDB?](https://repost.aws/knowledge-center/dynamodb-optimize-costs)

**Throttling and latency**
+ [How can I troubleshoot high latency on an Amazon DynamoDB table?](https://repost.aws/knowledge-center/dynamodb-high-latency)
+ [Why is my DynamoDB table being throttled?](https://repost.aws/knowledge-center/dynamodb-table-throttled)
+ [Why is my on-demand DynamoDB table being throttled?](https://repost.aws/knowledge-center/on-demand-table-throttling-dynamodb)

**Pagination**
+ [How do I implement pagination in DynamoDB](https://repost.aws/knowledge-center/dynamodb-implement-pagination)

**Transactions**
+ [Why is my `TransactWriteItems` API call failing in DynamoDB](https://repost.aws/knowledge-center/dynamodb-transactwriteitems)

**Troubleshooting**

[]()
+ [How do I resolve issues with DynamoDB auto scaling?](https://repost.aws/knowledge-center/dynamodb-auto-scaling)
+ [How do I troubleshoot HTTP 4XX errors in DynamoDB](https://repost.aws/knowledge-center/usererrors-dynamodb-table)

For additional articles and videos for DynamoDB, see the [Knowledge Center articles](https://repost.aws/search/knowledge-center?globalSearch=dynamodb). 

## Blog posts, repositories, and guides
<a name="AdditionalResources.Guides"></a>

In addition to the [DynamoDB Developer Guide](Introduction.md), there are many useful resources for working with DynamoDB. Here are some selected blog posts, repositories, and guides for working with DynamoDB:
+ Amazon repository of [DynamoDB code examples](https://github.com/aws-samples/aws-dynamodb-examples) in various Amazon SDK languages: [Node.js](https://github.com/aws-samples/aws-dynamodb-examples/tree/master/examples/SDK/node.js), [Java](https://github.com/aws-samples/aws-dynamodb-examples/tree/master/examples/SDK/java), [Python](https://github.com/aws-samples/aws-dynamodb-examples/tree/master/examples/SDK/python), [.Net](https://github.com/aws-samples/aws-dynamodb-examples/tree/master/examples/SDK/dotnet), [Go](https://github.com/aws-samples/aws-dynamodb-examples/tree/master/examples/SDK/golang), and [Rust](https://github.com/aws-samples/aws-dynamodb-examples/tree/master/examples/SDK/rust).
+ [The DynamoDB Book](https://www.dynamodbbook.com/) – A comprehensive guide from [Alex DeBrie](https://twitter.com/alexbdebrie) that teaches a strategy-driven approach to data modeling with DynamoDB.
+ [DynamoDB guide](https://www.dynamodbguide.com/) – An open guide from [Alex DeBrie](https://twitter.com/alexbdebrie) that walks through the basic concepts and advanced features of the DynamoDB NoSQL database. 
+ [How to switch from RDBMS to DynamoDB in 20 easy steps](https://www.jeremydaly.com/how-to-switch-from-rdbms-to-dynamodb-in-20-easy-steps/) – A list of useful steps for learning data modeling from [Jeremy Daly](https://twitter.com/jeremy_daly).
+ [DynamoDB JavaScript DocumentClient cheat sheet](https://github.com/dabit3/dynamodb-documentclient-cheat-sheet) – A cheat sheet to help you get started building applications with DynamoDB in a Node.js or JavaScript environment.
+ [ DynamoDB Core Concept Videos](https://www.youtube.com/playlist?list=PLJo-rJlep0EDNtcDeHDMqsXJcuKMcrC5F) – This playlist covers many of the core concepts of DynamoDB.

## Data modeling and design pattern presentations
<a name="AdditionalResources.DataModeling"></a>

You can use the following resources on data modeling and design patterns to help you get the most out of DynamoDB:
+ [Amazon re:Invent 2019: Data modeling with DynamoDB](https://www.youtube.com/watch?v=DIQVJqiSUkE) 
  + A talk by [Alex DeBrie](https://twitter.com/alexbdebrie) that helps you started with the principles of DynamoDB data modeling.
+ [Amazon re:Invent 2020: Data modeling with DynamoDB – Part 1](https://www.youtube.com/watch?v=fiP2e-g-r4g)
+ [Amazon re:Invent 2020: Data modeling with DynamoDB – Part 2](https://www.youtube.com/watch?v=0uLF1tjI_BI)
+ [Amazon re:Invent 2017: Advanced design patterns](https://www.youtube.com/watch?v=jzeKPKpucS0)
+ [Amazon re:Invent 2018: Advanced design patterns](https://www.youtube.com/watch?v=HaEPXoXVf2k)
+ [Amazon re:Invent 2019: Advanced design patterns](https://www.youtube.com/watch?v=6yqfmXiZTlM)
  + Jeremy Daly shares his [12 key takeaways](https://www.jeremydaly.com/takeaways-from-dynamodb-deep-dive-advanced-design-patterns-dat403/) from this session.
+ [Amazon re:Invent 2020: DynamoDB advanced design patterns – Part 1](https://www.youtube.com/watch?v=MF9a1UNOAQo&index=1)
+ [Amazon re:Invent 2020: DynamoDB advanced design patterns – Part 2](https://www.youtube.com/watch?v=_KNrRdWD25M&index=2)
+ [DynamoDB Office Hours on Twitch](https://amazondynamodbofficehrs.splashthat.com/)

**Note**  
Each session covers different use cases and examples.

## Training courses
<a name="AdditionalResources.Training"></a>

There are many different training courses and educational options for learning more about DynamoDB. Here are some current examples:
+ [ Developing with Amazon DynamoDB](https://www.aws.training/Details/Curriculum?id=65583) – Designed by Amazon to take you from beginner to expert in developing real-world applications with data modeling for Amazon DynamoDB.
+ [DynamoDB deep dive course](https://www.pluralsight.com/courses/aws-dynamodb-deep-dive-2019) – A course from Pluralsight.
+ [Amazon DynamoDB: Building NoSQL database-driven applications](https://www.edx.org/course/amazon-dynamodb-building-nosql-database-driven-app) – A course from the Amazon Training and Certification team hosted on edX.