DynamoDB兼容能力

PolarDB PostgreSQL提供了对Amazon DynamoDB API的高度兼容能力,使您的应用程序无需修改业务代码,即可通过标准的DynamoDB SDK(如Python Boto3、AWS SDK for Go)无缝接入。该功能在实现API兼容的同时,完整继承了PolarDB云原生数据库在秒级弹性扩缩容、海量数据存储和金融级高可用方面的核心企业级能力,为您提供一个兼具成本效益与强大性能的NoSQL解决方案。

功能简介

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

image
  • 数据库代理层 (Proxy) 该代理层是实现协议兼容的关键。它负责接收来自客户端的DynamoDB HTTP请求,完成身份认证、协议解析和请求路由。随后,代理层会将DynamoDB操作转换为PostgreSQL可识别的JSONB查询语句,并智能地分发至后端最合适的计算节点。这种设计将兼容逻辑与数据库内核完全解耦,既保证了底层PostgreSQL内核的纯净与稳定,又能复用PolarDB成熟的连接池、负载均衡和读写分离能力。

  • 计算节点

    计算节点采用一主多从(企业版最多15个只读节点、标准版最多7个只读节点)的高可用架构。主节点处理所有写操作,只读节点分担读请求。计算层基于标准PostgreSQL内核,仅通过内置插件来适配DynamoDB在排序规则、操作符和数据类型等方面的细微差异。这种最小化改造的设计,确保了功能的可维护性,并能快速跟进PostgreSQL社区的主版本演进。对您而言,数据库屏蔽了传统的DB/Schema概念,提供了与DynamoDB一致的表管理体验。

优势

  • 平滑迁移:高度兼容DynamoDB API,现有业务系统可直接接入,无需重构代码。

  • 统一数据平台:同一份数据既支持NoSQL方式的快速访问,也支持标准SQL的复杂分析,实现数据互通。

  • 秒级弹性与成本效益:计算与存储分离,存储按量付费。计算节点可分钟级扩缩容,成本优势明显。

  • 企业级可靠性:基于PolarDB成熟的高可用架构,保障数据安全与业务连续性。

前提条件

在使用DynamoDB兼容能力前,请确保您的集群版本满足以下要求:

  • 内核版本PostgreSQL 14,且修订版本需为2.0.14.17.35.0及以上。

  • 数据库代理版本:需为2.3.59及以上。

  • PolarDB PostgreSQL分布式版Serverless集群暂不支持DynamoDB兼容能力。

说明

您可前往PolarDB控制台,在集群的配置与管理 > 版本管理页面中查看对应的版本。若版本不满足要求,请升级对应的小版本

计费说明

DynamoDB兼容能力本身不产生额外费用。您仅需支付PolarDB PostgreSQL集群本身的相关费用

后续操作

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

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

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

性能测试

PolarDB使用业界标准的YCSB工具对该功能进行了全面的性能基准测试。测试结果表明,在不同数据量级和读写模型下,服务均表现出稳定且优异的性能。详情请参见 性能测试报告