Azure Database for MySQL, MariaDB, and Postgres Readiness Resources
This learning plan aggregates content for understanding and successfully migrating databases into Microsoft Azure. Migration implies there is a “from” source and a “to” destination. This plan covers a base understanding of, and the migration of relational databases TO, the various open source relational database services in Azure:
- Azure Database for MySQL
- Azure Database for MariaDB
- Azure Database for PostgreSQL
In any database migration, it is important to have the source system documented in order to evaluate target options. For the source system, a minimum amount of information needed includes:
- Overall system size (CPU/RAM/IO subsystem), current usage, and version
- Architectural diagram showing database layout and interconnectivity. This includes cross database connectivity, ETL processes, and any feature usage such as transactional replication.
- Security requirements: information on account types (for example, Azure AD), encryption requirements (such as TDE)
- BCDR requirements: clustering, high availability, georeplication, etc. - having defined RPO (recovery point objective) and RTO (recovery time objective) numbers are essential.
With this information, options can be evaluated for both cost and technical feasibility.
Content is broken down as follows:
Fundamentals, Associate, Expert, Specialist: content categorized in increasing level of complexity Certifications: relevant Microsoft exams or certifications Community resources: user groups, events, blogs
Fundamentals
We all have to start somewhere. Start by learning about the various relational database offerings on Azure. This includes Azure SQL Database as well as the open source database offerings too. Then get an overview of each individual open source database service on Azure.
- Microsoft Azure Data Fundamentals: Explore relational data in Azure (Learning Path - 73 mins)
- Introduction to Azure Database for PostgreSQL (Self-Paced) (20 minute read)
- Create and connect to an Azure Database for PostgreSQL (Self-Paced) (46 minutes)
- Introduction to Azure Database for MySQL (40 minute read)
- Introduction to Azure Database for MariaDB (35 minute read)
Know where to find the documentation for each of these offerings:
- Azure Database for PostgreSQL Documentation
- Azure Database for MySQL Documentation
- Azure Database for MariaDB Documentation
For MySQL and PostgreSQL, understand the differences between “single server” and “flexible server”:
MySQL options:
- Azure Database for MySQL - Single Server
- Azure Database for MySQL - Flexible Server NOTE: MySQL Single Server is being retired. Read here for details: What’s happening to Azure Database for MySQL - Single Server?
- Choose the right MySQL Server option in Azure
PostgreSQL options:
- Azure Database for PostgreSQL - Single Server
- Azure Database for PostgreSQL - Flexible Server
- Comparison chart - Azure Database for PostgreSQL Single Server and Flexible Server
For PostgreSQL, there is a new option called Azure CosmosDB for PostgreSQL. This was formerly known as “Azure Database for PostgreSQL Hyperscale”:
Migration Options
Once you understand the open source database service options in Azure, you should start to review options for migrating TO them FROM various sources. Start with the “Azure Database Migration Guides” listing which aggregates many of the individual migration guides below in one place.
- Azure Database Migration Guides
- Migrate MySQL on-premises to Azure Database for MySQL
- Migrate your MySQL database by using import and export
- Migrate your MariaDB database to an Azure Database for MariaDB by using dump and restore
- Migrate your PostgreSQL database by using dump and restore
- Migrate Oracle to Azure Database for PostgreSQL
- MySQL Server - Replicate Changes in Azure Database Migration Service
- New functionality to support migration by replicating changes while databases continue to be operational.
Azure Data Academy series
Like sitting back and watching videos to learn? Check out the video series below with sessions on MySQL, PostgreSQL, and SQL Server.
Associate
If you’ve made it through the fundamentals above, you might want to dig into some of the migration tools and topics here.
- Microsoft Learn - Azure Database for PostgreSQL - Beginner and Intermediate modules
- Microsoft Learn has many “Learning Path” modules that take you through various PostgreSQL concepts. This is a great resource for digging deeper into Azure Database for PostgreSQL.
- Microsoft Learn - Azure Database for MySQL - Beginner and Intermediate modules
- Microsoft Learn has many “Learning Path” modules that take you through various MySQL concepts. This is a great resource for digging deeper into Azure Database for MySQL.
- Ingest and query data using Azure CosmosDB for PostgreSQL
- This Microsoft Learning module will help you learn the basics of Azure CosmosDB for PostgreSQL by setting one up.
- Limitations in Azure Database for MySQL
- Nothing is perfect in life. There are always gotchas. Here is a list of them to have handy for MySQL.
- Limitations in Azure Database for PostgreSQL
- Nothing is perfect in life. There are always gotchas. Here is a list of them to have handy for PostgreSQL.
Tools
- Azure OSS DB SKU Recommender
- Not sure which SKU of Azure Database for PostgreSQL or MySQL you should use? This utility is designed to connect to your existing on-prem database, analyze it, and provide you with a a set of recommendations.
- Oracle to Azure Database for Postgres Migration Guide (Self-Paced) (5 Hours)
- If you are looking to migrate an Oracle database to Azure Database for PostgreSQL, this in-depth PDF whitepaper has you covered. At 309 pages, it is a long read, but it is THE definitive guide on this migration path.
- Azure Data Studio
- Azure Data Studio is a tool that any DBA working with Azure should have in their toolbox. Based on the same technology as Visual Studio Code, Azure Data Studio provides you an extensible tool that lets you connect to and manage many different types of databases.
- PostgreSQL extension for Azure Data Studio
- Database Migration Assessment for Oracle extension
- Ora2PG Tool
- Ora2Pg is a free tool used to migrate an Oracle database to a PostgreSQL compatible schema. It connects your Oracle database, scans it automatically and extracts its structure or data, then generates SQL scripts that you can load into your PostgreSQL database.
- Ora2Pg can be used for anything from reverse engineering Oracle database to huge enterprise database migration or simply replicating some Oracle data into a PostgreSQL database. It is really easy to use and doesn’t require any Oracle database knowledge other than providing the parameters needed to connect to the Oracle database.
Learn How to Migrate to Azure Database for PostgreSQL or MySQL through What The Hack
What the Hack is a set of challenge based hackathons that can be hosted in-person or virtually via Microsoft Teams.
If you are interested in attending a What The Hack event, contact your Microsoft Partner representative. Alternatively, you can host one yourself using the guidance in the What The Hack Hosting Guide
- What The Hack: Intro to OSS DB Migration to Azure OSS DB (In-person Instructor Led)
This intro level hackathon will help you get hands-on experience migrating databases from on-premises PostgreSQL, Oracle and/or MySQL to Azure DB for PostgreSQL and/or Azure DB for MySQL.
This hack features seven technical challenges that give you hands-on experience performing any (or all) of the migration permutations that you are interested in from a set of “source” databases to one of the Azure open source database options. By the end, you should have a good understanding of migration options, approaches, and tools that can help you get the job done.
Certifications
- AZ-900: Microsoft Azure Fundamentals (Self-Paced) (4 Hours)
- DP-900: Microsoft Azure Data Fundamentals
Community Resources
- Microsoft Data Migration Blog
- Like all of the stuff you have read here on this Readiness Resource list? If so, you will want to keep up to date by following the Microsoft Data Migration blog. This blog is updated 1-2x/month by the product team and has news and announcements about features on the Azure open source database services.