Slide 1

Slide 1 text

What developers are doing with Postgres & MySQL on Azure Andrea Lam Samay Sharma

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Agenda Why open source databases on Azure? Common patterns for Postgres What devs are doing with MySQL on Azure Seamless cloud migrations Open Source

Slide 4

Slide 4 text

1K 800 600 400 200 100 Score (logarithmic scale 2013 2014 2015 2016 2017 2018 2019 2020 Growing In Popularity https://db-engines.com/en/ranking_trend PostgreSQL MySQL

Slide 5

Slide 5 text

PostgreSQL & MariaDB are fastest growing relational database management systems MySQL named 2019 “Database of the year” by DB-Engines.com PostgreSQL named 2017 and 2018 “Database of the year” by DB-Engines.com Postgres one of most loved & wanted databases in Stack Overflow Developer Survey 2019 80% Growing In Popularity

Slide 6

Slide 6 text

Rich feature set Proven resilience & stability Open source

Slide 7

Slide 7 text

Rich feature set Proven resilience & stability Open source Fully managed Highly scalable Security & Compliance Intelligent performance

Slide 8

Slide 8 text

Rich feature set Proven resilience & stability Open source Fully managed Highly scalable Security & Compliance Intelligent performance

Slide 9

Slide 9 text

Available on Microsoft Azure Rich feature set Proven resilience & stability Open source Fully managed Highly scalable Security & Compliance Intelligent performance

Slide 10

Slide 10 text

Oracle to Postgres 1

Slide 11

Slide 11 text

Oracle to Postgres, a common pattern we are seeing more & more of

Slide 12

Slide 12 text

Modernize data estate by migrating Oracle > Postgres Rich PostgreSQL features & data types including geospatial Fast and low risk PL/SQL to PL/PgSQL migration Minimal downtime via Ora2PG & Azure Database Migration Reduce TCO by over 90% & avoid vendor lock-in Fully-managed database service

Slide 13

Slide 13 text

Modernize data estate by migrating Oracle > Postgres Rich PostgreSQL features & data types including geospatial Fast and low risk PL/SQL to PL/PgSQL migration Minimal downtime via Ora2PG & Azure Database Migration Reduce TCO by over 90% & avoid vendor lock-in Fully-managed database service

Slide 14

Slide 14 text

Modernize data estate by migrating Oracle > Postgres Fast and low risk PL/SQL to PL/PgSQL migration Minimal downtime via Ora2PG & Azure Database Migration Reduce TCO by over 90% & avoid vendor lock-in Fully-managed database service Rich PostgreSQL features & data types including geospatial

Slide 15

Slide 15 text

Modernize data estate by migrating Oracle > Postgres Rich PostgreSQL features & data types including geospatial Minimal downtime via Ora2PG & Azure Database Migration Reduce TCO by over 90% & avoid vendor lock-in Fully-managed database service Fast and low risk PL/SQL to PL/PgSQL migration

Slide 16

Slide 16 text

Modernize data estate by migrating Oracle > Postgres Rich PostgreSQL features & data types including geospatial Fast and low risk PL/SQL to PL/PgSQL migration Reduce TCO by over 90% & avoid vendor lock-in Fully-managed database service Minimal downtime via Ora2PG & Azure Database Migration

Slide 17

Slide 17 text

Migrating from Oracle to Postgres | The Process Post-migration Migration Migrate schema, data, & objects Data sync Cutover Pre-migration Discover Assess Connect Remediate applications Optimize Run functional & performance tests

Slide 18

Slide 18 text

Operational Real-time Analytics 2

Slide 19

Slide 19 text

Scalable real-time analytics with Hyperscale (Citus) on Azure Database for PostgreSQL

Slide 20

Slide 20 text

aka.ms/citus

Slide 21

Slide 21 text

Why build real-time analytics on Postgres?

Slide 22

Slide 22 text

Real-time ingest & complex analytics in same database Why build real-time analytics on Postgres?

Slide 23

Slide 23 text

Real-time ingest & complex analytics in same database Data types, operators, functions Why build real-time analytics on Postgres?

Slide 24

Slide 24 text

Real-time ingest & complex analytics in same database Data types, operators, functions Extensions: pg_partman, pg_cron, HLL, topn Why build real-time analytics on Postgres?

Slide 25

Slide 25 text

Real-time ingest & complex analytics in same database Data types, operators, functions Extensions: pg_partman, pg_cron, HLL, topn Pre-aggregations & rollups Why build real-time analytics on Postgres?

Slide 26

Slide 26 text

Real-time ingest & complex analytics in same database Data types, operators, functions Extensions: pg_partman, pg_cron, HLL, topn Pre-aggregations & rollups Connectivity with rest of data pipeline Why build real-time analytics on Postgres?

Slide 27

Slide 27 text

Real-time ingest & complex analytics in same database Data types, operators, functions Extensions: pg_partman, pg_cron, HLL, topn Pre-aggregations & rollups Connectivity with rest of data pipeline Scale to hundreds of TBs with Hyperscale (Citus) Why build real-time analytics on Postgres?

Slide 28

Slide 28 text

Real-time analytics architectures with Hyperscale (Citus) Notification Hubs Devices Raw Events Azure Databricks Scheduled process Browser Aggregations App Service/AKS 4 Hyperscale (Citus) in Azure Database for PostgreSQL 4 3 5 2 6 1 Event Hubs

Slide 29

Slide 29 text

4 4 5 1 6 3 2 Notification Hubs Devices Raw Events Azure Databricks Scheduled process Browser Aggregations Hyperscale (Citus) in Azure Database for PostgreSQL Event Hubs App Service/AKS Real-time analytics architectures with Hyperscale (Citus)

Slide 30

Slide 30 text

3 5 2 1 6 4 4 Notification Hubs Devices Raw Events Azure Databricks Scheduled process Browser Aggregations Hyperscale (Citus) in Azure Database for PostgreSQL Event Hubs App Service/AKS Real-time analytics architectures with Hyperscale (Citus)

Slide 31

Slide 31 text

4 4 3 2 1 5 6 Notification Hubs Devices Raw Events Azure Databricks Scheduled process Browser Aggregations Hyperscale (Citus) in Azure Database for PostgreSQL Event Hubs App Service/AKS Real-time analytics architectures with Hyperscale (Citus)

Slide 32

Slide 32 text

4 4 3 5 2 1 6 Notification Hubs Devices Raw Events Azure Databricks Scheduled process Browser Aggregations Hyperscale (Citus) in Azure Database for PostgreSQL Event Hubs App Service/AKS Real-time analytics architectures with Hyperscale (Citus)

Slide 33

Slide 33 text

4 4 3 5 2 1 6 Notification Hubs Devices Raw Events Azure Databricks Scheduled process Browser Aggregations Hyperscale (Citus) in Azure Database for PostgreSQL Event Hubs App Service/AKS Real-time analytics architectures with Hyperscale (Citus)

Slide 34

Slide 34 text

Magento ecommerce on MySQL 3

Slide 35

Slide 35 text

Build ecommerce apps that delight customers with Magento & MySQL An open source e-commerce solution developed in PHP

Slide 36

Slide 36 text

AKS Kubernetes Cluster NGINX 1.15.5 Ingress Cache service (2 pod instances) Varnish Pod Varnish Pod Web (Magento) service WEB Pod App (Magento) service APP Pod Redis-cache service (1 pod instance) Redis-session service (1 pod instance) Redis Cache (1) Redis Cache (1) Magento uses Azure Database for MySQL to store inventory catalog, order, and customer information

Slide 37

Slide 37 text

Built-in HA for 99.99% SLA fault tolerant performance Transactions in 500 milliseconds with 20K IOPS and 16 TB of storage Read-replicas to scale out read- only workloads for analytical platforms AKS Kubernetes Cluster NGINX 1.15.5 Ingress Cache service (2 pod instances) Varnish Pod Varnish Pod Web (Magento) service WEB Pod App (Magento) service APP Pod Redis-cache service (1 pod instance) Redis-session service (1 pod instance) Redis Cache (1) Redis Cache (1) Azure Database for MySQL gives Magento (and ecommerce customers)

Slide 38

Slide 38 text

Built-in HA for 99.99% SLA fault tolerant performance Transactions in 500 milliseconds with 20K IOPS and 16 TB of storage Read-replicas to scale out read- only workloads for analytical platforms AKS Kubernetes Cluster NGINX 1.15.5 Ingress Cache service (2 pod instances) Varnish Pod Varnish Pod Web (Magento) service WEB Pod App (Magento) service APP Pod Redis-cache service (1 pod instance) Redis-session service (1 pod instance) Redis Cache (1) Redis Cache (1) Azure Database for MySQL gives Magento (and ecommerce customers)

Slide 39

Slide 39 text

Built-in HA for 99.99% SLA fault tolerant performance Transactions in 500 milliseconds with 20K IOPS and 16 TB of storage Read-replicas to scale out read- only workloads for analytical platforms AKS Kubernetes Cluster NGINX 1.15.5 Ingress Cache service (2 pod instances) Varnish Pod Varnish Pod Web (Magento) service WEB Pod App (Magento) service APP Pod Redis-cache service (1 pod instance) Redis-session service (1 pod instance) Redis Cache (1) Redis Cache (1) Azure Database for MySQL gives Magento (and ecommerce customers)

Slide 40

Slide 40 text

Built-in HA for 99.99% SLA fault tolerant performance Transactions in 500 milliseconds with 20K IOPS and 16 TB of storage Read-replicas to scale out read- only workloads for analytical platforms AKS Kubernetes Cluster NGINX 1.15.5 Ingress Cache service (2 pod instances) Varnish Pod Varnish Pod Web (Magento) service WEB Pod App (Magento) service APP Pod Redis-cache service (1 pod instance) Redis-session service (1 pod instance) Redis Cache (1) Redis Cache (1) Azure Database for MySQL gives Magento (and ecommerce customers)

Slide 41

Slide 41 text

aka.ms/azure-magento

Slide 42

Slide 42 text

Moodle online learning on MySQL 4

Slide 43

Slide 43 text

Deliver online educational programs with Moodle Allows educators to manage quizzes, assignments, and communicate with students Moodle: open source learning management solution developed in PHP

Slide 44

Slide 44 text

And yes, Moodle—like MySQL—is open source

Slide 45

Slide 45 text

Azure Admin (SSH) IP VNet Gluster FS Controller VM (w/ opt. NFS vol.) Elastic VMS Azure Database for MySQL Moodle deployment architecture on Azure

Slide 46

Slide 46 text

Azure Admin (SSH) IP Autoscaling VMSS web frontend VNet Gluster FS Controller VM (w/ opt. NFS vol.) Elastic VMS Azure Database for MySQL Moodle deployment architecture on Azure

Slide 47

Slide 47 text

Azure Admin (SSH) IP Autoscaling VMSS web frontend VNet Gluster FS Controller VM (w/ opt. NFS vol.) Elastic VMS Azure Database for MySQL Moodle deployment architecture on Azure

Slide 48

Slide 48 text

Azure VNet Moodle deployment architecture on Azure

Slide 49

Slide 49 text

Moodle uses Azure Database for MySQL to store student scores, grades, & student info Automated patching & backups Integrated with native MySQL tools Concurrent user access Moodle deployment architecture on Azure Azure VNet

Slide 50

Slide 50 text

aka.ms/azure-moodle

Slide 51

Slide 51 text

Migrating data to Azure 5

Slide 52

Slide 52 text

aka.ms/azure-mysql-migrate aka.ms/azure-postgres-migrate Seamless data migrations to the cloud

Slide 53

Slide 53 text

Postgres Quickstart Docs: https://aka.ms/azure-postgres-quickstart https://aka.ms/azure-mysql-quickstart Postgres Resources

Slide 54

Slide 54 text

Postgres Quickstart Docs: https://aka.ms/azure-postgres-quickstart https://aka.ms/azure-mysql-quickstart Azure Postgres Blog: https://aka.ms/azure-postgres-blog https://aka.ms/azure-mysql-blog Postgres Resources

Slide 55

Slide 55 text

Postgres Quickstart Docs: https://aka.ms/azure-postgres-quickstart https://aka.ms/azure-mysql-quickstart Azure Postgres Blog: https://aka.ms/azure-postgres-blog https://aka.ms/azure-mysql-blog @AzureDBMySQL citusdata/citus @AzureDBPostgres AskAzureDBforMySQL@service.microsoft.com AskAzureDBforPostgreSQL@service.microsoft.com Postgres Resources

Slide 56

Slide 56 text

© Copyright Microsoft Corporation. All rights reserved. Andrea Lam @andreajlam @AzureDBMySQL thank you merci grazie ध"यवाद ευχαριστώ gracias ధన#$ా&'ల) 谢谢 @samay_sharma @AzureDBPostgres @citusdata Samay Sharma thank you merci grazie ध"यवाद ευχαριστώ gracias ధన#$ా&'ల) 谢谢

Slide 57

Slide 57 text

Any Questions?

Slide 58

Slide 58 text

© Copyright Microsoft Corporation. All rights reserved.