PieCloudDB:基于PostgreSQL的eMPP云原生数据库
对几乎所有内核模块做了大量的创新 PieCloudDB 内核团队拥有强悍的Postgres内核代码掌控能力 • 将来会保持和Postgres内核大版本对齐 团队也拥有丰富的Postgres内核大版本升级合并经验 @2022 OpenPie. All rights reserved. OpenPie Confidential PieCloudDB 架构 @2022 OpenPie. All rights reserved. OpenPie Confidential 元数据管理的设计目标 实现多节点共同访问的数据存储 实现分布式锁 • 高可用和多集群 • Multi-master • 多机并发访问 • 分布式环境下的多版本 @2022 OpenPie. All rights reserved. OpenPie Confidential mstore — FoundationDB上的Catalog Confidential 计算 • MPP • 将一个单一计算任务在大量独立的计算机上并行执行。 • 多租户、多集群 • 弹性伸缩:集群大小、集群类型、集群数量 • 隔离性:不同租户、不同负载 • 高并发 • 高可用 • 可按使用量付费 @2022 OpenPie. All rights reserved. OpenPie Confidential • 多租户隔离 • 容量和带宽独立于计算伸缩0 码力 | 45 页 | 1.32 MB | 1 年前3PieCloudDB Database 产品白皮书
共四种角色,具体说明如下: 1. 元数据节点; 提供元数据服务,如元数据存储共享、分布式锁、多版本管理、多集群并发、高可用以 及用户权限等功能; 2. 计算节点: 无状态节点 (包括 Coordinator 和 Executer) ,主要负责接收用户请求和数据计算,支持 动态弹性伸缩,提供数据查询 、执行计划、查询优化、数据加载、连接管理、并行计算以及资源隔离 等功能; 3. 存储节点; 存算分离架构,支持本地存储和 (弹性大规模并行计算) 架构让数据计算可以自动化弹性伸缩,用户可以根据计算任务灵活的分 配最优数量的节点执行查询。同时PieCloudDB的多集群能力可轻松面对高并发场景,企业可以根据业务的并发需求动 态扩展 PieCloudDB 集群,满足业务应用的并发需求。 Openpie | PiecloudDB 基于eMPP (弹性大规模并行计算) 的云原生虚拟数仓 产品白皮书 SN PieCloudDB 实现了全自动 等测试,实现 了包括聚集下准、Block Skipping 等功能模块,大大缩短执行时间,高效的数据查询提高了数据分析的实时性。 1. 票集下推 在执行聚集函数的过程中,查询优化器会把聚集操作下推到连接操作之前去执行,可以极大地减少连 接操作需要处理的数据量,使得查询性能显著提升。在很多分析型场景下,聚集下推会取得百倍或千 售的性能提升。 2.Block skipping PiecloudDB 实现了Block0 码力 | 17 页 | 2.68 MB | 1 年前3云原生虚拟数仓PieCloudDB Database产品白皮书
提供元数据服务,如元数据存储共享、分布式锁、多版本管理、多集群并发、高可用以 及用户权限等功能; 2. 计算节点: 无状态节点(包括 Coordinator 和 Executer),主要负责接收用户请求和数据计算,支持 动态弹性伸缩,提供数据查询、执行计划、查询优化、数据加载、连接管理、并行计算以及资源隔离 等功能; 3. 存储节点: eMPP(弹性大规模并行计算)架构让数据计算可以自动化弹性伸缩,用户可以根据计算任务灵活的分 配最优数量的节点执行查询。同时PieCloudDB的多集群能力可轻松面对高并发场景,企业可以根据业务的并发需求动 态扩展 PieCloudDB 集群,满足业务应用的并发需求。 8 原生多租户支持 人性化的管控平台 PieCloudDB 实现了全自动 Analyze,可以在数据发生变化的时候自动完成Analyze,及时生成准确的统计信息。 PieCloudDB 管控平台提供数据洞察、 元数据浏览、用户管理、权限管理、SQL 查询历史、ETL 管理等功能。 9 1. 聚集下推 在执行聚集函数的过程中,查询优化器会把聚集操作下推到连接操作之前去执行,可以极大地减少连 接操作需要处理的数据量,使得查询性能显著提升。在很多分析型场景下,聚集下推会取得百倍或千 倍的性能提升。 2. Block Skipping PieCloudDB0 码力 | 17 页 | 2.02 MB | 1 年前3πDataCS赋能工业软件创新与实践
算任务的时候按需启动,按照使用时间和规模计算成本。 eMPP分布式专利技术 在云上,PieCloudDB利用eMPP(elastic Massive Parallel Processing)架构,实现多集群并发执⾏任务。企业可灵活 进⾏扩缩容,随着负载的变化实现⾼效的伸缩,轻松应对 PB级海量数据。 全新的存储「简墨」和缓存架构设计 在计算层,各个计算节点针对元数据和用户数据都设计了多 层缓存结 HDFS分布式⽂件系统 S3对象存储 其他Data Lake Bare-Metal IaaS资源 执⾏器 执⾏器 执⾏器 协调器 协调器 虚拟数仓1 执⾏器 协调器 虚拟数仓2 执⾏器 … 连接管理 查询优化器 资源隔离 向量化执⾏ 事务管理 执⾏计划 并⾏计算 ⾼可用 数据查询 数据加载 弹性伸缩 自定义函数 集群管控 元数据访问 业务数据读写 元数据映射 元数据: Ø 分布式KV,存储系统表 reserved. OpenPie Confidential 云原⽣分布式优化器--达奇 多表连接的最优 顺序搜索 多阶段聚集 分区表的静态 和动态裁剪 相关子查询的 提升转换 CTE和递归 CTE的优化 其他相关优化 聚集下推 通过把聚集操作下推到连接操作之前去执⾏,极⼤的减少连接操作需要处理的数据量,使得查询性能显 著提升。在很多场景下经过严格的测试,聚集下推会取得百倍或千倍的性能提升。0 码力 | 36 页 | 4.25 MB | 1 年前3PieCloudDB 的云原生之路
计算任务的时候按需启动,按照使用时间和规模计算成本。 eMPP 分布式专利技术 在云上,PieCloudDB 利用 eMPP(elastic Massive Parallel Processing)架构,实现多集群并发执行任务。企 业可灵活进行扩缩容,随着负载的变化实现高效的伸缩, 轻松应对 PB 级海量数据。 全新的存储「简墨」和缓存架构设计 在计算层,各个计算节点针对元数据和用户数据都设计了多 层缓 IvorySQL开源数据库社区 01 元数据管理 IvorySQL开源数据库社区 实现多节点共同访问的数据存储 实现分布式锁 • 高可用和多集群 • Multi-master • 多机并发访问 • 分布式环境下的多版本 元数据管理的设计目标 IvorySQL开源数据库社区 mstore — FoundationDB上的Catalog 基于 MVCC 的事务隔离级别 将元组以 IvorySQL开源数据库社区 计算 • MPP o 将一个单一计算任务在大量独立的计算机上并行执行。 • 多租户、多集群 • 弹性伸缩:集群大小、集群类型、集群数量 • 隔离性:不同租户、不同负载 • 高并发 • 高可用 • 可按使用量付费 IvorySQL开源数据库社区 计算 • 多租户隔离 • 容量和带宽独立于计算伸缩 • 可按使用量付费 • 高可用/可靠存储 o 支持跨多数据中心复制数据0 码力 | 47 页 | 1.80 MB | 1 年前3PieCloudDB云原生数仓虚拟化之路
算任务的时候按需启动,按照使⽤时间和规模计算成本。 eMPP分布式专利技术 在云上,PieCloudDB利⽤eMPP(elastic Massive Parallel Processing)架构,实现多集群并发执行任务。企业可灵活 进⾏扩缩容,随着负载的变化实现⾼效的伸缩,轻松应对 PB级海量数据。 全新的存储「简墨」和缓存架构设计 在计算层,各个计算节点针对元数据和用户数据都设计了多 层缓存结 reserved. OpenPie Confidential 元数据管理的设计目标 实现多节点共同访问的数据存储 实现分布式锁 • 高可用和多集群 • Multi-master • 多机并发访问 • 分布式环境下的多版本 @2022 OpenPie. All rights reserved. OpenPie Confidential mstore — FoundationDB上的Catalog Confidential 计算 • MPP • 将一个单一计算任务在大量独立的计算机上并行执行。 • 多租户、多集群 • 弹性伸缩:集群大小、集群类型、集群数量 • 隔离性:不同租户、不同负载 • 高并发 • 高可用 • 可按使用量付费 @2022 OpenPie. All rights reserved. OpenPie Confidential • 多租户隔离 • 容量和带宽独立于计算伸缩0 码力 | 44 页 | 1.64 MB | 1 年前3云原生虚拟数仓 PieCloudDB 的架构和关键模块实现
OpenPie Confidential • 在世界范围内的统计信息显示,Nosql和数据湖已经不在数据分析 领域占有主要市场 • Nosql和数据湖缺少很多支持数据分析的重要特性 o 缺少在高并发场景下的隔离性和一致性 o 和现有的BI工具很难集成 • 关系型数据库已经重新成为数据分析的主要平台 NoSQL 和数据湖已经不再是数据分析的主要平台 @2022 OpenPie. All rights OpenPie. All rights reserved. OpenPie Confidential • 全面的逻辑优化(谓词下推,子查询子链接提升,外连接消除) • 纯粹基于代价的物理优化 • 全面的数据分布特性描述,分布式代价估算,高效分布式表连接 • 多阶段的聚集 专门为复杂查询设计的优化器 分布式环境高效执行器 • 多阶段执行模型 • 流式数据重分布 @2022 OpenPie0 码力 | 43 页 | 1.14 MB | 1 年前3云原生数据库 PieCloudDB eMPP架构设计与实现
是⼀个基于eMPP架构的云原⽣分布式优化器,它 可以为海量数据集上的复杂OLAP查询提供最优的查询计划。 • 分布式优化器 • 处理复杂OLAP查询 • 云原生优化器 处理复杂OLAP查询 多表连接的最 优顺序搜索 多阶段聚集 分区表的静态 和动态裁剪 相关子查询的 提升转换 CTE和递归CTE 的优化 等等 更多⾼阶计算功能 • 聚集下推:1.0已经⽀持,在⼀些情况下可以⼗倍百倍更多倍提升 runtime filter,late materization,...... 分布式计算引擎 • MPP弹性计算引擎:按需付费 • 租户隔离(彼此不影响) • ⾼可⽤(⾃动处理各种错误) • ⾼并发 PieCloudDB⽣态 • 各种外表数据源联邦查询组件天然⽀持(或者需少量修改) • 各种Postgres/Greenplum组件或者功能天然⽀持,如In- database AI组件Madlib0 码力 | 31 页 | 1.43 MB | 1 年前3大模型时代下向量数据库的设计与应用
PieCloudVector • Faiss OpenMP线程改造 • LLVM解析源码,找到所有 OpenMP指令语句 • 转换为调用自定义线程池和 lambda表达式 • 共享变量替换及并发保护 PieCloudVector • Faiss OpenMP线程改造 • 控制全局线程数 • 降低线程锁冲突 • 降低内存使用 PieCloudVector • Faiss OpenMP线程改造 PieCloudVector • Faiss OpenMP线程改造 • 内存占用大幅降低 PieCloudVector • Faiss与postgres内核对接 - gpu搜索的特殊路径 • 避免并发调用gpu • 查询请求按批单线程提交 PieCloudVector • 兼容国产硬件和操作系统 PieCloudVector • 通过信通院测试 案例分析 - 东吴证券秀财gpt •0 码力 | 28 页 | 1.69 MB | 1 年前3云原生数据库PieCloudDB 性能优化之路
分发约束条件,收集外连接信息等 • 扫描/连接优化阶段 • 主要处理扫描和连接操作 • 扫描/连接之外的优化阶段 • 主要处理除扫描和连接之外的其他操作,例如聚集、排序等 • 后处理阶段 • 主要把前面的处理结果转换成执行器期望的形式 • 简化表达式 • 简化连接树 • 把 IN,EXISTS 等类型的子查询转换为半连接 • 提升子查询 • 把外连接转换为内连接 • 把外连接转换为反连接 • • 分发约束条件 • 构建等价类 • 收集外连接信息 • 消除无用连接 • … SELECT … FROM foo WHERE EXISTS (SELECT 1 FROM bar WHERE foo.a = bar.c); => SELECT … FROM foo *SEMI JOIN* bar ON foo.a = bar.c; SELECT * FROM foo JOIN (SELECT 42; 外连接的上层有严格的约束条件,且该约束条件限定了来自 nullable side 的某一变量为非 NULL 值 SELECT * FROM foo LEFT JOIN bar ON foo.a = bar.c WHERE bar.c IS NULL; => SELECT * FROM foo *ANTI JOIN* bar on foo.a = bar.c; 外连接本身有严格的连接条件,且该连接条件引用了来自0 码力 | 26 页 | 711.44 KB | 1 年前3
共 14 条
- 1
- 2