[{"data":1,"prerenderedAt":166},["ShallowReactive",2],{"content-svc-dynamodb-guides-knowledge-portal-migrations_4":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":23,"menu":24,"menuType":163,"isCollapseableMenu":27,"nextDocItem":153,"previousDocItem":130,"contributorPaths":164,"contentName":165,"slug":150,"readingTime":57},"\u003Ch1>Comparison of DynamoDB&#39;s NoSQL model with relational databases:\u003C\u002Fh1>\n\u003Cp>DynamoDB&#39;s NoSQL model differs from the traditional table-based structure of relational databases. Here&#39;s a comparison between DynamoDB and relational databases:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cp>\u003Cstrong>Schema Flexibility\u003C\u002Fstrong>: In DynamoDB, you can add or modify attributes without requiring a predefined schema change. This schema-less nature allows for greater flexibility and agility when evolving your data model. In contrast, relational databases enforce rigid schemas, requiring predefined tables and column definitions.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Scalability\u003C\u002Fstrong>: DynamoDB is designed for horizontal scalability, allowing you to handle massive workloads and automatically distributing data across multiple partitions. Relational databases typically scale vertically by upgrading hardware resources, which may have limitations in terms of performance and capacity.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Performance\u003C\u002Fstrong>: DynamoDB offers low-latency access and consistent performance, even at high request rates. Its distributed architecture enables fast read and write operations by distributing the load across multiple nodes. Relational databases may face performance challenges when dealing with high concurrency or large datasets, requiring careful optimization and indexing.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Joins and Relationships\u003C\u002Fstrong>: DynamoDB does not support traditional joins across multiple tables like relational databases. Instead, denormalization and duplication of data are common practices in DynamoDB to optimize query performance and accommodate different access patterns.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Transactions and ACID Compliance\u003C\u002Fstrong>: DynamoDB supports atomic, consistent, isolated, and durable (ACID) transactions within a single item or across multiple items.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Data Consistency\u003C\u002Fstrong>: DynamoDB offers eventually consistent reads by default, providing the best possible read performance. However, it also offers strongly consistent reads, ensuring the latest data consistency if desired. Relational databases typically provide strong consistency by default but may offer configurable isolation levels.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Understanding the differences between DynamoDB&#39;s NoSQL model and relational databases is essential for making informed decisions during the migration process. By embracing DynamoDB&#39;s flexible schema, scalability, and performance characteristics, you can take full advantage of its capabilities and design efficient data models for your applications.\u003C\u002Fp>\n\u003Cp>For further reading here is a link to the \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002Fbp-relational-modeling.html\">best practices for modeling relational data in DynamoDB\u003C\u002Fa>\u003C\u002Fp>\n",{"title":6,"order":7,"resources":8},"Difference between relational and NoSQL data model",1,[9,13,16,19],{"link":10,"text":11,"type":12},"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FIntroduction.html","DynamoDB developer guides","document",{"link":14,"type":12,"text":15},"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002FAPIReference\u002FAPI_Operations_Amazon_DynamoDB.html","DynamoDB API reference",{"link":17,"type":12,"text":18},"https:\u002F\u002Faws.amazon.com\u002Fprescriptive-guidance\u002F?apg-all-cards.sort-by=item.additionalFields.contentTitle&apg-all-cards.sort-order=asc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all&apg-all-cards.q=DynamoDB&apg-all-cards.q_operator=AND","DynamoDB prescriptive guides",{"link":20,"type":21,"text":22},"https:\u002F\u002Fexplore.skillbuilder.aws\u002Flearn\u002Fexternal-ecommerce;view=signin;redirectURL=?ctldoc-catalog-0=se-DynamoDb","Training","DynamoDB training","# Comparison of DynamoDB's NoSQL model with relational databases:\n\nDynamoDB's NoSQL model differs from the traditional table-based structure of relational databases. Here's a comparison between DynamoDB and relational databases:\n\n1. **Schema Flexibility**: In DynamoDB, you can add or modify attributes without requiring a predefined schema change. This schema-less nature allows for greater flexibility and agility when evolving your data model. In contrast, relational databases enforce rigid schemas, requiring predefined tables and column definitions.\n\n2. **Scalability**: DynamoDB is designed for horizontal scalability, allowing you to handle massive workloads and automatically distributing data across multiple partitions. Relational databases typically scale vertically by upgrading hardware resources, which may have limitations in terms of performance and capacity.\n\n3. **Performance**: DynamoDB offers low-latency access and consistent performance, even at high request rates. Its distributed architecture enables fast read and write operations by distributing the load across multiple nodes. Relational databases may face performance challenges when dealing with high concurrency or large datasets, requiring careful optimization and indexing.\n\n4. **Joins and Relationships**: DynamoDB does not support traditional joins across multiple tables like relational databases. Instead, denormalization and duplication of data are common practices in DynamoDB to optimize query performance and accommodate different access patterns.\n\n5. **Transactions and ACID Compliance**: DynamoDB supports atomic, consistent, isolated, and durable (ACID) transactions within a single item or across multiple items.\n\n6. **Data Consistency**: DynamoDB offers eventually consistent reads by default, providing the best possible read performance. However, it also offers strongly consistent reads, ensuring the latest data consistency if desired. Relational databases typically provide strong consistency by default but may offer configurable isolation levels.\n\nUnderstanding the differences between DynamoDB's NoSQL model and relational databases is essential for making informed decisions during the migration process. By embracing DynamoDB's flexible schema, scalability, and performance characteristics, you can take full advantage of its capabilities and design efficient data models for your applications.\n\nFor further reading here is a link to the [best practices for modeling relational data in DynamoDB](https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002Fbp-relational-modeling.html)\n\n",[25,46,61,75,88,101,115,128,140,151],{"title":26,"collapsible":27,"isCollapsed":28,"content":29},"Learn",false,true,[30],{"title":31,"order":7,"callout":32,"resources":37,"time":42,"path":43,"id":44,"link":45},"Getting started with Amazon DynamoDB",{"title":33,"description":34,"image":35,"link":36},"DynamoDB Developer resources","Watch short bite size videos created by Amazon DynamoDB experts on specific topics like backup and restore, indexes, pre-scaling your on-demand tables and many more.. ","\u002Fassets\u002Fexternal\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fassets\u002Fnugets.png","https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLhr1KZpdzukemNOO71Hca0GpjG0QmXwEd",[38,39,40,41],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"1 min","getting-started","getting-started.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fgetting-started",{"title":47,"collapsible":27,"isCollapsed":28,"content":48},"How do I?",[49],{"title":50,"order":51,"resources":52,"time":57,"path":58,"id":59,"link":60},"How do I create a table with CDK?",2,[53,54,55,56],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"2 min","howdoi_1","howdoi_1.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_1",{"title":-1,"collapsible":27,"isCollapsed":28,"content":62},[63],{"title":64,"order":65,"resources":66,"time":71,"path":72,"id":73,"link":74},"How do I handle versioning of items in DynamoDB?",3,[67,68,69,70],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"3 min","howdoi_2","howdoi_2.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_2",{"title":-1,"collapsible":27,"isCollapsed":28,"content":76},[77],{"title":78,"order":79,"resources":80,"time":57,"path":85,"id":86,"link":87},"How do I implement full-text search in DynamoDB?",4,[81,82,83,84],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"howdoi_3","howdoi_3.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_3",{"title":-1,"collapsible":27,"isCollapsed":28,"content":89},[90],{"title":91,"order":92,"resources":93,"time":57,"path":98,"id":99,"link":100},"How do I create a table with CloudFormation?",5,[94,95,96,97],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"howdoi_4","howdoi_4.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fhowdoi_4",{"title":102,"collapsible":27,"isCollapsed":28,"content":103},"Migrate to Amazon DynamoDB",[104],{"title":105,"order":106,"resources":107,"time":71,"path":112,"id":113,"link":114},"Why migrate to DynamoDB",6,[108,109,110,111],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"migrations_1","migrations_1.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_1",{"title":-1,"collapsible":27,"isCollapsed":28,"content":116},[117],{"title":118,"order":119,"resources":120,"time":71,"path":125,"id":126,"link":127},"Migration planning",7,[121,122,123,124],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"migrations_2","migrations_2.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_2",{"title":-1,"collapsible":27,"isCollapsed":28,"content":129},[130],{"title":131,"order":7,"resources":132,"time":57,"path":137,"id":138,"link":139},"DynamoDB key concepts",[133,134,135,136],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"migrations_3","migrations_3.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_3",{"title":-1,"collapsible":27,"isCollapsed":27,"content":141},[142],{"title":6,"order":7,"resources":143,"time":57,"path":148,"id":149,"link":150},[144,145,146,147],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"migrations_4","migrations_4.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_4",{"title":-1,"collapsible":27,"isCollapsed":28,"content":152},[153],{"title":154,"order":7,"resources":155,"time":71,"path":160,"id":161,"link":162},"Migration strategies",[156,157,158,159],{"link":10,"text":11,"type":12},{"link":14,"type":12,"text":15},{"link":17,"type":12,"text":18},{"link":20,"type":21,"text":22},"migrations_5","migrations_5.md","\u002Fcontent\u002Fservice\u002Fdynamodb\u002Fguides\u002Fknowledge-portal\u002Fmigrations_5","LIST",[],"DynamoDB knowledge portal",1792578866828]