1 00:00:00,150 --> 00:00:01,190 So let's say you wanted 2 00:00:01,190 --> 00:00:04,100 to migrate a database from your on-premise systems 3 00:00:04,100 --> 00:00:06,130 to the AWS Cloud. 4 00:00:06,130 --> 00:00:07,650 In this case, you should use DMS 5 00:00:07,650 --> 00:00:09,290 for database migration service. 6 00:00:09,290 --> 00:00:12,410 It's a quick and secure database service 7 00:00:12,410 --> 00:00:14,040 that allows you to migrate your database 8 00:00:14,040 --> 00:00:15,940 from on-premise to AWS 9 00:00:15,940 --> 00:00:17,640 but the cool thing's that it's resilient 10 00:00:17,640 --> 00:00:19,100 and it's self-healing. 11 00:00:19,100 --> 00:00:20,550 And all along sending migration, 12 00:00:20,550 --> 00:00:22,510 the source database remains available 13 00:00:22,510 --> 00:00:24,930 and it supports many types of engines, 14 00:00:24,930 --> 00:00:28,080 such as Homogeneous migrations, so, from Oracle to Oracle 15 00:00:28,080 --> 00:00:30,370 or Postgres to Postgres. 16 00:00:30,370 --> 00:00:33,050 But also, Heterogeneous migrations, for example, 17 00:00:33,050 --> 00:00:34,970 if you want to migrate from Microsoft SQL Server 18 00:00:34,970 --> 00:00:36,560 all the way to Aurora. 19 00:00:36,560 --> 00:00:39,820 And it supports Continuous Data Replication using CDC, 20 00:00:39,820 --> 00:00:41,960 which is change data capture. 21 00:00:41,960 --> 00:00:45,780 Finally, to use DMS, you need to create an EC2 instance 22 00:00:45,780 --> 00:00:46,900 and that EC2 instance 23 00:00:46,900 --> 00:00:49,300 will perform the replication tasks for you. 24 00:00:49,300 --> 00:00:52,150 So very simply, your source database maybe on-premise, 25 00:00:52,150 --> 00:00:53,800 and then you're running an EC2 instance 26 00:00:53,800 --> 00:00:55,610 that has the DMS software, 27 00:00:55,610 --> 00:00:58,200 and it will pull the data from the source database 28 00:00:58,200 --> 00:00:59,310 and continuously. 29 00:00:59,310 --> 00:01:02,240 And put it in the target database. 30 00:01:02,240 --> 00:01:04,080 So the question is, what are the sources 31 00:01:04,080 --> 00:01:05,550 and what are the targets? 32 00:01:05,550 --> 00:01:06,660 You don't need to remember them all 33 00:01:06,660 --> 00:01:08,940 but it's a good idea to just see them once. 34 00:01:08,940 --> 00:01:10,350 The first one is going to be On-Premise 35 00:01:10,350 --> 00:01:12,900 and EC2 database instances, such as, Oracle, 36 00:01:12,900 --> 00:01:13,975 MS SQL Server, 37 00:01:13,975 --> 00:01:14,999 MySQL, 38 00:01:14,999 --> 00:01:15,832 MariaDB, 39 00:01:15,832 --> 00:01:16,755 PostgreSQL, 40 00:01:16,755 --> 00:01:18,490 MongoDB, SAP, and DB2. 41 00:01:18,490 --> 00:01:21,210 Again, you don't need to remember everything, that's fine. 42 00:01:21,210 --> 00:01:23,840 Azure is just going to be for Azure SQL Databases. 43 00:01:23,840 --> 00:01:26,600 RDS, which is all the databases including Aurora 44 00:01:26,600 --> 00:01:27,890 and Amazon S3. 45 00:01:27,890 --> 00:01:29,950 And the targets is going to be On-Premise 46 00:01:29,950 --> 00:01:32,802 and EC2 instances, such as Oracle, MS SQL Server, 47 00:01:32,802 --> 00:01:35,490 MySQL, MariaDB, Postgres, and SAP. 48 00:01:35,490 --> 00:01:36,590 Amazon RDS, 49 00:01:36,590 --> 00:01:37,423 Redshift, 50 00:01:37,423 --> 00:01:38,265 DynamoDB, 51 00:01:38,265 --> 00:01:39,098 S3, 52 00:01:39,098 --> 00:01:39,931 ElasticSearch Service, 53 00:01:39,931 --> 00:01:41,710 Kinesis, and DocumentDB. 54 00:01:41,710 --> 00:01:43,560 So as I said, you don't need to remember everything 55 00:01:43,560 --> 00:01:46,290 but the idea is that you can transform a source, 56 00:01:46,290 --> 00:01:47,400 which is On-Premise, 57 00:01:47,400 --> 00:01:49,690 to target, which is usually AWS, 58 00:01:49,690 --> 00:01:52,857 and these targets are all the common databases on AWS. 59 00:01:53,730 --> 00:01:57,260 So, what if the source database and the target database 60 00:01:57,260 --> 00:01:59,310 do not have the same engine? 61 00:01:59,310 --> 00:02:02,650 Then you need to use something called, "AWS SCT" 62 00:02:02,650 --> 00:02:04,210 or Schema Conversion Tool. 63 00:02:04,210 --> 00:02:05,710 And it will convert the database's schema 64 00:02:05,710 --> 00:02:07,110 from one engine to another. 65 00:02:07,110 --> 00:02:09,169 So, for example, if your using an OLTP, 66 00:02:09,169 --> 00:02:11,660 we can migrate from SQL Server or Oracle 67 00:02:11,660 --> 00:02:14,530 to MySQL, PostgreSQL, or Aurora. 68 00:02:14,530 --> 00:02:16,590 As you can see, on the left hand side, 69 00:02:16,590 --> 00:02:18,300 the database engine is different 70 00:02:18,300 --> 00:02:20,030 from the one on the right hand side. 71 00:02:20,030 --> 00:02:21,890 But also you can transform from analytical processes, 72 00:02:21,890 --> 00:02:26,200 such as Teradata or Oracle, all the way to Amazon Redshift. 73 00:02:26,200 --> 00:02:28,640 So the edge is that, here, the source database 74 00:02:28,640 --> 00:02:30,940 has a different engine than the target database. 75 00:02:30,940 --> 00:02:34,220 In the middle, we have DMS but it's not also running SCT 76 00:02:34,220 --> 00:02:35,950 or Schema Conversion Tool. 77 00:02:35,950 --> 00:02:37,930 And the thing to know, going into the exam, 78 00:02:37,930 --> 00:02:41,360 is that you do not need to use SCT 79 00:02:41,360 --> 00:02:43,600 if you are migrating the same database engine. 80 00:02:43,600 --> 00:02:48,070 So if you're doing On-Premise PostgreSQL to RDS PostgreSQL, 81 00:02:48,070 --> 00:02:51,200 it is the same database engine, it is PostgreSQL. 82 00:02:51,200 --> 00:02:53,870 And so this forth, you will not use SCT. 83 00:02:53,870 --> 00:02:57,390 But if you're doing something such as Oracle to Postgres, 84 00:02:57,390 --> 00:02:59,630 then you will need to use SCT. 85 00:02:59,630 --> 00:03:02,660 So just so you know, the database engine is PostgreSQL 86 00:03:02,660 --> 00:03:05,170 but RDS is just the platform that we're using 87 00:03:05,170 --> 00:03:07,180 to run this database engine. 88 00:03:07,180 --> 00:03:10,650 So how is it good to setup a continuous replication for DMS? 89 00:03:10,650 --> 00:03:12,160 Well, you would have your corporate data center, 90 00:03:12,160 --> 00:03:14,810 for example with an Oracle database as a source, 91 00:03:14,810 --> 00:03:18,660 and an Amazon RDS database from MySQL DB as a target. 92 00:03:18,660 --> 00:03:22,952 And as you can see, we have two different kinds of-- 93 00:03:22,952 --> 00:03:24,430 types of database. 94 00:03:24,430 --> 00:03:27,640 So, in this case, we have to use SCT, 95 00:03:27,640 --> 00:03:28,880 otherwise it will not work. 96 00:03:28,880 --> 00:03:30,600 So, the schema conversion tool. 97 00:03:30,600 --> 00:03:33,720 So, we setup the server with AWS SCT installed 98 00:03:33,720 --> 00:03:35,250 and we can setup on-premises. 99 00:03:35,250 --> 00:03:36,470 This is the best practice. 100 00:03:36,470 --> 00:03:38,510 And then, we will do the schema conversion 101 00:03:38,510 --> 00:03:42,460 into our Amazon RDS database running MySQL. 102 00:03:42,460 --> 00:03:45,210 Then we can setup a DMS Replication instance 103 00:03:45,210 --> 00:03:48,811 that will do the full load and the change data capture (CDC) 104 00:03:48,811 --> 00:03:50,470 to have consider this replication, 105 00:03:50,470 --> 00:03:52,050 and so it will perform the data migration 106 00:03:52,050 --> 00:03:54,150 by reading the database on-premises, 107 00:03:54,150 --> 00:03:56,210 the source, Oracle database, 108 00:03:56,210 --> 00:03:59,380 and inserting the data into your private subnets. 109 00:03:59,380 --> 00:04:00,213 That's it. 110 00:04:00,213 --> 00:04:01,220 So that's all you need to know for DMS. 111 00:04:01,220 --> 00:04:02,890 This is for Database Migration Service. 112 00:04:02,890 --> 00:04:04,970 Remember, you need to use SCT 113 00:04:04,970 --> 00:04:08,000 whenever you have two different kinds of databases 114 00:04:08,000 --> 00:04:09,290 that you're migrating from. 115 00:04:09,290 --> 00:04:10,123 So that's it. 116 00:04:10,123 --> 00:04:11,760 I will see you in the next lecture.