PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

22
PostgreSQL @ Alibaba Cloud Xianming Dou 2016.11.05

Transcript of PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Page 1: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

PostgreSQL @ Alibaba Cloud

Xianming Dou 2016.11.05

Page 2: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

How to create a PostgreSQL instance from ZERO?

Page 3: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Create PostgreSQL Instance From ZERO

Page 4: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Create PostgreSQL Instance From ZERO

Page 5: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Create PostgreSQL Instance From ZERO in 10 minutes

Page 6: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

HA

• Transparent• Replication

Lag limit

After Created

Monitoring

• Performance• Exception

and Alarm• Auto-Repair

Backup And Restore• Backup

Scheduling • Time

Specified Restore

PostgreSQL

• OOM Handling• IO Hung• Privilege

Management• Transparent

Switch-Over• Transparent

Connection Pool

Page 7: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

High Availability

Meta Data of instances

HA Worker PG

Master

PG SlaveHA Worker

HA Worker

HA Worker

PG Master

PG Slave

PG Master

PG Slave

replication

HA Master

HA Master

Detect

Promote

Page 8: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Monitoring

Host Collector

Host Collector

Host Collector

Host Collector

Database StormingAPI

Rules And Check Databas

e

Performance

Alarm Auto-Repairing

Instant Detect

Page 9: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Backup and Restore

Backup

Restore

Instance 1

Instance 2

Instance …

Instance N

Backup Scheduler

Persistent Storage

Meta DB

Control Flow

Data Streaming

Data Streaming

Page 10: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

OOM Handling• Standalone Handler• Signal Process

IO Hung• ext4• IO sync

Privilege Management• No super-user• Normal user is not enough

PostgreSQL Kernel Enhancement

Transparent Connection• Connection Pool• Connection Switch

PG

Page 11: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

OOM Handling

OOM Handler

PG Process 1

Instance Resource Container

Public Resource Container

OOM Signal

PG Process N…Most

Memory Usage

PG Process 2PG Process 2

Page 12: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

OOM Handling

OOM Handler

PG Process 1

Instance Resource Container

PG Process 2

Public Resource Container

Specified signal for statement canceling

PG Process N…

PG Process 2Received cancel and report OOM to frontend.

PG Process 2

MovePG Process 2

Page 13: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

OOM Handling

OOM Handling• Standalone Handler• Signal Process

PG

Page 14: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Privilege Management

• Super-user is dangerous• User need lots of privileges• Compatibility

rolname sanityrolsuper frolinherit trolcreaterole trolcreatedb trolcatupdate trolcanlogin trolreplication trolconnlimit -1rolpassword ****rolvaliduntil

Page 15: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

OOM Handling• Resource Limit• Process Container Control

Privilege Management• No super-user• Normal user is not enough

PostgreSQL Kernel

PG

Page 16: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

IO Hung

ext4 journal

lock write

Data Pages

Could be a lot, and IO consuming

The problem of fsync during checkpoint

BLOCK File System

write

unlock

More Page WriteIO limit

GET WORSE

Page 17: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

IO Hung

ext4 journal

lock write

Data Pages

Sync data before fsync during checkpoint

write

unlock

Page 18: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

OOM Handling• Resource Limit• Process Container Control

IO Hung• ext4• IO sync

Privilege Management• No super-user• Normal user is not enough

IO Hung

PG

Page 19: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Transparent Connection Control

Master

Slave

Net Proxy HA

User Switch

Keep Connected

Shutdown

Switch

Promote

Page 20: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

Transparent Connection Control

Master

Slave

Net Proxy

Keep Connected

Statement Clean

Page 21: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)

HA

• Transparent• Replication

Lag limit

After Created

Monitoring

• Performance• Exception

and Alarm• Auto-Repair

Backup And Restore• Backup

Scheduling • Time

Specified Restore

PostgreSQL

• OOM Handling• IO Hung• Privilege

Management• Transparent

Connection Control

Page 22: PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)