文档数据库兼容能力

PolarDB PostgreSQL提供了对文档数据库的高度兼容能力,使您的应用程序无需修改业务代码,即可通过标准的文档数据库驱动(如Pythonpymongo、Node.jsmongoose以及GoMongoDB驱动等)无缝接入。该功能在实现API兼容的同时,完整集成了 PolarDB云原生数据库在秒级弹性扩缩容、海量数据存储和金融级高可用方面的核心企业级能力,为您提供一个兼具成本效益与强大性能的NoSQL解决方案。

功能简介

PolarDB PostgreSQL通过数据库代理层与计算节点协同工作,实现对文档数据库的兼容。理解其工作原理,有助于您更好地利用该功能。

image
  • 数据库代理层 (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集群本身的相关费用

后续操作

  1. 开始使用:了解功能概况后,您可以按照使用说明中的指引,完成集群创建、账号配置和首次连接验证。

  2. 兼容性与限制:该功能高度兼容文档数据库API,但也存在部分行为差异和限制。例如,部分废弃参数不支持、事务失败时的报错行为与原生MongoDB不同等。详细信息请参见兼容性与限制

  3. (可选)数据迁移:若您需要从现有的MongoDB迁移数据,请参考数据迁移指南,了解详细的迁移步骤和工具用法。