Introduction
Amazon Web Service offers a diverse range of products and services to clients across the globe and shapes. Amazon RDS is one of the most popular and notable services offered by Amazon (Relational Database Service). The availability of this relational database service simplifies the activities of setting up, operating, and scaling a relational database in the Amazon Cloud for software developers. Hardware support, setup functionality, patching, and other database backup and functions automate the most common administrative tasks. AWS RDS allows businesses to scale storage and other computing resources with a single API call.
First, we need to know about differences between self-managed RDBMS on AWS EC2 and Amazon RDS.
Self-managed RDBMS on AWS EC2
In order to understand the distinctions between self-managed RDBMS on AWS EC2 and Amazon RDS, it is important to first examine self-managed RDBMS on AWS EC2. This approach involves provisioning a virtual machine and utilizing the easy launch feature of EC2 instances on AWS to install and manage databases. This method is referred to as self-managed databases on AWS and requires the responsible party to handle all associated tasks, including installation and patching of the operating system, database installation and upgrading, backup and recovery, setup of high availability measures such as replication and failover, monitoring, scaling of resources such as CPU, storage, memory, and network, and all maintenance activities.
Amazon RDS.
Amazon RDS offers an alternative method for creating and managing databases, by utilizing the console, API, or SDK. When creating a database instance through these methods, AWS automatically launches the necessary EC2 instances, configures the storage, installs the database engine software, and creates the databases.
It should be noted that direct access or login to the EC2 instances is not possible, and all traditional database administration tasks are carried out through automations provided by the RDS console, CLI, or SDK.
AWS assumes responsibility for all tasks related to the operating system and database management, such as installation and patching, upgrades, backup and recovery, setup of high availability measures, monitoring, and scaling of resources such as CPU, storage, memory, and network.
This eliminates the need for DBAs to perform these tasks, and to create scripts for automation. Additionally, simple tasks such as taking backups, upgrades, and scaling the database in terms of storage, CPU, and memory are made easy.
Amazon RDS Features
What are the functionalities of RDS that customers should take advantage of?
- AWS RDS (Relational Database Service) provides access to the capabilities of various databases such as MySQL, Oracle, SQL Server, PostgreSQL and Amazon Aurora. Aurora, in particular, is a PostgreSQL and MySQL-compatible database that is designed for scaling database applications without the need for specialized tuning skills.
- Developers familiar with data modeling do not need to be proficient in administrative tasks such as managing tablespaces and distributing table and index data.
- RDS also includes backup and recovery services and manages replication.
- With RDS, developers can take advantage of existing commercial licenses, for example, using the “bring your own license” option to save on hourly charges.
- RDS also offers high availability and a hot failover option in another geographic location, so if the master database instance goes down, it will automatically fail to the secondary location.
- Scaling a database service up or down as the load dictates can be done with simple API calls or manual changes through the AWS Management Console. Storage scales up to 3TB and IOPS to up to 30,000 per instance.
- RDS also eliminates the need to keep up with vendor security and performance patches. Database instances can be managed from the AWS console, as opposed to managing them using database-specific tools when running your own instances.
How can any customer migrate from on-premises to RDS
AWS Database Migration Service (DMS) allows you to migrate your data to and from a wide range of popular commercial and open-source databases, including Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, Amazon Aurora, MariaDB, and MySQL. The service supports both homogeneous migrations, such as Oracle to Oracle, and heterogeneous migrations between different database platforms, such as Oracle to MySQL or Oracle to Amazon Aurora MySQL-Compatible Edition. It should be noted that the source or target database must be on an AWS service in order to be eligible for migration with DMS.
Types of AWS Database Migrations
For those who may be unfamiliar, there are two types of migrations in the context of databases: homogeneous and heterogeneous. The distinction between the two is relatively straightforward.
A homogeneous database migration refers to a migration process in which the source and target databases are of the same type, for example, migrating from one Oracle database to another Oracle database.
Homogeneous Database Migration
- In a homogeneous database migration, the source and target database engines are identical or compatible, such as migrating from an Oracle database to Amazon RDS for Oracle, or from MySQL to Amazon Aurora or Amazon RDS for MySQL or Microsoft SQL Server to Amazon RDS for SQL Server.
- The source database can be located on-premises or on an Amazon EC2 instance, while the target can be a database on an Amazon EC2 instance or an Amazon RDS database.
Heterogeneous Database Migration
- A heterogeneous database migration refers to a migration process in which the source and target databases are of different types, for example, migrating from an Oracle database to Amazon Aurora, or from Microsoft SQL Server to MySQL.
- In order to perform this type of migration, the AWS Schema Conversion Tool should be used to convert the source schema and code to match that of the target database. The AWS Database Migration Service (DMS) can then be used to migrate data from the source database to the target database.
- During the migration, all necessary data type conversions are automatically performed by AWS SCT. The target database can be located on an Amazon EC2 instance or on Amazon RDS.
Customers who are looking to migrate their self-managed PostgreSQL databases to Amazon RDS for PostgreSQL or Aurora PostgreSQL can utilize one of the three primary methods available. These approaches include:
- Utilize a native or third-party database migration method such as pg_dump and pg_restore for full load only migrations.
- Employ a managed service like AWS Database Migration Service (DMS) for both full load and ongoing replication.
- Implement a hybrid approach which includes using a native tool for full load and a managed AWS DMS service for ongoing replication.
Conclusion
Amazon Relational Database Service is a managed service provided by Amazon AWS. It is simple to deploy, configure and maintain the databases in the AWS cloud.