lvorySQL 2025生态大会暨PostgreSQL高峰论坛:云原生PG数据库serverless 技术解析_第1页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:云原生PG数据库serverless 技术解析_第2页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:云原生PG数据库serverless 技术解析_第3页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:云原生PG数据库serverless 技术解析_第4页
lvorySQL 2025生态大会暨PostgreSQL高峰论坛:云原生PG数据库serverless 技术解析_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云原生PG数据库Serverless技术解析耿倞

(索久)阿里云PolarDBfor

PostgreSQL高级技术专家IvorySQL

2025生态大会暨PostgreSQL高峰论坛PolarDB

for

PostgreSQL云原生架构PolarDB

for

PostgreSQL

ServerlessIvorySQL

2025生态大会暨PostgreSQL高峰论坛目录Neon

ServerlessCONTENTSPolarDB

for

PostgreSQL云原生架构IvorySQL

2025生态大会暨PostgreSQL高峰论坛高可用:

毫秒级延迟,

秒级切换弹性

:存算分离,

独立弹升性能:

多节点并行,

IO带宽高成本

:共享一份数据,

存储成本低扩展性

:一写多读,

读写分离,

读副本延迟低可靠性

:存储三副本

、秒级备份PolarDB云原生架构IvorySQL

2025生态大会暨PostgreSQL高峰论坛PolarFSPolarFSPolarFSPolarFSShredStorage共享存储Primary主节点CPUMemoryLocalStorageStandby备节点CPURW读写节点CPUMemoryRO只读节点CPUMemory原生PostgreSQL

PolarDB

PostgreSQL云原生架构同步机制WALMetaIvorySQL

2025生态大会暨PostgreSQL高峰论坛MemoryLocalStorageChunkChunkChunkWALWALWALRW•

WAL直接写入共享存储数据页异步写入至共享存储.•

抽取WAL中page

id和LSN(WAL

Meta)同步到RO•

RO完成同步后,数据页异步写入至共享存储.

RO•

根据WAL

Meta构建Key为page

id,Value为LSN链表的哈希表

(LogIndex),

即完成同步,

同步过程无存储IO•

RO读数据页时再根据Logindex

+WAL回放到最新即可WALWAL

MetaWAL

Meta:

从单条WAL中抽出page

id和LSNLogIndex:

根据WAL

Meta构建以page

id为key,

LSN链表为value的Hash表,

方便一次性找到指定数据页的所有变更ModifyPageAModifyPageALSN1LSN3

LSN5LSN7云原生架构同步机制ModifyPageAModifyPageAIvorySQL

2025生态大会暨PostgreSQL高峰论坛Data

PagePageALSN1Data

PagePageALSN1LSN3

PageALSN7

PageARW

ROPageALSN

7LSN1LSN3

LSN5LSN7RW->

RO

同步流程PageAWALLSN3

PageALSN7

PageALSN3LSN7LogIndexData

PageLogindexWALWALStoragePolarDB

for

PostgreSQL

ServerlessIvorySQL

2025生态大会暨PostgreSQL高峰论坛业务周期性:日间夜间流量有波峰波谷峰值负载高:

电商大促

SaaS

Tenant

3Tenant

5Tenant2Tenant1Tenant

6Tenant

4需求:

资源随负载弹性变化弹得快

、弹得稳

、弹得准

、弹得广SaaS:租户多,

业务波动

明显,

流量不可预测Serverless:

场景Serverless

弹性资源规格负载需求时间IvorySQL

2025生态大会暨PostgreSQL高峰论坛Serverless集群资源资源单位:

1

PCU

(PolarDB

Capacity

Unit)

=

1C2G弹升与挑战:-Scale

Up/Down

纵向弹:

社区PostgreSQL不支持共享内存动态扩缩容-Scale

Up/Down

跨机弹:

需要走高可用切换方案,

如何做到无感-Scale

In/Out横向弹:

RO一致性弱,

导致负载上不去4

PCUScaleUp4

PCUScaleUpSharedStorage2

PCU22Serverless:

定义与挑战PCUBuffer

PoolPCUBuffer

PoolWALBuffer

PoolWALWALIvorySQL

2025生态大会暨PostgreSQL高峰论坛ScaleOutRWRORO原理BufferPoolfreelistgranual

3 enlargespinlock新buffer添加仅需在串联进freeIist时加一次spin

Iock。纵向弹升:Buffer

Pool

Online

ResizeBuffer

