天翼云stonedb知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖stonedb相关内容资讯。开发者在stonedb专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器、tracepoint)功能。
记录stonedb的不同子查询的优化器处理
分析aggregate的场景.集合函数对值集进行操作。它们通常与GROUP BY子句一起使用以将值分组为子集。
mysql/stonedb-读取Pack数据流程记录
mysql/stonedb-Q16-并行执行分析
记录STONEDB对于mysql的查询优化器的使用
记录对于stonedb进行利用多核CPU加快查询时的nested loop策略的路线图。
摘要:从整体上梳理STONEDB的架构设计, 细分到具体的类级别, 但是不深入具体的函数逻辑的层次。目的在于建立整体的抽象和最高层的视角, 用来为下一步各个模块的突破。整体模块架构:宏观架构(取自infobright)关键概念:插件式引擎知
目录摘要:拆分成多线程处理面临的问题:一. 需要有一个线程池任务处理模块二. 明确出临界区的范围2.1 要遍历访问的元组数据2.2 在遍历访问元组时的一些状态控制的数据2.3 遍历访问元组
目录摘要:开场白:一. subquery(子查询)是什么子查询定义:为什么需要子查询:子查询的种类:二. 为何subquery会成为性能瓶颈mysql查询处理过程:发生性能
摘要:在多线程并行处理对元组的访问时,必然要对元组的读取有深刻的理解,从而保证在做架构设计时能正确的处理。这里有个误区, 理解现有代码的设计, 其目的并非是要顺着现有代码的设计思想走下去,而是要明白,按照新的设计思路做下去,所做出的改动对原
摘要:在Q16的聚合单线程处理中,存在冗余的row比较,在此时会存在对于attr的冗余的内存拷贝分析:简要日志追踪: 详细日志追踪: 逻辑分析:受影响多执行的函数:
摘要:记录经过优化后出现问题的SQL优化后出现问题的SQLQ2:问题:查出结果为空对比下mysql8的查询结果:Q2问题分析:SQL拆分分布执行测试内部子查询:用const量替换子查询结果去除p_partkey = ps_partkey条件
摘要:Pack对应的描述数据为DPN,可以近似的理解为Pack的元数据. 知识网格是基于DPN的更上层的抽象。本文说明在Nested Loop的遍历读取数据时, 如何通过知识网格来避免不必要的Pack读取。IN操作符场景的处理时序流程: 关
摘要:在用多线程聚合处理时,遇到的访问问题日志分析:原始的单线程聚合:多线程聚合只让一个工作线程去处理聚合:多线程聚合处理遇到NULL值:核心函数:AggregationWorkerEnt::DistributeAggreTaskAvera
记录聚合调试相关数据准备:数据库准备:表结构准备:插入数据:聚合查询:调试处:dimension_group.h:34rc_attr.cpp:395
摘要:记录获取数据的处理架构设计:类图:时序图: 源码处理:RCAttr::GetNotNullValueStringRCAttr::get_packRCAttr::get_dpnColumnShare::get_dpn_ptrDPN::G
:此前的文章中介绍了使用多核cpu去分子集的访问元组并解析数据,以提升访问性能的一般性思想。但是在工程实践中遇到了很多现实性的问题。本文对遇到的问题做追踪。数据结构决定算法采用何种数据结构,决定了所能执行的操作。或者说,就是在设计程序时
摘要:对聚合的多线程并行化做概要设计https://github.com/stoneatom/stonedb/issues/422需求分析:功能需求:与现有逻辑处理的聚合条件保持一致以Aggregate函数为入口, 以ResultS
摘要:从物理层开始,解读引擎是如何封装列数据, 如何使用列数据, 以及与其他模块的关系数据目录:以lineitem表为例:说明:columns目录: 内部的文件夹名字为列的序号, 每一个列都是一个单独的存储TABLE_DESC文件: 表的描
2023-05-05 10:14:14
2023-05-05 10:14:14
2024-09-24 06:29:56
2024-09-25 10:14:48
2023-05-22 08:07:04
2023-05-05 10:14:14