[{"data":1,"prerenderedAt":166},["ShallowReactive",2],{"content-svc-dynamodb-guides-knowledge-portal-migrations_3":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":23,"menu":24,"menuType":163,"isCollapseableMenu":27,"nextDocItem":141,"previousDocItem":117,"contributorPaths":164,"contentName":165,"slug":138,"readingTime":57},"\u003Ch1>DynamoDB key concepts and features\u003C\u002Fh1>\n\u003Cp>To effectively migrate to DynamoDB, it is crucial to understand its key concepts and features.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cp>\u003Cstrong>NoSQL Data Model\u003C\u002Fstrong>: DynamoDB follows a NoSQL (non-relational) data model, which provides flexibility in handling diverse and evolving data. It allows you to store, retrieve, and manipulate structured, semi-structured, and unstructured data without adhering to a rigid schema. This flexibility enables faster development cycles and accommodates evolving application requirements.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Tables, Items, and Attributes\u003C\u002Fstrong>: In DynamoDB, data is organized into tables. Each table consists of multiple items (or records), and each item contains one or more attributes (or fields). Attributes can be of different data types, such as strings, numbers, binary data, lists, or maps. DynamoDB&#39;s schema-less nature allows you to add or modify attributes on a per-item basis, making it agile for application development.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Primary Key\u003C\u002Fstrong>: Every DynamoDB table must have a primary key that uniquely identifies each item in the table. The primary key can be of two types:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Partition Key\u003C\u002Fstrong>: A single attribute that DynamoDB uses to distribute data across multiple partitions for scalability.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Composite Key\u003C\u002Fstrong>: A combination of a partition key and a sort key (also known as a range key) that allows for hierarchical organization and efficient querying of data within the partition.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Secondary Indexes\u003C\u002Fstrong>: DynamoDB supports the creation of secondary indexes to improve query flexibility and performance. Secondary indexes allow you to query the table using attributes other than the primary key. \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FGSI.html\">Global Secondary Indexes (GSI)\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FLSI.html\">Local Secondary Indexes (LSI)\u003C\u002Fa> provide different indexing capabilities to support diverse access patterns.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Read and Write Capacity Units\u003C\u002Fstrong>: DynamoDB measures and provisions throughput capacity in terms of \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FHowItWorks.ReadWriteCapacityMode.html\">Read Capacity Units (RCUs) and Write Capacity Units (WCUs)\u003C\u002Fa>. RCUs represent the number of strongly consistent read operations per second, while WCUs represent the number of write operations per second. You can adjust these capacity units to accommodate varying workloads and performance requirements.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n",{"title":6,"order":7,"resources":8},"DynamoDB key concepts",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","# DynamoDB key concepts and features\n\nTo effectively migrate to DynamoDB, it is crucial to understand its key concepts and features.\n\n1. **NoSQL Data Model**: DynamoDB follows a NoSQL (non-relational) data model, which provides flexibility in handling diverse and evolving data. It allows you to store, retrieve, and manipulate structured, semi-structured, and unstructured data without adhering to a rigid schema. This flexibility enables faster development cycles and accommodates evolving application requirements.\n\n2. **Tables, Items, and Attributes**: In DynamoDB, data is organized into tables. Each table consists of multiple items (or records), and each item contains one or more attributes (or fields). Attributes can be of different data types, such as strings, numbers, binary data, lists, or maps. DynamoDB's schema-less nature allows you to add or modify attributes on a per-item basis, making it agile for application development.\n\n3. **Primary Key**: Every DynamoDB table must have a primary key that uniquely identifies each item in the table. The primary key can be of two types:\n\n    * **Partition Key**: A single attribute that DynamoDB uses to distribute data across multiple partitions for scalability.\n    * **Composite Key**: A combination of a partition key and a sort key (also known as a range key) that allows for hierarchical organization and efficient querying of data within the partition.\n\n4. **Secondary Indexes**: DynamoDB supports the creation of secondary indexes to improve query flexibility and performance. Secondary indexes allow you to query the table using attributes other than the primary key. [Global Secondary Indexes (GSI)](https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FGSI.html) and [Local Secondary Indexes (LSI)](https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FLSI.html) provide different indexing capabilities to support diverse access patterns.\n\n5. **Read and Write Capacity Units**: DynamoDB measures and provisions throughput capacity in terms of [Read Capacity Units (RCUs) and Write Capacity Units (WCUs)](https:\u002F\u002Fdocs.aws.amazon.com\u002Famazondynamodb\u002Flatest\u002Fdeveloperguide\u002FHowItWorks.ReadWriteCapacityMode.html). RCUs represent the number of strongly consistent read operations per second, while WCUs represent the number of write operations per second. You can adjust these capacity units to accommodate varying workloads and performance requirements.\n\n\n",[25,46,61,75,88,101,115,128,139,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":27,"content":129},[130],{"title":6,"order":7,"resources":131,"time":57,"path":136,"id":137,"link":138},[132,133,134,135],{"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":28,"content":140},[141],{"title":142,"order":7,"resources":143,"time":57,"path":148,"id":149,"link":150},"Difference between relational and NoSQL data model",[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",1792665265630]