PooIDynamic

Shared

Memory社区PostgreSQL共享内存无法支持在线扩缩容IvorySQL

2025生态大会暨PostgreSQL高峰论坛连续20次扩缩容,性能无抖动10

11

-1granual

0效果granual

2granual

1371LSN4LSN2PageCPageDLogindexTableLSN6LSN8回放进程:-

仅需构建WAL

修改数据页的映射关系(logindex)-

无需读取数据页

数据页:-

由异步进程回放-

且可根据页间依赖关系,

并行执行Data

Page•-

RO:

Online

Promote-

Backup:跨机弹升:

切换后快速回放社区PG切换后必须串行回放完所有数据页才能提供服务Data

Page

WALapplyPage

D

LSN4

LSN8

-

RW:

Restart

/

Crash

Recovery-

Standby:

ReplayIvorySQL

2025生态大会暨PostgreSQL高峰论坛ParaIIeIRepIayWorker1ParaIIeI

RepIay

Worker2apply LSN2

LSN6Page

CLSN

1Page

DLSN

1ReplayStage

2ReplayStage

1Modify

PageCModify

PageDModifyP

ageCModify

PageD异步+

并行回放Data

PageWALWALStorageRO

->

RWRecovery应用场景Page

CLSN

1LSN6LSN8replayLSN

1LSN2LSN4sysbenchreadonly压力,切换后性能快速恢复目标:切换前后保持性能稳定场景:

Switch

Over

/

Fail

Over原理:-

RO构造当前Buffer

Pool中Page

ID的Bloom

Filter,

传递给RW-

RW根据自身的热Buffer与Bloom

Filter的差值,

将对应Page

ID传给RO-

RO再根据Page

ID列表页面读进Buffer

PoolRWPageIDBloom

FilterHot

PageIDShared

StorageBuffer

PoolBuffer

PoolRO跨机弹升:

性能稳定WALWALIvorySQL

2025生态大会暨PostgreSQL高峰论坛ROWarm

Buffer

Pool效果原理:代理保持住客户端连接,

后端数据库切换后重新连接,

续传事务场景:

Restart

/

Switch

Over(小版本升级

、变配)效果:

读写短时hang,

连接保持不断开RO

->

RWBuffer

PoolWALPolar

Proxy跨机弹升:

无感秒切RWBuffer

PoolWALConnection1

Transaction1Connection2

Transaction2IvorySQL

2025生态大会暨PostgreSQL高峰论坛连接保持

&

事务保持背景:•微服务架构时代,

服务间有强一致要求•RO资源无法充分利用,Serverless场景下无法横向弹升原理:•活跃事务列表快照

->

CSN(commit

sequence

number)快照•快照获取:

利用RDMA,

100us

->

20us•RO请求向RW请求最新快照,按需等待回放效果:•会话一致性强一致性•对RW性能无影响,

RO性能影响<10%Polar

ProxyWrite

ReadRWSnapshotCSN(uint64)Wait

ReplayWAL横向弹升:

全局一致性IvorySQL

2025生态大会暨PostgreSQL高峰论坛Connection1Connection2WriteReadWALCSNROServerless:

弹性能力总结1s资源采集间隔,

5秒决策连续弹升步长成指数增长多维度评估弹升弹降:

CPU/

内存

…RW

/

RO独立弹升弹降0.5

PCU的最细弹性粒度Scale

Up:

范围最大支持64PCUScale

Out:

支持最多15个RO,

总计1000+核弹得稳弹得广弹得快弹得准Buffer

Pool弹升无感跨机弹升连接保持IvorySQL

2025生态大会暨PostgreSQL高峰论坛Serverless:

整体效果Scale

Up

ScaleOutIvorySQL

2025生态大会暨PostgreSQL高峰论坛Neon

ServerlessIvorySQL

2025生态大会暨PostgreSQL高峰论坛•

Log

as

a

database,

same

asAWSAurora•

Serverless•

BranchingreadwriteNeon架构IvorySQL

2025生态大会暨PostgreSQL高峰论坛•

Autoscaler-agent•NeonVM:

QEMU(live

migration)ServerlessIvorySQL

2025生态大会暨PostgreSQL高峰论坛Neon计算节点弹性资源自动弹升

(Auto

Scaling)-

CPU

/

Memory:

自定义K8S

scheduler-Share

Buffer:local

file

cache(充分利用OS

page

cache)-

连接:

pgbouncer跨机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论