CPU 最大使用率enableenableenable100%disabledisableenbale75%enabledisableenable90%enableenabledisable75%disableenableenable85%DynamicThreadPool 解决了频繁创建和销毁线程带来的开销;PageStorage v3 大大降低了 GC 和 snapshot...
本文主要介绍了数据库系统中常用的算子 Join 和 Aggregation 在 TiFlash 中的执行情况,包括查询计划生成、编译阶段与执行阶段,以期望读者对 TiFlash 的算子有初步的了解。
本文主要系统性地介绍了 TiFlash 表达式的基本概念,包括表达式体系,标量函数、聚合函数等,以期望读者能够对 TiFlash 的表达式计算有一个初步的了解。
在前面的介绍中,大家应该对 TiFlash 如何存储、计算有了一定的了解。那么今天我们主要讲解一下 TiFlash 如何被添加副本,以及获得数据的。如何对一张表添加一个 TiFlash 副本呢?是通过下面的指令也就是说,此时这张表对应的数据已经在集群中的 TiKV 上被存储了,我们实际上需要的是将数据从 TiKV 导入到 TiFlash...
在前面的源码分析中对 TiFlash 的计算层和存储层都进行了深入的分析,其中 TiFlash DeltaTree 存储引擎设计及实现分析 (Part 1) TiFlash DeltaTree 存储引擎设计及实现分析 (Part 2) 对 TiFlash 存储层的读写流程进行了完整的梳理,如果读者没有阅读过这两篇文章,建议阅读后再继续本文的阅读。这里简单回顾一下,TiFlash...
使用 TiKV 和 TiFlash 可以加速复杂查询,下面简单增加了使用使用场景。组件适用场景说明TiKV检索条件固定,且有索引TiFlash检索条件不固定,无法加索引部分表检索条件不固定,部分表有索引如果有描述不当的地方欢迎评论指正!...
施闻轩,TiFlash资深研发工程师。
SIMD(Single Instruction Multiple Data)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术,是重要的程序加速手段。本文将简要介绍一些在 TiFlash 中使用编译器进行自动向量化所需要的入门知识。SIMD 是重要的重要的程序加速手段。CMU DB 组在 Advanced...
一般情况下使用 TiDB 单表大小为千万级别以上在业务中性能最优,但是在实际业务中总是会存在小表。例如配置表对写请求很少,而对读请求的性能的要求更高。TiDB 作为一个分布式数据库,大表的负载很容易利用分布式的特性分散到多台机器上,但当表的数据量不大,访问又特别频繁的情况下,数据通常会集中在 TiKV 的一个 Region 上,形成读热点,更容易造成性能瓶颈。TiDB...
作者: 黄海升,TiFlash 研发工程师TiFlash 自开源以来得到了社区的广泛关注,很多小伙伴通过源码阅读的活动学习 TiFlash 背后的设计原理,也有许多小伙伴跃跃欲试,希望能参与到 TiFlash 的贡献中来。这次,我们特别筛选了 TiFlash 中一些入门级别的 issue,帮助大家无门槛地参与到大型开源项目中来。 Issue...
TiFlash 是 TiDB 的分析引擎,是 TiDB HTAP 形态的关键组件。TiFlash 源码阅读系列文章将从源码层面介绍 TiFlash 的内部实现。希望读者在阅读这一系列文章后,能够对 TiFlash 内部原理有一个清晰的理解,更熟悉 TiFlash 各个流程及概念,甚至能对 TiFlash 进行源码级别的编程开发。在 上一期源码阅读 中,我们介绍了 TiFlash...
本文详细介绍了 TiFlash 研发过程中,多并发下线程创建和释放阻塞问题的排查复现、原理解析和优化方案。
完成下面两步后,将自动完成登录并继续当前操作。