什么是PolarDB PostgreSQL

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: PolarDB PostgreSQL(下文简称为PolarDB)是一款阿里云自主研发的云原生数据库产品,100%兼容PostgreSQL,采用基于Shared-Storage的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP的能力。

image.png

什么是PolarDB PostgreSQL

image.png

PolarDB PostgreSQL(下文简称为PolarDB)是一款阿里云自主研发的云原生数据库产品,100%兼容PostgreSQL,采用基于Shared-Storage的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP的能力。

  1. 极致弹性:存储与计算能力均可独立地横向扩展。
  1. 当计算能力不够时,可以单独扩展计算集群,数据无需复制。
  2. 当存储容量/IO不够时,可以单独扩展存储集群,而不中断业务。
  1. 毫秒级延迟:
  1. WAL日志存储在共享存储上,RW到所有RO之间仅复制WAL的元数据。
  2. 独创的LogIndex技术,实现了Lazy回放和Parallel回放,理论上最大程度地缩小了RW和RO节点间的延迟。
  1. HTAP能力:基于Shared-Storage的分布式并行执行框架,加速在OLTP场景下的OLAP查询。一套OLTP型的数据,可支持2套计算引擎:
  1. 单机执行引擎:处理高并发的TP型负载。
  2. 分布式执行引擎:处理大查询的AP型负载。

PolarDB还支持时空、GIS、图像、向量、搜索、图谱等多模创新特性,应对企业对数据处理日新月异的需求。

另外,除了上述Shared-Storage云原生的模式,PolarDB还支持以Shared-Nothing模式部署,详见distribute分支的Readme

分支说明

PolarDB后续默认分支为main分支,支持存储计算分离的形态。distribute分支是分布式形态(对应之前的master分支)。

产品架构和版本规划

PolarDB采用了基于Shared-Storage的存储计算分离架构。数据库由传统的Share-Nothing,转变成了Shared-Storage架构。由原来的N份计算+N份存储,转变成了N份计算+1份存储。虽然共享存储上数据是一份,但是数据在内存中的状态是不同的,需要通过内存状态的同步来维护数据的一致性;同时主节点在刷脏时也需要做协调,避免只读节点读取到超前的“未来页面”,也要避免只读节点读取到过时的没有在内存中被正确回放的“过去页面”。为了解决该问题,PolarDB创造性地设计了LogIndex数据结构来维护页面的回放历史,该结构能够在主节点到只读节点进行同步。

在存储计算分离后,IO单路延迟变大的同时,IO的吞吐也变大了。在处理分析型查询时,仅使用单个只读节点无法发挥出存储侧的大IO带宽优势,也无法发挥其他只读节点的CPU/Mem/IO。为了解决该问题,PolarDB研发了基于Shared-Storage的并行执行引擎,能够在SQL级别上弹性利用任意数目的CPU来加速分析查询,支持HTAP的混合负载场景。

详情请查阅产品架构版本规划

文档

快速入门

我们提供了三种途径来使用PolarDB数据库:阿里巴巴云服务、搭建本地存储的实例、搭建基于PFS共享存储的实例(即将上线)。

阿里巴巴云服务

阿里云云原生关系型数据库PolarDB PostgreSQL引擎:官网地址

搭建本地存储的实例

我们提供了一键部署脚本,助您快速编译PolarDB内核并搭建本地实例。本节介绍了如何通过提供的一键部署脚本,快速搭建存储为本地磁盘的PolarDB实例。

**操作系统要求:**CentOS 7.5及以上。以下步骤在CentOS 7.5上通过测试。

**说明:**请使用同一个用户进行以下步骤。请勿使用root用户搭建实例。

  1. 下载PolarDB源代码,地址:https://github.com/alibaba/PolarDB-for-PostgreSQL/tree/main
  2. 安装相关依赖:
sudo yum install readline-devel zlib-devel perl-CPAN bison flex
sudo cpan -fi Test::More IPC::Run
  1. 根据不同的搭建场景,可选择不同的脚本执行命令:
  • 只编译数据库源码,不创建本地实例:
