we-trust-postgres (PostgreSQL Wire Protocol Adapter)
we-trust-postgres 是 YYKV 存储引擎的 PostgreSQL 协议兼容层。它实现了 PostgreSQL 的有线协议(Wire Protocol),使得开发者可以使用现有的 Postgres 驱动、ORM 框架及管理工具直接访问 YYKV 的高性能存算一体化能力。
核心功能
🔌 原生协议支持 (Wire Protocol)
- 二进制传输: 完整实现前端/后端交互的消息格式(如
StartupMessage,Query,DataRow,CommandComplete)。 - 认证集成: 支持常用的 Postgres 认证机制。
- SSL 支持: 支持加密连接,确保数据传输安全。
📊 类型与算子映射
- 双向转换: 在 Postgres 数据类型与 YYKV 的
DsValue之间建立高性能映射。 - SQL 翻译: 将接收到的 SQL 语句转化为 YYKV 的逻辑执行计划(OpsGraph)。
⚡ 事务透明
- 映射 Postgres 的事务命令(
BEGIN,COMMIT,ROLLBACK)到 YYKV 的底层事务控制器,确保 ACID 特性。
核心组件
PgCodec: 基于tokio-util实现的非阻塞 Postgres 消息编解码器。PostgresAdapter: 负责处理客户端连接生命周期与请求路由。PostgresTransaction: 维护与底层引擎对应的事务上下文。
使用示例
# 使用标准 psql 客户端连接 YYKV
技术架构
sequenceDiagram
Client->>we-trust-postgres: Frontend Message (Query)
we-trust-postgres->>yykv-operators: SQL Parse & Planning
yykv-operators->>yykv-executor: Execute Graph
yykv-executor-->>we-trust-postgres: Rows Data
we-trust-postgres-->>Client: DataRow + CommandComplete