Cloud-based Relational Database Services (RDS) offer businesses a variety of traditional Relational Database Management Systems (RDBMS) with several management and configuration options. In the Top 10 Things to Know about Amazon RDS blog, we covered Amazon RDS. In today's article, we'll be presenting Alibaba Cloud RDS. If you've been considering moving some or all of your database infrastructure to Alibaba Cloud RDS, or any Cloud RDS for that matter, there are many things to consider. Here are the top 10 things you need to know before taking the plunge.
About Alibaba Cloud RDS
Alibaba Cloud RDS, whose full name is Alibaba Cloud ApsaraDB for RDS, is an on-demand database service that handles some of the administrative tasks associated with managing a database, thus leaving you with more time to focus on your core business. ApsaraDB for RDS is offered with many popular RDBMS engines, including MySQL, SQL Server and PostgreSQL. RDS handles routine database tasks such as provisioning, patch up, backup, recovery, failure detection and repair. ApsaraDB for RDS can also protect against network attacks and intercept SQL injections, brute force attacks and other types of database threats.
Alibaba Cloud RDS is a relative newcomer
Alibaba Cloud is the cloud computing arm and a business unit of Alibaba Group. Founded on September 10, 2009, Alibaba Cloud provides a comprehensive suite of global cloud computing services to power both its international customers’ online businesses as well as Alibaba Group’s own e-commerce ecosystem. Alibaba Cloud’s international operations are registered and headquartered in Singapore and operate in numerous other countries around the globe, including Dubai, Frankfurt, Hong Kong, London, New York, Paris, San Mateo, Seoul, Singapore, Sydney, and Tokyo.
Perhaps not quite as recognized as Google or Amazon, 2009 is old enough for a cloud service, making Alibaba Cloud RDS established enough to offer tremendous value for the money.
Alibaba Cloud RDS is easy to deploy and setup
Cloud RDSes can vary quite a bit in terms of setup and deployment difficulty. In those respects, Alibaba Cloud RDS is aligned to the far left of the scale (easy!).
The following diagram explains the steps you must follow from creating an instance to using it.
Here’s a quick breakdown of the steps to get up-and-running:
The first step is to set up a billing account. Service is charged in two ways: Subscription and Pay-As-You-Go. See the Cost section below for more details.
Once your credit card has been approved, you’re ready to buy an RDS instance. Just go to the RDS area on the Alibaba Cloud website and find a configuration set that suits you.
You can select three parameters – Memory, Storage Space and Connection Quantity – based on your requirements.
Configuring the RDS
After purchasing and activating a suitable plan, log in to the Alibaba Cloud console to view your RDS instances. For example, the New Type II plan supports up to 50 database accounts and 200 databases.
- Create Databases and Users
- On the console, in "Database Management", select Create Database. This will open the Add Database page, as shown below. You can select a database name and character set as needed. RDS supports UTF-8, GBK, and Latin-1 character sets.
- Then, set database account and password. The password should not be too simple. Select "Read/Write" for the account type. Switch the Connection Mode
- If you connect to RDS over an Alibaba Cloud server, select Intranet mode; otherwise, select Internet mode. You can switch the connection mode in the top-right corner of the console.
- Set the IP White List
- You can set the IP addresses that are allowed to access your RDS instance. This is very important for security purposes. Here, simply enter the IP address of the server to be allowed to access the RDS. In Internet mode, enter the Internet IP address; in intranet mode, enter the intranet IP address. Entering the “%” wildcard will allow access by all IP addresses and is therefore not recommended.
- Create Databases and Users
After configuring the above settings, you can start using RDS.
Alibaba Cloud provides a set of migration tools, which are a bit difficult for novices. Fortunately, you do not have to use it if your database is small.
Alibaba Cloud RDS does not provide access to the mysql.user table
Users of Alibaba Cloud RDS do not have direct access to the mysql.user table. Instead, Alibaba Cloud RDS provides “RAM-Users”. These are identities used in RAM to relate with a true identity, such as a user or an application. To allow a new user or an application access to your cloud resources, you create and grant permissions to a RAM-User. The general procedure is as follows:
- Use the primary account (or a RAM-User with RAM operation permissions) to log on to the RAM console.
- Create a RAM user and add the user to one or more groups.
- Attach one or more authorization policies to the user (or the group to which the user belongs).
- Create a credential for the user. Note that:
- If the user is to perform operations using the console, you must set a logon password for the user.
- If the user is to call APIs, you must create an API AccessKey for the user.
- If the user needs to use special permissions (for example, to stop ECS instances), you can set Multi-factor authentication (MFA) for the user and require that he/she uses an MFA password to log on to the Alibaba Cloud console.
- Provide the user with the logon URL, username, and logon password.
Create Master Account
Alibaba Cloud RDS offers another account type called high privilege accounts. These have the authority to execute 'create', 'drop', and 'grant' commands within instances.
After creating a master account, the console will no longer support database management. You need to log on to the database directly to perform maintenance.
Once you’ve defined a master account, it is the only account that you can manage through the console, and you need to log on to the database directly to manage all the other accounts.
You can create an account when configuring a new database:
You can also create new accounts on the Accounts screen, which is available from the management console:
Alibaba Cloud RDS provides limited configuration changes
Compared to competitors’ offerings – Amazon RDS comes to mind – Alibaba’s console offers fewer configuration options.
Take database parameters as an example.
RDS allows you to configure database instance parameters through the RDS console. RDS is compatible with the native database service and features similar parameter setting methods. Parameters may also be set through APIs to run related commands.
Some parameters require a restart after modification, while others do not.
Amazon RDS, on the other hand, manages DB engine configuration through the use of parameters in a DB parameter group. DB parameter groups act as a container for engine configuration values that are applied to one or more DB instances. You can use your own DB parameter group by simply creating a new DB parameter group, modifying the desired parameters, and setting your DB instance to use the new DB parameter group. You can also copy an existing parameter group if you have already created a DB parameter group and you want to include most of the custom parameters and values from that group in a new DB parameter group.
Moreover, parameters are accessible via the AWS CLI and API, in addition to the console.
The performance schema database is off by default
Alibaba Cloud RDS instances have the performance schema database turned off by default, which greatly limits our ability to gather performance metrics.
However, it can be turned from the AlibabaCloud Console by clicking on the pencil icon and entering a value of “ON” in the Edit dialog:
A reboot of the instance is required to implement the changes:
An inherent drawback of all cloud-based systems is network latency. When you're located on a different continent than an Alibaba Cloud data center, you can expect delayed transmission of data. Add to this intra-cloud network latency and network-attached storage latency, and you have a significant slowing of services. This depends largely of course on the quality, stability, and speed of your Internet connection.
The most reliable way to minimize network latency is to choose the data center that is closest to your application server(s). If your servers are scattered across several areas, consider employing several database instances, one for each application server.
Alibaba provides several data centers; most are in China – their company headquarters – and around the South Pacific. However, there are locations in Germany, the Middle East, and the US:
Alibaba Cloud provides some monitoring of the RDS instance.
Accessible via the “Monitoring and Alarms” link in the left-hand instance sidebar, the CloudMonitor displays the ApsaraDB for RDS operation status based on four metrics: Disk usage, IOPS usage, Connection usage, and CPU usage. CloudMonitor automatically starts monitoring the above four metrics without any additional configuration as soon as you purchase an ApsaraDB for RDS service.
CloudMonitor will also create alarm rules for each primary and read-only instance. These rules set up the thresholds of CPU usage, Connection usage, IOPS usage, and Disk usage all to 80%. When metric data exceeds any of the above thresholds, a text message and an email will be sent to the alarm contact account.
Below are the OS and MySQL metrics available through the Alibaba GUI:
- OS Metrics :
- CPU and Memory usage.
- Disk Space
- Total Connections
- Network Traffic
- MySQL metrics :
- TPS (Transactions per Second)/QPS (Queries per Second)
- InnoDB Buffer Pool Read Hit Ratio, Usage Ratio, and Dirty Block Ratio (%)
- InnoDB Read/Write Volume (KB)
- InnoDB Buffer Pool Read/Write Frequency
- InnoDB Log Read/Write/fsync
- Number of temporary tables created automatically on the hard disk when the MySQL is executing statements
- MyISAM Read/Write Frequency
- MyISAM Key Buffer Read/Write/Usage Ratio (%)
Other Cloud RDSes, like Amazon’s RDS database platform, provide statistics and advice about many types of metrics including:
- High CPU or RAM consumption
- Disk space consumption
- Network traffic
- Database connections
- IOPS (input-output operations per second) metrics
By comparison, Amazon RDS provides a variety of automated and manual tools that you can use to monitor your RDS database(s). These tools are spread across several dashboards including Amazon RDS, CloudWatch, AWS Trusted Advisor and other AWS console dashboards. Each targets different types of metrics about resource utilization and performance as well as services like alarms and troubleshooting.
Alibaba Cloud provides backup and recovery tools
ApsaraDB supports data backup and log backup. You can configure an auto-backup policy to adjust the cycles of RDS data backup and log backup as well as manually back up RDS data at any time.
Note that, since backup files occupy backup space, charges are incurred if the used space exceeds the free quota!
The Recovery screen may be utilized to recover a backup file to the target node. There are three types of recovery operations:
- Master node roll-back: This can be used to restore a node to the state that it was in at a specific point in time.
- Slave node repair: This can be used to automatically create a new slave node to reduce risks when an irreparable failure occurs to the slave node.
- Read-only instance creation: This creates a read-only instance from a backup.
RDS service is charged in two ways: Subscription and Pay-As-You-Go.
Pay-As-You-Go bills you for the exact volume actually used. You are thus free to activate or stop resources at any time. The Pay-As-You-Go payment method, lets you activate and stop resources as needed with no additional hardware or maintenance costs.
For Subscription the average price of fees is lower than that of Pay-As-You-Go fees, making this pricing plan more suited to those who intend to consume more resources.
See the pricing page for more information.
There are discounts of up to 50% on all regions in Mainland China. Right now, new users get $300 USD in free credit so that they may try out Alibaba Cloud RDS for free.
Monyog is a MySQL monitoring tool that improves the database performance of your MySQL powered systems. Download your free trial.