gydtep 发表于 2020-3-21 20:00:04

本次发布的Odyssey计算引擎,主要提升了Segment的执行性能。

gydtep 发表于 2020-3-21 20:38:11

在存储层面,Odyssey计算引擎与ADB PG原生的Heap表、AOCS表、AORO表均完全兼容,复用原生存储结构和存储访问接口,Odyssey专注于执行层。

gydtep 发表于 2020-3-21 21:08:34

Odyssey通过hook接入ADB PG,成为对用户透明的新引擎。

gydtep 发表于 2020-3-22 09:51:42

Odyssey计算引擎在算法层进行了重新设计,采用模块化内存分配、最大化重复利用已分配内存,大大减少了内存分配的次数。

gydtep 发表于 2020-3-22 14:21:37

在ADB PG中,一条SQL会被转化成一个树形执行计划。数据库传统的传统火山模型,是父节点驱动子节点执行,

gydtep 发表于 2020-3-22 17:17:32

而Odyssey计算引擎以batch为单位进行数据传递。一个Batch包含多行数据(通常是数千行数据),采用列优先格式进行数据存储。

gydtep 发表于 2020-3-22 18:25:25

例如在Hash Join建哈希表时,一次插入一行数据,ADB PG的原生执行引擎,会在每行数据的插入之前为这一行分配内存。

gydtep 发表于 2020-3-22 18:39:16

例如Hash表有1M行,每行32字节,会导致1M个32字节的碎片化内存分配。

gydtep 发表于 2020-3-22 20:43:43

不仅分配过程非常耗时,后续的管理、追踪、释放过程也会非常耗时。

gydtep 发表于 2020-3-22 23:06:34

有别于PostgreSQL 11中表达式的codegen,Odyssey计算引擎是对整个算子进行codegen。
页: 97 98 99 100 101 102 103 104 105 106 [107] 108 109 110 111 112 113 114 115 116
查看完整版本: 免费领取阿里云服务器2000元代金券!