PolarDB PostgreSQL版提供了对文档数据库的高度兼容能力,使您的应用程序无需修改业务代码,即可通过标准的文档数据库驱动(如Python的pymongo、Node.js的mongoose以及Go的MongoDB驱动等)无缝接入。该功能在实现API兼容的同时,完整集成了 PolarDB云原生数据库在秒级弹性扩缩容、海量数据存储和金融级高可用方面的核心企业级能力,为您提供一个兼具成本效益与强大性能的NoSQL解决方案。
功能简介
PolarDB PostgreSQL版通过数据库代理层与计算节点协同工作,实现对文档数据库的兼容。理解其工作原理,有助于您更好地利用该功能。
数据库代理层 (Proxy)
该代理层是实现协议兼容的关键。它负责接收来自文档数据库客户端的BSON请求,完成身份认证、协议解析和读写分离。随后,代理层会将文档数据库的BSON请求转换为PostgreSQL可识别的查询/写入语句,并将PostgreSQL语句按读写分离和负载均衡策略发送数据库计算节点上。这种设计将协议转换与数据库内核完全解耦,既保证了底层PostgreSQL内核的纯净与稳定,又复用PolarDB成熟的负载均衡和读写分离能力。
数据库计算节点
计算节点采用一主多从(企业版最多15个只读节点、标准版最多7个只读节点)的高可用架构。主节点处理所有写操作,只读节点分担读请求。计算层基于标准PostgreSQL内核,仅通过内置插件DocumentDB来实际执行文档数据库内所有的读写请求。这种最小化改造的设计,确保了功能的可维护性,并能快速跟进PostgreSQL社区的主版本演进。对您而言,屏蔽了关系型数据的表Schema概念,提供了与文档数据库一致的Collection管理体验。
优势
与社区版文档数据库相比,PolarDB PostgreSQL版的文档数据库功能在存储容量、事务处理、扩容能力和计算弹性等方面具备显著优势,能够更好地支持企业级应用场景。下表对比了二者的核心能力差异。
对比项 | PolarDB文档数据库兼容能力 | 社区版文档数据库 |
单个Collection存储上限 | 32 TB | 16 TB |
长事物/大事务支持时长 | 无时长限制,可支持小时级长事务 | 1分钟限制 |
单行数据最大值 | 4 GB | 16 MB |
存储扩容 | 秒级自动扩容,存储按量付费 | 自动扩容受限,依赖底层云盘规则 |
单实例最大存储空间 | 500 TB | 受底层云盘规格限制 |
适用范围
在使用文档数据库兼容能力前,请确保您的集群版本满足以下要求:
内核版本:PostgreSQL 16,且修订版本需为2.0.16.10.10.0及以上。
数据库代理版本:需为2.3.60.1及以上。
PolarDB PostgreSQL分布式版与Serverless集群暂不支持文档数据库兼容能力。
您可前往PolarDB控制台,在集群的页面中查看对应的版本。若版本不满足要求,请升级对应的小版本。
计费说明
文档数据库兼容能力本身不产生额外费用。您仅需支付PolarDB PostgreSQL版集群本身的相关费用。