首页
学习
活动
专区
工具
TVP
发布

HappenLee的技术杂谈

专栏作者
76
文章
89761
阅读量
29
订阅数
[DuckDB] 多核算子并行的源码解析
DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age》实现SQL算子的高效并行化的Pipeline执行引擎,所以笔者花了一些时间进行了学习和总结,这里结合了Mark Raasveldt进行的分享和原始代码来一一剖析DuckDB在执行算子并行上的具体实现。
HappenLee
2023-02-13
1K0
[​DuckDB] 多核算子并行的源码解析
DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age》实现SQL算子的高效并行化的Pipeline执行引擎,所以笔者花了一些时间进行了学习和总结,这里结合了Mark Raasveldt进行的分享和原始代码来一一剖析DuckDB在执行算子并行上的具体实现。
HappenLee
2023-02-12
2.1K0
Doris开发手记4:倍速性能提升,向量化导入的性能调优实践
来自社区用户的吐槽:向量化导入太慢了啊,我测试了xx数据库,比Doris快不少啊。有招吗?
HappenLee
2022-10-31
4590
Doris开发手记4:倍速性能提升,向量化导入的性能调优实践
来自社区用户的吐槽:向量化导入太慢了啊,我测试了xx数据库,比Doris快不少啊。有招吗?
HappenLee
2022-10-21
9750
C++雾中风景18:C++20, 从concept开始
先从一个群友的一个实际的问题出发,我们来看看concept可以解决什么问题。是怎么样通过coding实现的。
HappenLee
2022-03-23
5630
C++雾中风景18:C++20, 从concept开始
先从一个群友的一个实际的问题出发,我们来看看concept可以解决什么问题。是怎么样通过coding实现的。
HappenLee
2022-03-12
1K0
Doris开发手记3:利用CoreDump文件快速定位Doris的查询问题
Apache Doris的BE部分是由C++编写,当出现一些内存越界,非法访问的问题时会导致BE进程的Crash。这部分的问题常常较难排查,同时也很难快速定位到对应的触发SQL,给使用者带来较大的困扰。所以下面会介绍通过Linux的CoreDump快速定位到问题SQL,并复现问题的方式。
HappenLee
2021-07-15
1.4K0
Doris开发手记2:用SIMD指令优化存储层的热点代码
最近在进行Doris的部分查询调优工作,通过perf定位CPU执行热点时,发现了以下的热点部分:
HappenLee
2021-07-14
1.2K0
Doris开发手记2:用SIMD指令优化存储层的热点代码
最近在进行Doris的部分查询调优工作,通过perf定位CPU执行热点时,发现了以下的热点部分:
HappenLee
2021-07-09
1.1K0
ClickHouse源码笔记6:探究列式存储系统的排序
老规矩,咱们还是先从一个简单的查询出发,通过一步步的通过执行计划按图索骥ClickHouse的执行逻辑。
HappenLee
2021-07-08
9280
ClickHouse源码笔记6:探究列式存储系统的排序
老规矩,咱们还是先从一个简单的查询出发,通过一步步的通过执行计划按图索骥ClickHouse的执行逻辑。
HappenLee
2021-07-01
8910
C++雾中风景17:模板的非推断语境与std::type_identity
众所周知,函数模板的使用是C++编译期进行类型推导的过程。通过分析源代码之中函数实参的类型,进一步推断出调用的函数参数的类型,从而自动生成对应的函数,来达到精简代码逻辑的效果。
HappenLee
2021-05-06
9880
C++雾中风景17:模板的非推断语境与std::type_identity
众所周知,函数模板的使用是C++编译期进行类型推导的过程。通过分析源代码之中函数实参的类型,进一步推断出调用的函数参数的类型,从而自动生成对应的函数,来达到精简代码逻辑的效果。
HappenLee
2021-04-30
6510
ClickHouse源码笔记5:聚合函数的源码再梳理
话不多说,直接上代码,笔者这里会将所有聚合函数的核心接口代码全部列出,一一梳理各个部分:
HappenLee
2021-04-23
1.1K0
ClickHouse源码笔记5:聚合函数的源码再梳理
话不多说,直接上代码,笔者这里会将所有聚合函数的核心接口代码全部列出,一一梳理各个部分:
HappenLee
2021-04-20
7360
ClickHouse源码笔记4:FilterBlockInputStream, 探寻where,having的实现
Selection是关系代数之中重要的一个的一个运算,通常也会用σ符合来selection的实现。
HappenLee
2021-03-04
6710
ClickHouse源码笔记4:FilterBlockInputStream, 探寻where,having的实现
Selection是关系代数之中重要的一个的一个运算,通常也会用σ符合来selection的实现。
HappenLee
2021-03-01
1K0
ClickHouse源码笔记3:函数调用的向量化实现
这里调用一个abs的函数,我们先打开ClickHouse的Debug日志看一下执行计划。(当前ClickHouse不支持使用Explain语句来查看执行计划,这个确实是很蛋疼的~~)
HappenLee
2021-02-22
1.9K0
Doris开发手记1:解决蛋疼的MySQL 8.0连接问题
使用MySQL 8.0的客户端连接Doris时,如果不添加如下参数--default-auth=mysql_native_password的话,总会出现如下提示的密码认证错误:
HappenLee
2021-02-18
2.3K0
C++雾中风景16:std::make_index_sequence, 来试一试新的黑魔法吧
笔者这里先从一个简单的例子展开,先带大家看看std::make_index_sequence是如何使用的。
HappenLee
2021-01-05
1.9K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档