{"id":320,"date":"2017-07-18T16:21:35","date_gmt":"2017-07-18T16:21:35","guid":{"rendered":"http:\/\/techblog.foreks.com\/?p=320"},"modified":"2024-07-02T12:58:07","modified_gmt":"2024-07-02T12:58:07","slug":"guide-to-backup-and-restore-big-tables-in-dynamodb-completely","status":"publish","type":"post","link":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/","title":{"rendered":"Guide to backup and restore big tables in DynamoDB completely"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-321 alignleft\" src=\"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/AAEAAQAAAAAAAAcxAAAAJGZiNGRhZGMwLWViZDYtNDYzZS1iMTk4LTViMjgyNzZhZjAxNQ-1-e1500381190269.png\" alt=\"\" width=\"445\" height=\"148\"><\/p>\n<p>To be brief, in Foreks, we are depending on real-time data with no tolerance of high-latencies. The lower the latency, the better results we can provide to our customers\/clients. After Amazon launched the Frankfurt region (eu-central-1) we decided to move from Ireland (eu-west-1) to Frankfurt. It&#8217;s much lower latency when you ping both regions from Istanbul.<\/p>\n<p>We were looking for a practical and easy solution to the issue of ours but after trying many solutions (like Data Pipeline) and getting tired of their complexity, we tend to lean on some open-source projects to do our task.<\/p>\n<p>After a couple researches, found this little awesome batch tool working with boto:&nbsp;<strong><a href=\"https:\/\/github.com\/bchew\/dynamodump\">https:\/\/github.com\/bchew\/dynamodump<\/a><\/strong><\/p>\n<p>We gave it a shot and it worked nearly-perfectly.<\/p>\n<p><!--more-->You can use this tool from your local machine or from an EC2, depending on your connectivity and data-size of course. We had issues on tables with high amount of items but, there is a workaround for that. You need to fine-tune the batch script to work with your dataset.<\/p>\n<p>The default configuration is as follows (inside <strong>dynamodump.py<\/strong>):<\/p>\n<pre spellcheck=\"false\">JSON_INDENT = 2\nAWS_SLEEP_INTERVAL = 10  <span class=\"hljs-comment\"># seconds<\/span>\nLOCAL_SLEEP_INTERVAL = 1  <span class=\"hljs-comment\"># seconds<\/span>\nMAX_BATCH_WRITE = 25  <span class=\"hljs-comment\"># DynamoDB limit<\/span>\nSCHEMA_FILE = <span class=\"hljs-string\">\"schema.json\"<\/span>\nDATA_DIR = <span class=\"hljs-string\">\"data\"<\/span>\nMAX_RETRY = 6\nLOCAL_REGION = <span class=\"hljs-string\">\"local\"<\/span>\nLOG_LEVEL = <span class=\"hljs-string\">\"INFO\"<\/span>\nDATA_DUMP = <span class=\"hljs-string\">\"dump\"<\/span>\nRESTORE_WRITE_CAPACITY = 25\nTHREAD_START_DELAY = 1  <span class=\"hljs-comment\"># seconds<\/span>\nCURRENT_WORKING_DIR = os.getcwd()\nDEFAULT_PREFIX_SEPARATOR = <span class=\"hljs-string\">\"-\"<\/span><\/pre>\n<p>What we needed to change were these:<\/p>\n<pre spellcheck=\"false\">JSON_INDENT = 4\nLOCAL_SLEEP_INTERVAL = 3\nMAX_BATCH_WRITE = 10\nMAX_RETRY = 10\nRESTORE_WRITE_CAPACITY = 10<\/pre>\n<p>Reason we&#8217;re changing this is that the script starts&nbsp;<strong>throwing errors<\/strong>&nbsp;because the&nbsp;<em>provisioned DynamoDB write capacity units\/ps is less than the inserted units\/ps by the script<\/em>.<\/p>\n<p>There are two workarounds here, the first one is the above fine-tunes in the script. Which takes around 30 seconds for 14.000 Items to insert into with this config. But if you have more than 1.000.000 items and you want the restore operation to be completed in less than 5 minutes, then you need to<strong>&nbsp;temporarily scale up the DynamoDB write capacity units per table.<\/strong>&nbsp;After the restore operation succeeds, you can scale down the write capacity units back to its normal.<\/p>\n<h2>Back it up!<\/h2>\n<p>Easy. First, you need to create a user with AWS Access Key (from IAM) with FullAccess permissions to DynamoDB. There is an AWS managed policy called&nbsp;<em>AmazonDynamoDBFullAccess<\/em>&nbsp;and you can use it for the entire operation.<\/p>\n<p>To backup every table in Ireland region:<\/p>\n<pre class=\"prettyprint\"><span style=\"color: #ffffff;\">python dynamodump.py -m backup -r eu-west-1 -s \"*\" --accessKey AWS_ACCESS_KEY --secretKey AWS_SECRET_KEY<\/span><\/pre>\n<p>To backup single table in Frankfurt region (change&nbsp;<strong>TableName<\/strong>&nbsp;with your table name):<\/p>\n<pre class=\"prettyprint\"><span style=\"color: #ffffff;\">python dynamodump.py -m backup -r eu-central-1 -s <strong>TableName<\/strong> --accessKey AWS_ACCESS_KEY --secretKey AWS_SECRET_KEY<\/span><\/pre>\n<h2>Restore any means necessary.<\/h2>\n<p>One thing your should be careful with is to create table schema (empty table with its structure) before you start inserting data, otherwise script might fail during the sequential operations.<\/p>\n<p>To restore every table you have, to London (eu-west-2) region:<\/p>\n<pre class=\"prettyprint\"><span style=\"color: #ffffff;\">python dynamodump.py -m restore -r eu-west-2 -s \"*\" --accessKey AWS_ACCESS_KEY --secretKey AWS_SECRET_KEY --schemaOnly\npython dynamodump.py -m restore -r eu-west-2 -s \"*\" --accessKey AWS_ACCESS_KEY --secretKey AWS_SECRET_KEY --dataOnly<\/span><\/pre>\n<p>Or if you&#8217;d like to insert single table (change TableName with your table name):<\/p>\n<pre class=\"prettyprint\"><span style=\"color: #ffffff;\">python dynamodump.py -m restore -r eu-west-2 -s <strong>TableName<\/strong> --accessKey AWS_ACCESS_KEY --secretKey AWS_SECRET_KEY --schemaOnly\npython dynamodump.py -m restore -r eu-west-2 -s <strong>TableName<\/strong> --accessKey AWS_ACCESS_KEY --secretKey AWS_SECRET_KEY --dataOnly<\/span><\/pre>\n<h2>Data Location<\/h2>\n<p>The data you backed-up will be stored in a folder called&nbsp;<em><strong>dump&nbsp;<\/strong><\/em>where the dynamodump.py script located. Table schema information is covered in scheme.json and the data per table will be rested as partitions (like 0001.json, 0002.json, etc.) if you have high amount of items per table.<\/p>\n<p>The operation will take 30 seconds to 30 minutes depending on the data size inside tables. If you are only taking backups, then you can do it on-the-fly but if you are planning to migrate to another region like us, you should consider having a downtime off-hours. To avoid that you may use DynamoDB Streams but this will require a lot of time for research. There are several github projects basing this as well.<\/p>\n<p>That basically sums everything up.<\/p>\n<p>Be well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To be brief, in Foreks, we are depending on real-time data with no tolerance of high-latencies. The lower the latency, the better results we can provide to our customers\/clients. After Amazon launched the Frankfurt region (eu-central-1) we decided to move from Ireland (eu-west-1) to Frankfurt. It&#8217;s much lower latency when you ping both regions from [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":367,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-320","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Complete Guide to Backup and Resore Big Tables in DynamoDB<\/title>\n<meta name=\"description\" content=\"Learn more about the how to backup and restore big tables in DynamoDB completely.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Complete Guide to Backup and Resore Big Tables in DynamoDB\" \/>\n<meta property=\"og:description\" content=\"Learn more about the how to backup and restore big tables in DynamoDB completely.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/\" \/>\n<meta property=\"og:site_name\" content=\"FinTech Trends, Emerging Technologies, News | ForInvest\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/forinvestcompany\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-18T16:21:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-02T12:58:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/db.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3000\" \/>\n\t<meta property=\"og:image:height\" content=\"1688\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Mert KAPLAN\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ForInvestCom\" \/>\n<meta name=\"twitter:site\" content=\"@ForInvestCom\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mert KAPLAN\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/\"},\"author\":{\"name\":\"Mert KAPLAN\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#\\\/schema\\\/person\\\/5c2a9e74fc9904eaee4211b23c64b641\"},\"headline\":\"Guide to backup and restore big tables in DynamoDB completely\",\"datePublished\":\"2017-07-18T16:21:35+00:00\",\"dateModified\":\"2024-07-02T12:58:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/\"},\"wordCount\":569,\"publisher\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/db.jpg\",\"articleSection\":[\"Devops\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/\",\"url\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/\",\"name\":\"Complete Guide to Backup and Resore Big Tables in DynamoDB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/db.jpg\",\"datePublished\":\"2017-07-18T16:21:35+00:00\",\"dateModified\":\"2024-07-02T12:58:07+00:00\",\"description\":\"Learn more about the how to backup and restore big tables in DynamoDB completely.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/db.jpg\",\"contentUrl\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/db.jpg\",\"width\":3000,\"height\":1688},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/2017\\\/07\\\/18\\\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guide to backup and restore big tables in DynamoDB completely\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#website\",\"url\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/\",\"name\":\"ForInvest\",\"description\":\"Insights\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#organization\"},\"alternateName\":\"ForInvest Yaz\u0131l\u0131m ve Teknoloji Hizmetleri A.\u015e.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#organization\",\"name\":\"ForInvest Yaz\u0131l\u0131m ve Teknoloji Hizmetleri A.\u015e.\",\"alternateName\":\"ForInvest\",\"url\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/symbol.png\",\"contentUrl\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/symbol.png\",\"width\":152,\"height\":152,\"caption\":\"ForInvest Yaz\u0131l\u0131m ve Teknoloji Hizmetleri A.\u015e.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/forinvestcompany\",\"https:\\\/\\\/x.com\\\/ForInvestCom\",\"https:\\\/\\\/www.instagram.com\\\/forinvest.app\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/forinvestcompany\\\/mycompany\\\/verification\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@forinvestapp\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/#\\\/schema\\\/person\\\/5c2a9e74fc9904eaee4211b23c64b641\",\"name\":\"Mert KAPLAN\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/01fa4164ff89220f5856592a72111afb188cf15472bec523e06d7f65dc6a86b7?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/01fa4164ff89220f5856592a72111afb188cf15472bec523e06d7f65dc6a86b7?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/01fa4164ff89220f5856592a72111afb188cf15472bec523e06d7f65dc6a86b7?s=96&r=g\",\"caption\":\"Mert KAPLAN\"},\"url\":\"https:\\\/\\\/www.forinvest.com\\\/insights\\\/author\\\/devops\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Complete Guide to Backup and Resore Big Tables in DynamoDB","description":"Learn more about the how to backup and restore big tables in DynamoDB completely.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Complete Guide to Backup and Resore Big Tables in DynamoDB","og_description":"Learn more about the how to backup and restore big tables in DynamoDB completely.","og_url":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/","og_site_name":"FinTech Trends, Emerging Technologies, News | ForInvest","article_publisher":"https:\/\/www.facebook.com\/forinvestcompany","article_published_time":"2017-07-18T16:21:35+00:00","article_modified_time":"2024-07-02T12:58:07+00:00","og_image":[{"width":3000,"height":1688,"url":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/db.jpg","type":"image\/jpeg"}],"author":"Mert KAPLAN","twitter_card":"summary_large_image","twitter_creator":"@ForInvestCom","twitter_site":"@ForInvestCom","twitter_misc":{"Written by":"Mert KAPLAN","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#article","isPartOf":{"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/"},"author":{"name":"Mert KAPLAN","@id":"https:\/\/www.forinvest.com\/insights\/#\/schema\/person\/5c2a9e74fc9904eaee4211b23c64b641"},"headline":"Guide to backup and restore big tables in DynamoDB completely","datePublished":"2017-07-18T16:21:35+00:00","dateModified":"2024-07-02T12:58:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/"},"wordCount":569,"publisher":{"@id":"https:\/\/www.forinvest.com\/insights\/#organization"},"image":{"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#primaryimage"},"thumbnailUrl":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/db.jpg","articleSection":["Devops"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/","url":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/","name":"Complete Guide to Backup and Resore Big Tables in DynamoDB","isPartOf":{"@id":"https:\/\/www.forinvest.com\/insights\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#primaryimage"},"image":{"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#primaryimage"},"thumbnailUrl":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/db.jpg","datePublished":"2017-07-18T16:21:35+00:00","dateModified":"2024-07-02T12:58:07+00:00","description":"Learn more about the how to backup and restore big tables in DynamoDB completely.","breadcrumb":{"@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#primaryimage","url":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/db.jpg","contentUrl":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2017\/07\/db.jpg","width":3000,"height":1688},{"@type":"BreadcrumbList","@id":"https:\/\/www.forinvest.com\/insights\/2017\/07\/18\/guide-to-backup-and-restore-big-tables-in-dynamodb-completely\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.forinvest.com\/insights\/"},{"@type":"ListItem","position":2,"name":"Guide to backup and restore big tables in DynamoDB completely"}]},{"@type":"WebSite","@id":"https:\/\/www.forinvest.com\/insights\/#website","url":"https:\/\/www.forinvest.com\/insights\/","name":"ForInvest","description":"Insights","publisher":{"@id":"https:\/\/www.forinvest.com\/insights\/#organization"},"alternateName":"ForInvest Yaz\u0131l\u0131m ve Teknoloji Hizmetleri A.\u015e.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.forinvest.com\/insights\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.forinvest.com\/insights\/#organization","name":"ForInvest Yaz\u0131l\u0131m ve Teknoloji Hizmetleri A.\u015e.","alternateName":"ForInvest","url":"https:\/\/www.forinvest.com\/insights\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.forinvest.com\/insights\/#\/schema\/logo\/image\/","url":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2023\/11\/symbol.png","contentUrl":"https:\/\/www.forinvest.com\/insights\/wp-content\/uploads\/2023\/11\/symbol.png","width":152,"height":152,"caption":"ForInvest Yaz\u0131l\u0131m ve Teknoloji Hizmetleri A.\u015e."},"image":{"@id":"https:\/\/www.forinvest.com\/insights\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/forinvestcompany","https:\/\/x.com\/ForInvestCom","https:\/\/www.instagram.com\/forinvest.app\/","https:\/\/www.linkedin.com\/company\/forinvestcompany\/mycompany\/verification\/","https:\/\/www.youtube.com\/@forinvestapp"]},{"@type":"Person","@id":"https:\/\/www.forinvest.com\/insights\/#\/schema\/person\/5c2a9e74fc9904eaee4211b23c64b641","name":"Mert KAPLAN","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/01fa4164ff89220f5856592a72111afb188cf15472bec523e06d7f65dc6a86b7?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/01fa4164ff89220f5856592a72111afb188cf15472bec523e06d7f65dc6a86b7?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01fa4164ff89220f5856592a72111afb188cf15472bec523e06d7f65dc6a86b7?s=96&r=g","caption":"Mert KAPLAN"},"url":"https:\/\/www.forinvest.com\/insights\/author\/devops\/"}]}},"_links":{"self":[{"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/posts\/320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/comments?post=320"}],"version-history":[{"count":5,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"predecessor-version":[{"id":1231,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/posts\/320\/revisions\/1231"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/media\/367"}],"wp:attachment":[{"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.forinvest.com\/insights\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}