 云原生数据库 PieCloudDB eMPP架构设计与实现我们的选择 • 很多功能不⽤也没必要重新造轮⼦ • 和⼀流的产品和⼈才⼀起成⻓ • 团队深度理解Postgres内核代码,在社区参与诸多贡献 PieCloudDB 架构 元数据管理 基于 MVCC 的事务隔离级别 使用 FoundationDB Key 的自然排序 实现索引 将元组以 key-value 的形式存储 到 FoundationDB 元数据管理 • 临时状态存储(如lock等) 加速查询优化(⺴络延迟远⾼于内存延迟) • 以Postgres原⽣的元数据缓存概念为基础,优化重构实现适⽤于 多集群架构 ⽤户数据存储引擎 • PAX(⾏列混存)配以⾼效压缩 • Block⽂件为⼀个存储(MVCC)单位 • 辅助信息存储⽤于计算优化 • 设计考虑: • ⾼效和精准的统计信息收集 • 存储和计算成本 • 各种计算优化 • SIMD, Cache Line • Data Skipping0 码力 | 31 页 | 1.43 MB | 1 年前3 云原生数据库 PieCloudDB eMPP架构设计与实现我们的选择 • 很多功能不⽤也没必要重新造轮⼦ • 和⼀流的产品和⼈才⼀起成⻓ • 团队深度理解Postgres内核代码,在社区参与诸多贡献 PieCloudDB 架构 元数据管理 基于 MVCC 的事务隔离级别 使用 FoundationDB Key 的自然排序 实现索引 将元组以 key-value 的形式存储 到 FoundationDB 元数据管理 • 临时状态存储(如lock等) 加速查询优化(⺴络延迟远⾼于内存延迟) • 以Postgres原⽣的元数据缓存概念为基础,优化重构实现适⽤于 多集群架构 ⽤户数据存储引擎 • PAX(⾏列混存)配以⾼效压缩 • Block⽂件为⼀个存储(MVCC)单位 • 辅助信息存储⽤于计算优化 • 设计考虑: • ⾼效和精准的统计信息收集 • 存储和计算成本 • 各种计算优化 • SIMD, Cache Line • Data Skipping0 码力 | 31 页 | 1.43 MB | 1 年前3
 云原生虚拟数仓 PieCloudDB 的架构和关键模块实现OpenPie. All rights reserved. OpenPie Confidential • 将元组以key-value的形式存储到 FoundationDB • 使用原有的机制实现mvcc • 使用foundationdb key的自然排序实现index • Xmin:创建这个tuple的事务 id • Xmax:删除这个tuple的事务id • ctid:指向update的下一个tuple OpenPie Confidential @2022 OpenPie. All rights reserved. OpenPie Confidential • 使用mstore作为辅助表实现mvcc • 每个block在辅助表中对应一个tuple • update/delete生成一个新的block @2022 OpenPie. All rights reserved. OpenPie0 码力 | 43 页 | 1.14 MB | 1 年前3 云原生虚拟数仓 PieCloudDB 的架构和关键模块实现OpenPie. All rights reserved. OpenPie Confidential • 将元组以key-value的形式存储到 FoundationDB • 使用原有的机制实现mvcc • 使用foundationdb key的自然排序实现index • Xmin:创建这个tuple的事务 id • Xmax:删除这个tuple的事务id • ctid:指向update的下一个tuple OpenPie Confidential @2022 OpenPie. All rights reserved. OpenPie Confidential • 使用mstore作为辅助表实现mvcc • 每个block在辅助表中对应一个tuple • update/delete生成一个新的block @2022 OpenPie. All rights reserved. OpenPie0 码力 | 43 页 | 1.14 MB | 1 年前3
 PieCloudDB:基于PostgreSQL的eMPP云原生数据库分布式环境下的多版本 @2022 OpenPie. All rights reserved. OpenPie Confidential mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 key-value 的形式存储 到 FoundationDB 使用 FoundationDB Key 的自然排序 实现索引 @2022 OpenPie. All 智能Analyze @2022 OpenPie. All rights reserved. OpenPie Confidential 构建新一代云原生存储引擎 • 完备的事务 • Block文件级别的MVCC实现 • 优化器与执行器的演进 • 向量化 • 文件查询裁剪(Block Skipping) • 聚集下推扫描(PreAgg Pushdown Scan) @2022 OpenPie. All0 码力 | 45 页 | 1.32 MB | 1 年前3 PieCloudDB:基于PostgreSQL的eMPP云原生数据库分布式环境下的多版本 @2022 OpenPie. All rights reserved. OpenPie Confidential mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 key-value 的形式存储 到 FoundationDB 使用 FoundationDB Key 的自然排序 实现索引 @2022 OpenPie. All 智能Analyze @2022 OpenPie. All rights reserved. OpenPie Confidential 构建新一代云原生存储引擎 • 完备的事务 • Block文件级别的MVCC实现 • 优化器与执行器的演进 • 向量化 • 文件查询裁剪(Block Skipping) • 聚集下推扫描(PreAgg Pushdown Scan) @2022 OpenPie. All0 码力 | 45 页 | 1.32 MB | 1 年前3
 PieCloudDB:云原生分布式虚拟数仓的诞生之旅OpenPie. All rights reserved. OpenPie Confidential 构建之路 - 数据存储 • 最后设计格式:JANM (简墨) • ⼀个S3⽂件内所有数据MVCC可⻅性⼀致 (U/D/I写新⽂件). • ⾏列混存,Cache访问友好. • 附带元数据⽤于data skipping、预聚集等. • Encode/Compress • Encryption (TDE)0 码力 | 24 页 | 2.01 MB | 1 年前3 PieCloudDB:云原生分布式虚拟数仓的诞生之旅OpenPie. All rights reserved. OpenPie Confidential 构建之路 - 数据存储 • 最后设计格式:JANM (简墨) • ⼀个S3⽂件内所有数据MVCC可⻅性⼀致 (U/D/I写新⽂件). • ⾏列混存,Cache访问友好. • 附带元数据⽤于data skipping、预聚集等. • Encode/Compress • Encryption (TDE)0 码力 | 24 页 | 2.01 MB | 1 年前3
 大模型时代下向量数据库的设计与应用增加向量列类型用于基本的加载与卸载 • 实现向量距离运算符 • 实现向量近似搜索的索引,调用faiss PieCloudVector • Faiss与postgres内核对接 - 数据可见性 • faiss索引增加mvcc信息,与数据库内可见性保持一致 xmin xmax id vector 10 1 [1.0, 1.1, 1.2 …] 10 30 2 [1.0, 1.1, 1.2 …] 15 3 [1.00 码力 | 28 页 | 1.69 MB | 1 年前3 大模型时代下向量数据库的设计与应用增加向量列类型用于基本的加载与卸载 • 实现向量距离运算符 • 实现向量近似搜索的索引,调用faiss PieCloudVector • Faiss与postgres内核对接 - 数据可见性 • faiss索引增加mvcc信息,与数据库内可见性保持一致 xmin xmax id vector 10 1 [1.0, 1.1, 1.2 …] 10 30 2 [1.0, 1.1, 1.2 …] 15 3 [1.00 码力 | 28 页 | 1.69 MB | 1 年前3
 PieCloudDB 的云原生之路Multi-master • 多机并发访问 • 分布式环境下的多版本 元数据管理的设计目标 IvorySQL开源数据库社区 mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 key-value 的形式存储 到 FoundationDB 使用 FoundationDB Key 的自然排序实 现索引 IvorySQL开源数据库社区 020 码力 | 47 页 | 1.80 MB | 1 年前3 PieCloudDB 的云原生之路Multi-master • 多机并发访问 • 分布式环境下的多版本 元数据管理的设计目标 IvorySQL开源数据库社区 mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 key-value 的形式存储 到 FoundationDB 使用 FoundationDB Key 的自然排序实 现索引 IvorySQL开源数据库社区 020 码力 | 47 页 | 1.80 MB | 1 年前3
 PieCloudDB云原生数仓虚拟化之路分布式环境下的多版本 @2022 OpenPie. All rights reserved. OpenPie Confidential mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 key-value 的形式存储 到 FoundationDB 使用 FoundationDB Key 的自然排序 实现索引 @2022 OpenPie. All0 码力 | 44 页 | 1.64 MB | 1 年前3 PieCloudDB云原生数仓虚拟化之路分布式环境下的多版本 @2022 OpenPie. All rights reserved. OpenPie Confidential mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 key-value 的形式存储 到 FoundationDB 使用 FoundationDB Key 的自然排序 实现索引 @2022 OpenPie. All0 码力 | 44 页 | 1.64 MB | 1 年前3
 πDataCS赋能工业软件创新与实践集群管控 元数据访问 业务数据读写 元数据映射 元数据: Ø 分布式KV,存储系统表 Ø 基于key的自然排序实现索引 Ø ⾼性能 Ø 基于watcher机制的⾼效分布式锁管理 Ø 基于MVCC的事务隔离级别 Ø 多集群数仓数据共享 计算节点: Ø 自定义虚拟数仓,资源隔离 Ø 向量化执⾏器(SIMD)和JIT Ø HTAP,弹性扩缩容 Ø eMPP专利,弹性⼤规模并⾏计算0 码力 | 36 页 | 4.25 MB | 1 年前3 πDataCS赋能工业软件创新与实践集群管控 元数据访问 业务数据读写 元数据映射 元数据: Ø 分布式KV,存储系统表 Ø 基于key的自然排序实现索引 Ø ⾼性能 Ø 基于watcher机制的⾼效分布式锁管理 Ø 基于MVCC的事务隔离级别 Ø 多集群数仓数据共享 计算节点: Ø 自定义虚拟数仓,资源隔离 Ø 向量化执⾏器(SIMD)和JIT Ø HTAP,弹性扩缩容 Ø eMPP专利,弹性⼤规模并⾏计算0 码力 | 36 页 | 4.25 MB | 1 年前3
共 8 条
- 1













