亚马逊云科技开源ExtendDB:兼容DynamoDB的适配器,支持可插拔存储后端 文章

InfoQ 中文2026-06-11BLOGzh作者: 作者:Renato Losio

详细信息

来源站点
InfoQ 中文
作者
作者:Renato Losio
文章类型
BLOG
语言
zh
发布日期
2026-06-11

摘要

亚马逊云科技最近发布了 ExtendDB",一个与 DynamoDB 兼容的适配器,开发者可通过 DynamoDB API 对接不同的存储后端,目前首个支持的后端是 PostgreSQL。该开源项目无需修改即可支持现有的 AWS SDK 和工具,为团队提供更大的灵活性,既能让团队在原生 DynamoDB 之外运行 DynamoDB 风格的业务负载、提升使用灵活性,也能完全兼容现有应用程序和工作流程。目前 0.1 版本的 ExtendDB" 已实现 DynamoDB 控制平面与数据平面 API,支持表、数据项及数据流相关能力。它的初始存储后端为 PostgreSQL,可插拔的适配器设计还能灵活新增其他存储后端。该工具可应用于本地开发、CI 测试场景,也能在基于 PostgreSQL 搭建的本地环境中运行兼容 DynamoDB 的各类工作负载。亚马逊云科技高级数据库工程师 Lee Hannigan" 与首席产品经理 Deepthi Mohan" 表示:ExtendDB 由 AWS 工程师使用 Rust 语言开发,是 DynamoDB 有线协议的一种实现。你可以将它理解为架设在应用程序与存储后端之间的转换器。若使用 PostgreSQL 作为后端,应用程序发出 DynamoDB 相关请求,ExtendDB 会将其转换为 SQL 语句,再由 PostgreSQL 完成数据存储。来源:AWS 博客ExtendDB 以独立二进制文件的方式运行,无外部运行时依赖。它要求启用 TLS,首次运行时会自动生成自签名证书,并通过本地类 IAM 凭证存储支持 SigV4 认证,凭证存储可兼容标准的 DynamoDB 签名流程。Hannigan 和 Mohan 补充道:ExtendDB 将功能拆分到不同的 Rust 代码包中。核心包采用纯同步 Rust 实现类型处理、校验与表达式求值,引擎包则实现了 DynamoDB API 语义。storage-postgres 包是 PostgreSQL 后端,基于通用存储特征构建,该特征规定了所有后端需实现的接口。服务器包将它们整合在一起,提供 HTTP 服务器、管理 API 和 Web 控制台。存储层被定义成一个 Rust trait,允许添加额外的后端(如 Apache Cassandra 或 MySQL),而无需修改核心适配器。