We launched the Amazon Relational Database Service (RDS) almost six years ago, in October of 2009. The initial launch gave you the power to launch a MySQL database instance from the command line. From that starting point we have added a multitude of features, along with support for the SQL Server, Oracle Database, PostgreSQL, and Amazon Aurora databases. We have made RDS available in every AWS region, and on a very wide range of database instance types. You can now run RDS in a geographic location that is well-suited to the needs of your user base, on hardware that is equally well-suited to the needs of your application.
Today we are adding support for the popular MariaDB database, beginning with version 10.0.17. This engine was forked from MySQL in 2009, and has developed at a rapid clip ever since, adding support for two storage engines (XtraDB and Aria) and other leading-edge features. Based on discussions with potential customers, some of the most attractive features include parallel replication and thread pooling.
As is the case with all of the databases supported by RDS, you can launch MariaDB from the Console, AWS Command Line Interface (CLI), AWS Tools for Windows PowerShell, via the RDS API, or from a CloudFormation template.
I started out with the CLI and launched my database instance like this:
$ rds-create-db-instance jeff-mariadb-1 \ --engine mariadb \ --db-instance-class db.r3.xlarge \ --db-subnet-group-name dbsub \ --allocated-storage 100 \ --publicly-accessible false \ --master-username root --master-user-password PASSWORD
Let’s break this down, option by option:
- Line 1 runs the
rds-create-db-instancecommand and specifies the name (jeff-mariadb-1) that I have chosen for my instance.
- Line 2 indicates that I want to run the MariaDB engine, and line 3 says that I want to run it on a db.r3.xlarge instance type.
- Line 4 points to the database subnet group that I have chosen for the database instance. This group lists the network subnets within my VPC (Virtual Private Cloud) that are suitable for my instance.
- Line 5 requests 100 gigabytes of storage, and line 6 specifies that I don’t want the database instance to have a publicly accessible IP address.
- Finally, line 7 provides the name and credentials for the master user of the database.
The command displays the following information to confirm my launch:
DBINSTANCE jeff-mariadb-1 db.r3.xlarge mariadb 100 root creating 1 **** db-QAYNWOIDPPH6EYEN6RD7GTLJW4 n 10.0.17 general-public-license n standard n VPCSECGROUP sg-ca2071af active SUBNETGROUP dbsub DB Subnet for Testing Complete vpc-7fd2791a SUBNET subnet-b8243890 us-east-1e Active SUBNET subnet-90af64e7 us-east-1b Active SUBNET subnet-b3af64c4 us-east-1b Active PARAMGRP default.mariadb10.0 in-sync OPTIONGROUP default:mariadb-10-0 in-sync
The RDS CLI includes a full set of powerful, high-level commands, all documented here. For example, I can create read replicas (
rds-create-db-instance-read-replicas) and take snapshot backups (
rds-create-db-snapshot) in minutes.
Here’s how I would launch the same instance using the AWS Management Console:
Get Started Today
You can launch RDS database instances running MariaDB today in all AWS regions. Supported database instance types include M3 (standard), R3 (memory optimized), and T2 (standard).