Buffl

Chapter 7 Database

as
by abdullah S.

Azure Database for MySQL

In this lecture, we delve into the community-based counterpart of Azure SQL: Azure Database for MySQL. There are various types of databases, and we have already explored Azure SQL in this chapter, which is a Microsoft product. In contrast, MySQL is a product built and maintained by the community. It is an open-source project where anyone can contribute to new features and maintenance. Like Azure SQL, MySQL is relational, meaning the data is related to itself and other pieces through defined connections in the database. For example, the table of customers is related to the orders table, establishing which customer made which order.


MySQL is widely used, with millions of databases in operation, and it underpins a significant portion of the public internet. Its mature and proven architecture is a testament to its reliability. As reiterated throughout this course, the advantage of using Azure services lies in their nature as Platform as a Service (PaaS) offerings. Azure Database for MySQL is no exception, completely managed by Microsoft, eliminating the need for you to handle hardware, servers, or security concerns.

Microsoft emphasizes the following advantages of using the managed version of MySQL:


  1. Focus on developing your core business processes instead of managing infrastructure.

  2. Use any language and framework of your choice. For instance, popular content management systems like WordPress, which uses MySQL and PHP, can be deployed on Azure using Azure Database for MySQL.

  3. Achieve high availability and scale your applications rapidly to accommodate a larger user base, thanks to the capabilities of the cloud.

  4. Leverage Azure's security features, including advanced threat protection, monitoring, and identity management.

  5. Benefit from PaaS capabilities such as automatic database patching, automated backups, and built-in monitoring—all at no extra cost.


Azure highlights various use cases for MySQL, similar to other relational database types:

  1. Web applications incorporating machine learning and analytics.

  2. E-commerce implementations for online shopping platforms.

  3. Mobile applications capable of scaling to millions of devices.

  4. Digital marketing experiences dealing with significant spikes in traffic.

  5. Finance management applications handling and managing highly sensitive data.

  6. Gaming applications managing large spikes in data and traffic with low latency requirements.


Azure Database for MySQL stands as another excellent option in Azure's array of managed database services.

Azure Database for PostgreSQL

Azure extends its managed database services with Azure Database for PostgreSQL, commonly referred to as Postgres. This open-source relational database is similar to MySQL, as covered in this chapter. The name "Postgres" originates from being based on a database called Ingres, with "Post" indicating that it came after Ingres. Over time, it evolved into PostgreSQL to denote its support for SQL, the language used for querying data in the database. Postgres has been freely available since 1996, and it has gained a significant user base, even serving as the default database for macOS.

PostgreSQL boasts several features that attract developers and businesses:

  1. Rich Extensions: It integrates with numerous additional features through extensions, including JSONB (a binary version of the JSON data format), spatial capabilities, rich indexing, integration with Visual Studio Code, and more.

  2. Language Flexibility: Users can employ their programming language of choice, such as Ruby on Rails or Python.

  3. Hyperscale Horizontal Scaling: It supports high-performant distributed data usage across many PostgreSQL instances, allowing easy scaling to hundreds of nodes without requiring application rewrites.

  4. Performance Recommendations: The platform provides recommendations based on how users interact with the data and the database.

  5. Monitoring and Detection: Features are in place to monitor and detect disruptive events that may impact performance, empowering users to take corrective action.

PostgreSQL on Azure benefits from fully managed cloud capabilities, including automatic database patching, backups, and built-in monitoring—all without additional costs.

Various industries find PostgreSQL well-suited for their needs:

  • Financial Industry: Ideal for online transaction processing.

  • Mathematical Software Integration: Can be seamlessly integrated with mathematical software like MATLAB and R.

  • Government (GIS): Used for handling geometric data (GIS) with the powerful PostGIS extension.

  • Industrial Manufacturing: Chosen for its reliability, supporting automatic failover, full redundancy, and almost zero downtime upgrades crucial for the manufacturing industry.


Database Migration Services

In the preceding lecture, we delved into the topic of migrating databases to Azure, specifically focusing on SQL Server. Now, you might be wondering how to execute such migrations. Enter the Database Migration Services (DMS) from Azure—a dedicated tool designed to facilitate the seamless transfer of your database from on-premises environments to the cloud. Azure aims to make the migration process as effortless as possible, as their objective is to have you on Azure.


The appeal of Azure DMS lies in its ability to handle the migration of your existing SQL server in one comprehensive sweep. No additional, intricate steps are needed. The tool provides extensive documentation to assist you in selecting the appropriate settings and offers step-by-step guidance to successfully complete the migration process. Additionally, detailed guides are available for migrating from non-Microsoft databases to Azure SQL (a managed Platform as a Service, PaaS) or Azure SQL Server (a non-managed Infrastructure as a Service, IaaS).


Let's illustrate the value of Azure DMS with a practical example. Consider Rainbow Dolphins, a company with an on-premises setup, including an online shop. The current database is a Microsoft SQL instance residing in a server cupboard. With Database Migration Services, Rainbow Dolphins can effortlessly move the SQL server from their on-premises environment to a managed Azure SQL instance in the cloud. Moreover, if they also have a MySQL database on-premises that needs to be migrated to Azure, DMS is equipped to handle that scenario as well. While the second scenario might require a bit more manual effort, Azure Database Migration Services provides step-by-step instructions to guide users through the process, ensuring a smooth and straightforward transition of data to Azure.













Author

abdullah S.

Information

Last changed