排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
聊聊OceanBase的向量化过滤
聊聊OceanBase的向量化过滤
yanzongshuaiDBA
2023-05-15
530
聊聊
OceanBase
的向量化过滤
为帮助客户解决
HTAP
混合负载下数据查询效率难的问题,
OceanBase
引入向量化技术,并完全自主设计了向量化查询引擎,极大地提高了
CPU
单核处理性能,
号称
实现了
HTAP
场景下复杂分析查询性能的
10
倍提升
。
我们来看下它是怎么实现过滤的。以
2
个字节的整型值比较为例:
指令说明:
_mm256_set1_epi16
:将一个
16
位
2
字节的整型广播成一个向量。向量大小
256
位也就是
16
个
2
字节的整数并行。
_mm256_loadu_si256
:从内存中加载
256
位整型数据,无需对齐。
_mm256_cmp_epi16_mask
:比较
2
个值,比较操作符由第
3
个入参指定。返回值结果类型为
__mmask16
即
2
个字节
16
位。每一位表示比较结果值。
过程说明:
列值通过
_mm256_loadu_si256
加载,比较值通过
_mm256_set1_epi16
广播成一个向量。通过
_mm256_cmp_epi16_mask
对上面
2
个值进行比较。一次比较
16
个值。结果值
16
位,每一位表示比较结果。
也就是
OceanBase
采用
bitmap
方案描述数据过滤,即每个算子都有一个
Bitmap
,
filter
过滤掉的数据,通过
bitmap
标识删除。
当数据的选择率很低时,可能会出现
bitmap
标识的数据过于稀疏,性能不佳的情况
。一些数据库通过增加整理方法,使数据稠密排列来避免上述情况。但
OceanBase
的
HTAP
场景下
SQL
执行往往会出现阻塞算子(
Sort, Hash Join, Hash Group by
)或
Transmit
跨机执行算子,而这些算子本身具备数据整理让稠密输出的特点, 额外的数据整理反而会出现不必要的开销。因此
OceanBase
向量化引擎没有提供单独的方法改变
bitmap
数据排列。
参考
https://zhuanlan.zhihu.com/p/544575114
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html
oceanbase
文章转载自
yanzongshuaiDBA
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