./polardb_build.sh --noinit
  • 编译并创建本地单节点实例,节点为主节点(端口为5432):
./polardb_build.sh
  • 编译并创建本地多节点实例,节点包括:
  • 主节点1个(端口为5432)。
  • 只读节点1个(端口为5433)。
./polardb_build.sh --withrep --repnum=1
  • 编译并创建本地多节点实例,节点包括:
  • 主节点1个(端口为5432)。
  • 只读节点1个(端口为5433)。
  • 备库节点1个(端口为5434)。
./polardb_build.sh --withrep --repnum=1 --withstandby
  • 编译并创建本地多节点实例,节点包括:
  • 主节点1个(端口为5432)
  • 只读节点2个(端口分别为5433与5434)
  • 备库节点1个(端口为5435)。
./polardb_build.sh --withrep --repnum=2 --withstandby
  1. 部署完成后,需要进行实例检查和测试,确保部署正确。
  • 实例检查:
$HOME/tmp_basedir_polardb_pg_1100_bld/bin/psql -p 5432 -c 'select version();'
$HOME/tmp_basedir_polardb_pg_1100_bld/bin/psql -p 5432 -c 'select * from pg_replication_slots;'
  • 一键执行全量回归测试:
./polardb_build.sh --withrep --repnum=1 --withstandby -r-check-all -e -r-contrib -r-pl -r-external -r-installcheck-all

软件许可说明

PolarDB的代码的发布基于Apache 2.0版本和PostgreSQL代码的软件许可。相关的许可说明可参见LicenseNOTICE

致谢

部分代码和设计思路参考了其他开源项目,例如:PG-XC/XL(pgxc_ctl)、TBase(部分基于时间戳的vacuum 和MVCC)、Greenplum以及Citus(pg_cron)。感谢以上开源项目的贡献。

联系我们

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
9天前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
9月前
|
Cloud Native 关系型数据库 分布式数据库
让PolarDB更了解您--PolarDB云原生数据库核心功能体验馆
让PolarDB更了解您——PolarDB云原生数据库核心功能体验馆,由阿里云数据库产品事业部负责人宋震分享。内容涵盖PolarDB技术布局、开源进展及体验馆三大部分。技术布局包括云计算加速数据库演进、数据处理需求带来的变革、软硬协同优化等;开源部分介绍了兼容MySQL和PostgreSQL的两款产品;体验馆则通过实际操作让用户直观感受Serverless、无感切换、SQL2Map等功能。
299 7
|
5月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
279 3
|
5月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
463 17
|
8月前
|
关系型数据库 分布式数据库 PolarDB
通过 PolarDB for PostgreSQL 实现一体化的 HTAP 能力
阿里云 PolarDB for PostgreSQL作为一款领先的云原生关系型数据库,利用向量化引擎+列存索引等技术实现了 OLTP 和 OLAP 的一体化。本方案为您展示如何通过 PolarDB for PostgreSQL 来实现一体化的 HTAP 能力。
通过 PolarDB for PostgreSQL 实现一体化的 HTAP 能力
|
9月前
|
运维 关系型数据库 分布式数据库
阿里云PolarDB:引领云原生数据库创新发展
阿里云PolarDB引领云原生数据库创新,2024云栖大会将分享其最新发展及在游戏行业的应用。PolarDB凭借弹性、高可用性、多写技术等优势,支持全球80多个站点,服务1万多家企业。特别是针对游戏行业,PolarDB助力Funplus等公司实现高效运维、成本优化和业务扩展。通过云原生能力,PolarDB推动游戏业务的全球化部署与快速响应,提升用户体验并保障数据安全。未来,PolarDB将继续探索AI、多云管理等前沿技术,为用户提供更智能的数据基础设施。
342 2
|
11月前
|
数据库
|
4月前
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
439 2
|
关系型数据库 分布式数据库 PolarDB
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
514 0

相关产品

  • 云原生数据库 PolarDB
  • 推荐镜像

    更多