天翼云stonedb知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖stonedb相关内容资讯。开发者在stonedb专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
记录对于stonedb进行利用多核CPU加快查询时的nested loop策略的路线图。
目录摘要:逻辑建模:动态结构-时序图:加载字符类型的列:调用堆栈:核心函数:Descriptor::LockSourcePacksVirtualColumn::LockSource
摘要:从整体上梳理STONEDB的架构设计, 细分到具体的类级别, 但是不深入具体的函数逻辑的层次。目的在于建立整体的抽象和最高层的视角, 用来为下一步各个模块的突破。整体模块架构:宏观架构(取自infobright)关键概念:插件式引擎知
目录摘要:拆分成多线程处理面临的问题:一. 需要有一个线程池任务处理模块二. 明确出临界区的范围2.1 要遍历访问的元组数据2.2 在遍历访问元组时的一些状态控制的数据2.3 遍历访问元组
目录摘要:开场白:一. subquery(子查询)是什么子查询定义:为什么需要子查询:子查询的种类:二. 为何subquery会成为性能瓶颈mysql查询处理过程:发生性能
摘要:在多线程并行处理对元组的访问时,必然要对元组的读取有深刻的理解,从而保证在做架构设计时能正确的处理。这里有个误区, 理解现有代码的设计, 其目的并非是要顺着现有代码的设计思想走下去,而是要明白,按照新的设计思路做下去,所做出的改动对原
摘要:在Q16的聚合单线程处理中,存在冗余的row比较,在此时会存在对于attr的冗余的内存拷贝分析:简要日志追踪: 详细日志追踪: 逻辑分析:受影响多执行的函数:
摘要:DPN作为PACK的元数据,对下用于访问具体的PACK,对上形成知识网格,在整个逻辑关系中,DPN的数据对于数据的访问起到了中枢的作用。本文对DPN的数据结构的使用关系做说明。DPN的数据成员:核心成员解释:addr: 指向打开的DA
摘要:分析aggregate的场景.集合函数对值集进行操作。它们通常与GROUP BY子句一起使用以将值分组为子集。
摘要:记录聚合时候的遍历的处理, 主要是tuple_left的赋值与读取。进一步分析对下一次遍历的影响核心处理:调用堆栈:核心函数:重点逻辑:
摘要:记录经过优化后出现问题的SQL优化后出现问题的SQLQ2:问题:查出结果为空对比下mysql8的查询结果:Q2问题分析:SQL拆分分布执行测试内部子查询:用const量替换子查询结果去除p_partkey = ps_partkey条件
摘要:记录STONEDB对于mysql的查询优化器的使用逻辑关系:调用堆栈:核心函数:Engine::optimize_selectJOIN::optimize遇到的不解的地方记录:一. STONEDB引擎调用SQL层的JOIN::opti
摘要:Pack对应的描述数据为DPN,可以近似的理解为Pack的元数据. 知识网格是基于DPN的更上层的抽象。本文说明在Nested Loop的遍历读取数据时, 如何通过知识网格来避免不必要的Pack读取。IN操作符场景的处理时序流程: 关
目录摘要:慢子查询:调用堆栈:核心处理:快速子查询:调用堆栈:replace_index_subquery优化处理后的join数据:摘要:记录stonedb的不同子查询的优化器
摘要:针对mysql/stonedb大数据量子查询测试数据填入参考: 2022-07-06 使用tpch大数据量压测mysql_帝尊悟世的博客TPC-C 、TPC-H和TPC-DS三者最大的一个区别是,TPCC是针对OLTP数据库进
perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器、tracepoint)功能。通过perf,应用程序可以利用PMU、tracepoint和内核中的计数器来进行性能统计。它不但可以分析指定应用程序的性能问题(per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用程序和内核,从而全面理解应用程序中的性能瓶颈。
摘要:在用多线程聚合处理时,遇到的访问问题日志分析:原始的单线程聚合:多线程聚合只让一个工作线程去处理聚合:多线程聚合处理遇到NULL值:核心函数:AggregationWorkerEnt::DistributeAggreTaskAvera
核心函数:ParameterizedFilter::ApplyDescriptor子查询处理:调用堆栈:Descriptor::EvaluatePackImpl调用堆栈:
记录聚合调试相关数据准备:数据库准备:表结构准备:插入数据:聚合查询:调试处:dimension_group.h:34rc_attr.cpp:395
摘要:记录获取数据的处理架构设计:类图:时序图: 源码处理:RCAttr::GetNotNullValueStringRCAttr::get_packRCAttr::get_dpnColumnShare::get_dpn_ptrDPN::G
2023-05-05 10:14:14
2023-05-05 10:14:14
2023-05-05 10:14:14
2023-05-05 10:14:14
2023-05-22 08:06:30
2023-05-05 10:14:22