2023-04-17 stonedb-X100引擎-聚合-思考

本文探讨了Stondb的X100引擎在处理列存储聚合时面临的挑战,包括线程安全问题、火山模型的局限性以及数据存储方式的影响。文章提出了数据存储优化方案,如分定长和变长存储,并通过批量遍历和多线程访问来提升性能和CPU缓存利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:

最近在分析将X100引擎的处理做更为精细化的处理, 一个非常经典的场景以及算子便是聚合的处理。

本文对聚合要面临的问题做思考. 其中将视角切换为将mysql列存储的聚合做X100引擎的处理。

X100引擎:

2023-04-13 MonetDB/X100: Hyper-Pipelining Query Execution_禅定悟世的博客-优快云博客

mysql列存储的聚合处理:

面临问题:

  1. 对列数据的访问方式导致难以在多线程切片时做到线程安全
  2. 聚合使用的hash表的key, 直接数据拷贝grouping的列
  3. 采用了经典的火山模型

导致的困境:

  1. 列数据横向切片的困难, 导致了无法做到线程并行
  2. 突入表现在
    1. 线程安全, 临界区界定模糊, 导致在访问数据时的错误
    2. 一些数据类型在访问时候计算, 比如decimal, 导致多个线程同时修改同一份数据
  3. 聚合的hahs表使用grouping列的值当作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值