How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud - - PowerPoint PPT Presentation

how microsoft built mysql postgresql and mariadb for the
SMART_READER_LITE
LIVE PREVIEW

How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud - - PowerPoint PPT Presentation

How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud Santa Clara, California | April 23th 25th, 2018 Azure Data Service Architecture Azure Infrastructure Services Share Cluster with SQL DB Azure Service Fabric Control


slide-1
SLIDE 1

Santa Clara, California | April 23th – 25th, 2018

How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud

slide-2
SLIDE 2

2

Azure Infrastructure Services Azure Service Fabric

Azure Data Service Architecture

  • Share Cluster with SQL DB
  • Cluster is decomposed into Azure

Service Fabric applications (10+ applications)

  • All applications and all tenants are

individually deployable

  • DB engine Instances are “services”

managed by Azure Service Fabric

Provisioning services Control Plane Telemetry Connection Proxy Data Plane Control data store Port Sharing Service MySQL/PG/SQL tenants Resource Governance Node health Azure Storage

slide-3
SLIDE 3

Azure Storage Azure Compute Azure Networking Global Azure with 38 Regions

SQL Database SQL DW Database Services Platform

Database Jobs Orchestration of Management Workflows Backup Manager & Backups retention, PITR and Geo- Restore Azure Resource Manager APIs, Client Tools, Portal integration Active Geo-Replication Local Replication for HA

Service Fabric

High Availability Hyper-Scale High Density Rolling Upgrades Stateful services Low Latency Cluster messaging Fast startup & shutdown Container Orchestration & lifecycle management Failure Detection & Failover Load balancing Self-healing Automated Rollback Health Monitoring Placement Services Location Services & Routing Resizing Service Continuous Delivery through Deployment Automation SMART Monitoring Proactive Analytics and Alerting Auto-mitigation of LiveSite incidents Workload Insights Connecti tion Proxy and Connection tion Redirection tion Cross ss-region gion and in-region gion data migration tion Data Security ity & C Com

  • mplia

pliance Resource Governance and Resource Isola latio tion per Server/Da /Data taba base se

MySQL/MariaDB

SQL Server 2017 SQL Server 2017 + PDW MySQL/MariaDB Server

A/B Testing

Azure Monitoring

Azure Relational Database Services Platform

PostgreSQL

PostgreSQL Server

slide-4
SLIDE 4

Microsoft Azure Service Fabric

A platform for reliable, hyperscale, microservice-based applications

Microservices

Service Fabric

High Availability Hyper- Scale High Density Rolling Upgrades Stateful services Low Latency Cluster messaging Fast startup & shutdown Container Orchestration & lifecycle management Failure Detection & Failover Load balancing Self-healing Automated Rollback Health Monitoring Placement Services Location Services & Routing Resizing Service

slide-5
SLIDE 5

A set of machines that Service Fabric stitches together to form a cluster One cluster can scale to 1000+ machines

Cluster: A federation of machines

Node Node Node Node Node Node

slide-6
SLIDE 6

Relational data services – Control Plane

Node Node Node Node Node Node

Database Connection Redirector/Proxy Management Service

Front-end Services (GW) Cluster Control Services (MN)

Cluster Metadata(CMS)

One cluster per region managed by service fabric Provides front-end and cluster control services.

slide-7
SLIDE 7

Db tenant2 Files Db tenant1 Files

Relational data services – Data Plane

Node Node Node Node Node Node

Platform Services

Node 1 Azure Storage Db log Files Db Files

Application Services

One to many clusters per region managed by service fabric Each node has application services (MySQL server) and platform services

slide-8
SLIDE 8

8

Multi-tenancy

  • Multi-tenancy is really hard
  • Noisy neighbors; accidental or intentional abuse
  • Different levels of multi-tenancy have different tradeoffs in cost, capacity

and density

  • More sharing leads to greater efficiencies but adds more points of contention
  • Expectations on performance predictability need to be managed via min

guarantee and max caps across different hardware SKUs

On prem/ stamp VM/ IaaS OS sharing Process sharing

slide-9
SLIDE 9

9

Our Solution

  • Running a strip down version of latest Windows in a security container

(SQLPAL)

  • Strong Security Isolation
  • Strong Resource Isolation
  • Less memory footprint (compare to a Full OS)
  • Less attack surface (Lock down to bare minimum for engine)
  • Leverage Microsoft SQL Server schedulers and memory management
  • Resource Governance combined with Native Windows and SQLPAL
  • CPU
  • Memory
  • Disk
  • Network
slide-10
SLIDE 10

10

SQL Platform Abstraction Layer (SQLPAL)

  • Windows Host Extension has a

driver for creating the Pico process and a monitor process (user mode) that implements non- perf related ABIs.

  • ABI calls are handled by the driver

and are either handled directly (Like File IO) or are marshalled to the monitor process for handling (Like File Open)

Ring 3 DBMS Win32 SOSv2 LibOS Ring 0 Host Extension(HE) Windows Kernel

SQLPAL

Non-Windows Windows

slide-11
SLIDE 11

11

Decoupled Compute and Storage

  • Remote Storage built on top of commodity hardware
  • Different optimizations for I/O Path of Log and Data files
  • Log files require low latency write, sequence read when crash recovery
  • Data files require high throughput, random read/write
  • Snapshot based backup
  • Never possible for huge amount of data through other ways (TB+)
  • Snapshot Support
  • PITR support
slide-12
SLIDE 12

12

Security Enhancement

  • Network Security
  • VNET
  • Firewall Support
  • Both Inbound and outbound lock down
  • Port Sharing Service (One per Node)
  • One port listen for each server
  • Duplicate the socket and SSL security context to the real instance
  • Encrypt-At-Rest
  • Threat Detection
slide-13
SLIDE 13

13

Rate My Session

slide-14
SLIDE 14

Thank You!