[{"data":1,"prerenderedAt":227},["ShallowReactive",2],{"content-svc-dynamodb-guides-using-dynamodbto-build-webapps-05-dynamo-rightforyou":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":14,"menu":15,"menuType":223,"isCollapseableMenu":18,"nextDocItem":99,"previousDocItem":76,"contributorPaths":224,"contentName":226,"slug":98,"readingTime":72},"\u003Ch1>Is DynamoDB the right database for you?\u003C\u002Fh1>\n\u003Cp>When considering adopting DynamoDB as the database for your application, the first question you need to answer is whether DynamoDB is the right database for you.\u003C\u002Fp>\n\u003Ch2>Is DynamoDB the right database for you?\u003C\u002Fh2>\n\u003Cp>At AWS, we believe in the concept of database freedom, which means choosing the right database for your specific data requirements, access model, and scalability needs. AWS offers 16 different types and engines of databases for various purposes. So, why should you consider DynamoDB?\u003C\u002Fp>\n\u003Cp>In this beginner&#39;s guide, you&#39;ll explore the top reasons why DynamoDB is the best NoSQL database for your next project. DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. It&#39;s an ideal solution for applications that require low latency and high throughput at any scale.\u003C\u002Fp>\n\u003Ch2>Adopting DynamoDB\u003C\u002Fh2>\n\u003Cp>Now that you know DynamoDB is a good fit for your needs, let&#39;s discuss the steps you need to take for adopting and migrating to DynamoDB:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cp>\u003Cstrong>Get yourself trained in DynamoDB characteristics:\u003C\u002Fstrong> Familiarize yourself with the features and capabilities of DynamoDB. This will help you make informed decisions during the adoption process.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Understand Single Table design:\u003C\u002Fstrong> When building applications with DynamoDB, it&#39;s beneficial to learn about the concept of Single Table design. This design approach can simplify your data model and improve performance.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Design and build DynamoDB tables and indexes:\u003C\u002Fstrong> With the knowledge gained from the previous steps, you can now design and build your DynamoDB tables and indexes based on your application&#39;s data access patterns.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Convert and migrate your data:\u003C\u002Fstrong> If you are migrating from another database, you&#39;ll need to convert and migrate your data to DynamoDB. Depending on the data source, you may need to perform some preprocessing to prepare the data for migration.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Code your application:\u003C\u002Fstrong> Develop or modify your application code to interact with DynamoDB using the appropriate access patterns. This step may involve significant developer effort.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Deploy and test the migrated application:\u003C\u002Fstrong> Deploy your migrated application to the cloud and thoroughly test it. This step ensures that your database is provisioned correctly and that your application functions as expected.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>By following these steps, you can successfully adopt DynamoDB for your application. This section covers step 1, and the following sections will walk you through the remaining steps in the adoption process.\u003C\u002Fp>\n\u003Cp>For detailed guidance on determining if DynamoDB is appropriate for your needs and planning your migration, refer to the following resource:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fhow-to-determine-if-amazon-dynamodb-is-appropriate-for-your-needs-and-then-plan-your-migration\u002F\">How to determine if Amazon DynamoDB is appropriate for your needs, and then plan your migration\u003C\u002Fa>: This article provides valuable insights and considerations for evaluating DynamoDB&#39;s suitability and planning a successful migration.\u003C\u002Fli>\n\u003C\u002Ful>\n",{"title":6,"order":7,"youtubeVideoID":8,"resources":9},"Is DynamoDB the right database for you?",6,"TpeP3Cmz5PE",[10],{"link":11,"text":12,"type":13},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fhow-to-determine-if-amazon-dynamodb-is-appropriate-for-your-needs-and-then-plan-your-migration\u002F","How to determine if Amazon DynamoDB is appropriate for your needs, and then plan your migration","article","# Is DynamoDB the right database for you?\n\nWhen considering adopting DynamoDB as the database for your application, the first question you need to answer is whether DynamoDB is the right database for you.\n\n## Is DynamoDB the right database for you?\n\nAt AWS, we believe in the concept of database freedom, which means choosing the right database for your specific data requirements, access model, and scalability needs. AWS offers 16 different types and engines of databases for various purposes. So, why should you consider DynamoDB?\n\nIn this beginner's guide, you'll explore the top reasons why DynamoDB is the best NoSQL database for your next project. DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. It's an ideal solution for applications that require low latency and high throughput at any scale.\n\n## Adopting DynamoDB\n\nNow that you know DynamoDB is a good fit for your needs, let's discuss the steps you need to take for adopting and migrating to DynamoDB:\n\n1. **Get yourself trained in DynamoDB characteristics:** Familiarize yourself with the features and capabilities of DynamoDB. This will help you make informed decisions during the adoption process.\n\n2. **Understand Single Table design:** When building applications with DynamoDB, it's beneficial to learn about the concept of Single Table design. This design approach can simplify your data model and improve performance.\n\n3. **Design and build DynamoDB tables and indexes:** With the knowledge gained from the previous steps, you can now design and build your DynamoDB tables and indexes based on your application's data access patterns.\n\n4. **Convert and migrate your data:** If you are migrating from another database, you'll need to convert and migrate your data to DynamoDB. Depending on the data source, you may need to perform some preprocessing to prepare the data for migration.\n\n5. **Code your application:** Develop or modify your application code to interact with DynamoDB using the appropriate access patterns. This step may involve significant developer effort.\n\n6. **Deploy and test the migrated application:** Deploy your migrated application to the cloud and thoroughly test it. This step ensures that your database is provisioned correctly and that your application functions as expected.\n\nBy following these steps, you can successfully adopt DynamoDB for your application. This section covers step 1, and the following sections will walk you through the remaining steps in the adoption process.\n\nFor detailed guidance on determining if DynamoDB is appropriate for your needs and planning your migration, refer to the following resource:\n\n- [How to determine if Amazon DynamoDB is appropriate for your needs, and then plan your migration](https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fhow-to-determine-if-amazon-dynamodb-is-appropriate-for-your-needs-and-then-plan-your-migration\u002F): This article provides valuable insights and considerations for evaluating DynamoDB's suitability and planning a successful migration.\n",[16,27,57,90,120,177,215],{"title":17,"collapsible":18,"isCollapsed":19,"content":20},"Introduction",false,true,[21],{"title":17,"order":22,"time":23,"path":24,"id":25,"link":26},1,"2 min","introduction","introduction.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002Fintroduction",{"title":28,"collapsible":18,"isCollapsed":19,"content":29},"1. Hosting Your Application with App Runner",[30,42],{"title":31,"order":32,"youtubeVideoID":33,"resources":34,"time":23,"path":39,"id":40,"link":41},"What is AWS App Runner?",2,"z-RywG7Xfk8",[35],{"link":36,"text":37,"type":38},"https:\u002F\u002Faws.amazon.com\u002FApp Runner\u002F","AWS App Runner","service","01-apprunnerintro","01-apprunnerintro.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F01-apprunnerintro",{"title":43,"order":44,"youtubeVideoID":45,"resources":46,"time":23,"path":54,"id":55,"link":56},"AWS AppRunner Demo",3,"jOwQdXbmHC4",[47,51],{"link":48,"text":49,"type":50},"https:\u002F\u002Fgithub.com\u002Fmavi888\u002Fnodeexpress-backend-app","NodeJS application code","code",{"link":52,"type":50,"text":53},"https:\u002F\u002Fgithub.com\u002Fmavi888\u002Fcdk-migrated-app-infra\u002Ftree\u002Fapprunner","AWS CDK infrastructure code","02-apprunnerdemo","02-apprunnerdemo.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F02-apprunnerdemo",{"title":58,"collapsible":18,"isCollapsed":19,"content":59},"2.Understanding DynamoDB Basics",[60,76],{"title":61,"order":62,"youtubeVideoID":63,"resources":64,"time":72,"path":73,"id":74,"link":75},"Amazon DynamoDB 101",4,"tkj2r7kFcpM",[65,68],{"link":66,"text":67,"type":38},"https:\u002F\u002Faws.amazon.com\u002Fdynamodb\u002F","Amazon DynamoDB service page",{"link":69,"type":70,"text":71},"https:\u002F\u002Faws.amazon.com\u002Fdynamodb\u002Fpricing\u002F","pricing","Amazon DynamoDB pricing","3 min","03-dynamodb-intro","03-dynamodb-intro.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F03-dynamodb-intro",{"title":77,"order":78,"youtubeVideoID":79,"resources":80,"time":23,"path":87,"id":88,"link":89},"Amazon DynamoDB under the hood",5,"ZhXqNcbR4n0",[81,84],{"link":82,"text":83,"type":13},"https:\u002F\u002Fwww.usenix.org\u002Fconference\u002Fatc22\u002Fpresentation\u002Felhemali","Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service",{"link":85,"type":13,"text":86},"https:\u002F\u002Fwww.theregister.com\u002F2022\u002F11\u002F14\u002Fmeet_the_database_that_supports\u002F","Meet the database that supports Amazon.com","04-dynamodb-underthehood","04-dynamodb-underthehood.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F04-dynamodb-underthehood",{"title":91,"collapsible":18,"isCollapsed":18,"content":92},"3.Designing Your DynamoDB Table",[93,99,111],{"title":6,"order":7,"youtubeVideoID":8,"resources":94,"time":72,"path":96,"id":97,"link":98},[95],{"link":11,"text":12,"type":13},"05-dynamo-rightforyou","05-dynamo-rightforyou.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F05-dynamo-rightforyou",{"title":100,"order":101,"youtubeVideoID":102,"resources":103,"time":23,"path":108,"id":109,"link":110},"Introduction to Single Table Design",7,"lWCch8GEK4E",[104],{"link":105,"text":106,"type":107},"https:\u002F\u002Fyoutu.be\u002FQ6-qWdsa8a4","7 Common DynamoDB Patterns for Modeling and Building an App with Alex De Brie","video","06-dynamodb-singletable","06-dynamodb-singletable.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F06-dynamodb-singletable",{"title":112,"order":113,"youtubeVideoID":114,"resources":115,"time":23,"path":117,"id":118,"link":119},"Design a DynamoDB table with Single Table Design",8,"JLZOI8patlw",[116],{"link":105,"text":106,"type":107},"07-dynamodb-singletable-modeling","07-dynamodb-singletable-modeling.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F07-dynamodb-singletable-modeling",{"title":121,"collapsible":18,"isCollapsed":19,"content":122},"4.Implementing DynamoDB in Your Application",[123,134,144,163],{"title":124,"order":125,"youtubeVideoID":126,"resources":127,"time":23,"path":131,"id":132,"link":133},"Provision Amazon DynamoDB table and indexes with AWS CDK",9,"4o1KzB2AAk4",[128],{"link":129,"text":130,"type":50},"https:\u002F\u002Fgithub.com\u002Fmavi888\u002Fcdk-migrated-app-infra\u002Ftree\u002FdynamoDB\u002Flib","AWS CDK code","08-dynamo-cdkinfra","08-dynamo-cdkinfra.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F08-dynamo-cdkinfra",{"title":135,"order":136,"youtubeVideoID":137,"resources":138,"time":72,"path":141,"id":142,"link":143},"Code your application",10,"9ftDmRMEfDM",[139],{"link":48,"text":140,"type":50},"Get the code","09-dynamodb-app","09-dynamodb-app.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F09-dynamodb-app",{"title":145,"order":146,"youtubeVideoID":147,"resources":148,"time":72,"path":160,"id":161,"link":162},"How to Migrate Data to DynamoDB?",11,"qEQqL3KiOOc",[149,153,157],{"link":150,"text":151,"type":152},"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FS3DataImport.HowItWorks.html","DynamoDB data import from Amazon S3: how it works","docs",{"link":154,"text":155,"type":156},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fperforming-a-live-migration-from-a-mongodb-cluster-to-amazon-dynamodb\u002F","Performing a Live Migration from a MongoDB Cluster to Amazon DynamoDB","blog",{"link":158,"type":107,"text":159},"https:\u002F\u002Fyoutu.be\u002F_6ym3IRrRxo","🆕 Step functions Distributed map - Run 10k parallel serverless executions!","10-dynamodb-migrate","10-dynamodb-migrate.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F10-dynamodb-migrate",{"title":164,"order":165,"youtubeVideoID":33,"resources":166,"time":23,"path":174,"id":175,"link":176},"Deploy and Load Test",12,[167,168,171],{"link":129,"text":140,"type":50},{"link":169,"type":107,"text":170},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=B0pDPSQcAf4","Load test your serverless applications | Run Artillery in a Lambda function",{"link":172,"type":107,"text":173},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=0VNKHIcQ5wk","Building Amazon CloudWatch dashboards with AWS CDK","11-dynamodb-test","11-dynamodb-test.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F11-dynamodb-test",{"title":178,"collapsible":18,"isCollapsed":19,"content":179},"5.Adding Event-Driven Characteristics",[180,188,202],{"title":181,"order":182,"youtubeVideoID":183,"time":184,"path":185,"id":186,"link":187},"DynamoDB Streams",13,"M0GJzjsw5So","1 min","12-dynamo-streams","12-dynamo-streams.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F12-dynamo-streams",{"title":189,"order":190,"youtubeVideoID":191,"resources":192,"time":184,"path":199,"id":200,"link":201},"Acting on Stream Events",14,"RL0l2Wz3deQ",[193,196],{"link":194,"text":195,"type":50},"https:\u002F\u002Fgithub.com\u002Fmavi888\u002Fcdk-migrated-app-infra","Code Repository",{"link":197,"type":107,"text":198},"https:\u002F\u002Fyoutu.be\u002F8Yv_V4havbc","Unlock the Power of EventBridge Pipes: Integrate Across Platforms with Ease!","13-dynamodb-ebpipes","13-dynamodb-ebpipes.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F13-dynamodb-ebpipes",{"title":203,"order":204,"youtubeVideoID":205,"resources":206,"time":184,"path":212,"id":213,"link":214},"Filtering Subscription Messages",15,"36iMOJQUAuE",[207,210,211],{"link":208,"text":209,"type":156},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fintroducing-payload-based-message-filtering-for-amazon-sns\u002F","Introducing payload-based message filtering for Amazon SNS",{"link":194,"text":195,"type":50},{"link":197,"type":107,"text":198},"14-dynamodb-sns","14-dynamodb-sns.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002F14-dynamodb-sns",{"title":216,"collapsible":18,"isCollapsed":19,"content":217},"Conclusion",[218],{"title":216,"order":219,"time":184,"path":220,"id":221,"link":222},16,"conclusion","conclusion.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fusing-dynamodbto-build-webapps\u002Fconclusion","LIST",[225],"content\u002Fcontributors\u002Fmarcia-villalba.json","Using DynamoDB to build WebApps",1792665265747]