1 00:00:00,360 --> 00:00:02,969 So now let's do a summary of Amazon DynamoDB 2 00:00:02,969 --> 00:00:05,100 which appears quite a bit at the exam. 3 00:00:05,100 --> 00:00:09,270 So DynamoDB is a proprietary technology from AWS. 4 00:00:09,270 --> 00:00:12,060 It's a managed serverless NoSQL database 5 00:00:12,060 --> 00:00:15,780 that provides you, out of the box, millisecond latency. 6 00:00:15,780 --> 00:00:18,240 You have two capacity modes you need to choose from: 7 00:00:18,240 --> 00:00:21,240 so one of them is the provisioned capacity 8 00:00:21,240 --> 00:00:22,560 with optional auto-scaling, 9 00:00:22,560 --> 00:00:23,400 which is great 10 00:00:23,400 --> 00:00:25,080 when you have a smooth type of workload 11 00:00:25,080 --> 00:00:26,820 that increases gradually over time, 12 00:00:26,820 --> 00:00:29,130 or decreases gradually over time, 13 00:00:29,130 --> 00:00:31,530 or you have the on-demand capacity mode 14 00:00:31,530 --> 00:00:34,020 where you don't have to provision capacity 15 00:00:34,020 --> 00:00:36,510 but it scales automatically for you, which is great 16 00:00:36,510 --> 00:00:39,210 if you have very unpredictable workloads, 17 00:00:39,210 --> 00:00:41,850 or if you have sudden steep spikes 18 00:00:41,850 --> 00:00:44,370 of demand on your database. 19 00:00:44,370 --> 00:00:47,850 So DynamoDB can replace ElastiCache as a key/value store, 20 00:00:47,850 --> 00:00:50,130 and it's a great way to, for example, 21 00:00:50,130 --> 00:00:52,320 store session data for your website, 22 00:00:52,320 --> 00:00:54,120 combined with a TTL feature 23 00:00:54,120 --> 00:00:58,020 to expire a row after a specific amount of time. 24 00:00:58,020 --> 00:01:01,230 So DynamoDB is highly available, 25 00:01:01,230 --> 00:01:04,769 it is across multiple availability zones by default, 26 00:01:04,769 --> 00:01:07,110 the Reads and the Writes are fully decoupled, 27 00:01:07,110 --> 00:01:09,780 and it's possible for you to have transactions 28 00:01:09,780 --> 00:01:11,403 on top of DynamoDB tables. 29 00:01:12,300 --> 00:01:14,730 It is possible for you to create a read cache 30 00:01:14,730 --> 00:01:17,580 out of the box that is fully compatible with DynamoDB, 31 00:01:17,580 --> 00:01:21,570 which is a DAX cluster DynamoDB accelerator 32 00:01:21,570 --> 00:01:24,330 and the ability... the particularity of it 33 00:01:24,330 --> 00:01:28,320 is that you get then microsecond read latency. 34 00:01:28,320 --> 00:01:30,420 So look for that in the exam. 35 00:01:30,420 --> 00:01:33,360 In terms of security, authentication, and authorization, 36 00:01:33,360 --> 00:01:36,000 everything is done through IAM. 37 00:01:36,000 --> 00:01:39,540 You have event processing capability on top of DynamoDB, 38 00:01:39,540 --> 00:01:41,760 so you can enable DynamoDB streams 39 00:01:41,760 --> 00:01:45,300 to stream all the changes happening into database, 40 00:01:45,300 --> 00:01:48,840 and you can have an integration to invoke Lambda 41 00:01:48,840 --> 00:01:50,370 from the DynamoDB stream. 42 00:01:50,370 --> 00:01:54,090 Therefore, Lambda can be invoked for every single change 43 00:01:54,090 --> 00:01:56,040 in your DynamoDB table. 44 00:01:56,040 --> 00:01:58,710 The other option is instead of sending the data 45 00:01:58,710 --> 00:02:00,030 to DynamoDB streams, 46 00:02:00,030 --> 00:02:02,820 you can send the data to Kinesis Data Streams. 47 00:02:02,820 --> 00:02:05,190 The advantage is that on top of it, you can use 48 00:02:05,190 --> 00:02:07,410 the Kinesis Data Firehose feature, 49 00:02:07,410 --> 00:02:09,419 or you can use any type of integration 50 00:02:09,419 --> 00:02:11,310 that leverages Kinesis Data Stream. 51 00:02:11,310 --> 00:02:13,350 For example, you could have longer term retention 52 00:02:13,350 --> 00:02:16,740 up to one year on Kinesis Data Streams. 53 00:02:16,740 --> 00:02:19,650 You have a Global Table feature on top of DynamoDB, 54 00:02:19,650 --> 00:02:23,160 which allows you to do active-active replication 55 00:02:23,160 --> 00:02:25,170 across multiple regions. 56 00:02:25,170 --> 00:02:28,140 So anyone can read and write from any region, 57 00:02:28,140 --> 00:02:30,450 this is why it's called active-active. 58 00:02:30,450 --> 00:02:31,800 Now you have two backup options, 59 00:02:31,800 --> 00:02:34,380 the first one is an automated backup. 60 00:02:34,380 --> 00:02:37,050 You need to enable point in time recovery for that, 61 00:02:37,050 --> 00:02:42,050 and you can restore your table to a new DynamoDB table 62 00:02:42,150 --> 00:02:45,390 for any point of time, up to 35 days. 63 00:02:45,390 --> 00:02:49,140 Or if you want to have longer term retention of backups, 64 00:02:49,140 --> 00:02:51,390 you can enable on-demand backups, 65 00:02:51,390 --> 00:02:54,510 which will also restore to a new table. 66 00:02:54,510 --> 00:02:58,200 Now you can export your DynamoDB table to Amazon S3 67 00:02:58,200 --> 00:03:01,200 without using any of the Read Capacity Units 68 00:03:01,200 --> 00:03:03,270 within the point in time recovery window, 69 00:03:03,270 --> 00:03:07,140 so within 35 days using the Export to S3 feature, 70 00:03:07,140 --> 00:03:08,940 and you can also import from S3 71 00:03:08,940 --> 00:03:12,333 without using any Right Capacity Units into a new table. 72 00:03:13,560 --> 00:03:15,600 So DynamoDB from an exam perspective, 73 00:03:15,600 --> 00:03:18,240 anytime you see that you need to rapidly evolve schemas, 74 00:03:18,240 --> 00:03:21,180 you need to have a flexible type of database schema, 75 00:03:21,180 --> 00:03:23,010 it's going to be a great choice. 76 00:03:23,010 --> 00:03:24,962 So the use cases for DynamoDB is: 77 00:03:24,962 --> 00:03:27,210 a serverless application development 78 00:03:27,210 --> 00:03:30,510 for small documents that are less than 400 kilobytes, 79 00:03:30,510 --> 00:03:32,280 distributed serverless cache, 80 00:03:32,280 --> 00:03:33,210 and just so you know, 81 00:03:33,210 --> 00:03:37,590 DynamoDB does not have any SQL query language available. 82 00:03:37,590 --> 00:03:38,520 All right, that's it. 83 00:03:38,520 --> 00:03:41,520 I hope you liked it, and I will see you in the next lecture.