{"id":1644,"date":"2019-08-06T10:17:31","date_gmt":"2019-08-06T10:17:31","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=1644"},"modified":"2020-05-02T05:47:51","modified_gmt":"2020-05-02T05:47:51","slug":"amazon-dynamodb","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/","title":{"rendered":"Amazon DynamoDB"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li>It is a fully managed NoSQL database service <\/li><li>It provides fast and predictable performance with seamless scalability. <\/li><li>Offload the administrative burdens of operating and scaling a distributed database<\/li><li>It also offers encryption at rest<\/li><li>Create database tables that can store and retrieve any amount of data<\/li><li>Serve any level of request traffic. <\/li><li>Scale up or down tables&#8217; throughput capacity without downtime or performance degradation<\/li><li>Use the AWS Management Console to monitor resource utilization. <\/li><li>Also, provides on-demand backup capability with full backups of tables for long-term retention and archival.<\/li><li>tables, items, and attributes are the core components <\/li><li>A table is a collection of items<\/li><li>item is a collection of attributes. <\/li><li>primary keys are used to uniquely identify each item in a table <\/li><li>secondary indexes provide more querying flexibility<\/li><li>DynamoDB Streams capture data modification events in DynamoDB tables. <\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"226\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image027-750x226.png\" alt=\"\" class=\"wp-image-1645\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image027-750x226.png 750w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image027.png 1000w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p><strong>DynamoDB\ncomponents<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Tables <ul><li>Similar\nto other database systems, DynamoDB stores data in tables. <\/li><\/ul><ul><li>A\ntable is a collection of data<\/li><\/ul><ul><li>Example,\nsee the example table called People, is listed below, to store personal contact\ninformation about friends, family, or anyone else of interest. You could also\nhave a Cars table to store information about vehicles that people drive.<\/li><\/ul><\/li><li>Items <ul><li>Each\ntable contains zero or more items<\/li><\/ul><ul><li>An\nitem is a group of attributes that is uniquely identifiable among all of the\nother items. <\/li><\/ul><ul><li>In\na People table, each item represents a person. For a Cars table, each item\nrepresents one vehicle. <\/li><\/ul><ul><li>Items\nare similar in many ways to rows, or tuples in other database systems. <\/li><\/ul><ul><li>There\nis no limit to the number of items you can store in a table.<\/li><\/ul><\/li><li>Attributes <ul><li>Each\nitem is composed of one or more attributes. <\/li><\/ul><ul><li>It\nis a fundamental data element, and is not to be broken down any further. <\/li><\/ul><ul><li>For\nexample, an item in a People table contains attributes called PersonID,\nLastName, FirstName, and so on. <\/li><\/ul><ul><li>Attributes\nare similar to fields or columns in other database systems.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>The following diagram shows a table named People with some example items and attributes.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"217\" height=\"400\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image028-217x400.png\" alt=\"\" class=\"wp-image-1646\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image028-217x400.png 217w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image028.png 274w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/><\/figure>\n\n\n\n<p>Note the following about the People table:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Each item in the table has a unique identifier,\nor primary key, that distinguishes the item from all of the others in the\ntable. In the People table, the primary key consists of one attribute\n(PersonID).<\/li><li>Other than the primary key, the People table is\nschemaless, which means that neither the attributes nor their data types need\nto be defined beforehand. Each item can have its own distinct attributes.<\/li><li>Most of the attributes are scalar, which means\nthat they can have only one value. Strings and numbers are common examples of\nscalars.<\/li><li>Some of the items have a nested attribute (Address).\nDynamoDB supports nested attributes up to 32 levels deep.<\/li><\/ul>\n\n\n\n<p>DynamoDB supports two different kinds of primary keys:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Partition key \u2013 A simple primary key, composed\nof one attribute known as the partition key. Partition key&#8217;s value is input to\nan internal hash function. The output from the hash function determines the\npartition (physical storage internal to DynamoDB) in which the item will be\nstored. In a table that has only a partition key, no two items can have the\nsame partition key value. The People table has a simple primary key (PersonID)\nto access any item in the table directly by providing it.<\/li><li>Partition key and sort key \u2013&nbsp; Called as a composite primary key. Has two\nattributes &#8211; first is the partition key, and second is the sort key. Partition key\nvalue as input to an internal hash function. The output from the hash function\ndetermines the partition (physical storage internal to DynamoDB) in which the\nitem will be stored. All items with the same partition key value are stored\ntogether, in sorted order by sort key value. <\/li><\/ul>\n\n\n\n<p><strong>Secondary\nIndexes \u2013 <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Can create one or more secondary indexes on a\ntable. <\/li><li>Query the table using an alternate key by\nsecondary index, instead of primary key. <\/li><li>DynamoDB doesn&#8217;t require index, but index give\nmore flexibility during querying data. <\/li><li>With a secondary index on a table, read data\nfrom index similar as, from the table.<\/li><\/ul>\n\n\n\n<p><strong>DynamoDB index types<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Global secondary index \u2013 Partition key and sort\nkey that can be different from those on the table.<\/li><li>Local secondary index \u2013Same partition key as the\ntable, but a different sort key.<\/li><\/ul>\n\n\n\n<p>DynamoDB supports eventually consistent and strongly\nconsistent reads.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Eventually Consistent Reads &#8211; When you read data\nfrom a DynamoDB table, the response might not reflect the results of a recently\ncompleted write operation. The response might include some stale data. If you\nrepeat read request after a short time, the response should return the latest\ndata.<\/li><li>Strongly Consistent Reads &#8211; When you request a\nstrongly consistent read, DynamoDB returns a response with the most up-to-date\ndata, reflecting the updates from all prior write operations that were\nsuccessful. A strongly consistent read might not be available if there is a\nnetwork delay or outage. Consistent reads are not supported on global secondary\nindexes (GSI).<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>It is a fully managed NoSQL database service It provides fast and predictable performance with seamless scalability. Offload the administrative burdens of operating and scaling a distributed database It also offers encryption at rest Create database tables that can store and retrieve any amount of data Serve any level of request traffic. Scale up or&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":383,"menu_order":15,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[35,219],"class_list":["post-1644","page","type-page","status-publish","hentry","tag-amazon-dynamodb","tag-aws-dynamodb"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Amazon DynamoDB - Testprep Training Tutorials<\/title>\n<meta name=\"description\" content=\"It provides fast and predictable performance with seamless scalability.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Amazon DynamoDB - Testprep Training Tutorials\" \/>\n<meta property=\"og:description\" content=\"It provides fast and predictable performance with seamless scalability.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-02T05:47:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image027-750x226.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/\",\"name\":\"Amazon DynamoDB - Testprep Training Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2019-08-06T10:17:31+00:00\",\"dateModified\":\"2020-05-02T05:47:51+00:00\",\"description\":\"It provides fast and predictable performance with seamless scalability.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Certified SysOps Administrator &#8211; Associate (SOA-C01)\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Amazon DynamoDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Amazon DynamoDB - Testprep Training Tutorials","description":"It provides fast and predictable performance with seamless scalability.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/","og_locale":"en_US","og_type":"article","og_title":"Amazon DynamoDB - Testprep Training Tutorials","og_description":"It provides fast and predictable performance with seamless scalability.","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/","og_site_name":"Testprep Training Tutorials","article_modified_time":"2020-05-02T05:47:51+00:00","og_image":[{"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image027-750x226.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/","name":"Amazon DynamoDB - Testprep Training Tutorials","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2019-08-06T10:17:31+00:00","dateModified":"2020-05-02T05:47:51+00:00","description":"It provides fast and predictable performance with seamless scalability.","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/amazon-dynamodb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"AWS Certified SysOps Administrator &#8211; Associate (SOA-C01)","item":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-sysops-administrator-associate\/"},{"@type":"ListItem","position":3,"name":"Amazon DynamoDB"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=1644"}],"version-history":[{"count":2,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1644\/revisions"}],"predecessor-version":[{"id":1648,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1644\/revisions\/1648"}],"up":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/383"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=1644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=1644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=1644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}