【TiDB理论知识09】TiFlash

一 TiFlash架构

二 TiFlash 核心特性

TiFlash 主要有

  1. 异步复制、
  2. 一致性、
  3. 智能选择、
  4. 计算加速

等几个核心特性。

1 异步复制

TiFlash 中的副本以特殊角色 (Raft Learner) 进行异步的数据复制,这表示当 TiFlash 节点宕机或者网络高延迟等状况发生时,TiKV 的业务仍然能确保正常进行。

只从leader中接受raft log ,不参与 投票 选举 等。

基于主键快速更新 ,和TiKV 不会有过大的延迟 。

 

2 一致性读取

 

图解 :

T0 时刻 客户端写入两条数据 分别为 key = 1 value = 100 ,key = 999 value =7,这两条数据分别存在两个TiKV的Region 上,写入数据会有Raft log,这两条数据写入日志的序列号分别为 101 和 22 。TiFlash的region通过 Raft Log 同步数据,此刻 同步到TiFlash的Raft Log日志索引号分别为95 和 18的日志。即数据还没有同步到TiFlash.

 在T1 时刻客户端请求TiFlash 读取数据,T1时刻 ,TIKV的region数据已经写到日志序列号分别为 120 和 29的数据了 。TiFlash的数据刚到 106 和 20 。此刻TiFlash读取不到最新的数据

T2时刻 又有客户端向TiKV 写入数据,将key=1的数据 value cong 100改为了 200。写到了日志索引号分别为 122 和 30的日志了。那么问题来了 TiFlash 如何 确认我能读取到此刻TiKV 写入的最新数据同步到了TiFlash 呢 ?

解决 :会做个轻量级的确认 ,T3时刻 TiKV 的数据 已经写到了 125和 31  ,TiFlash 写到了 116 和 21 。 那么TiFlash 会等待日志序列号分别为125和 31日志复制过来。

 

T4时刻 日志还没完全复制过来。

 

T5 时刻日志已经复制过来 ,但是查询请求是T1时刻发出,只能看到T1时刻之前的数据,所以读到的key=1的值为100;

 

智能选择

TiDB 可以自动选择使用 TiFlash 列存或者 TiKV 行存,甚至在同一查询内混合使用提供最佳查询速度。这个选择机制与 TiDB 选取不同索引提供查询类似:根据统计信息判断读取代价并作出合理选择。

计算加速

TiFlash 对 TiDB 的计算加速分为两部分:列存本身的读取效率提升以及为 TiDB 分担计算。其中分担计算的原理和 TiKV 的协处理器一致:TiDB 会将可以由存储层分担的计算下推。

参考 

TiFlash 简介 | PingCAP 文档中心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亿胜盈科ATR2037 无限射频前端低噪声放大器

亿胜盈科ATR2037 是一款应用于无线通信射频前端,工作频段为 0.7 到 6GHz 的超低噪声放大器。 ATR2037 低噪声放大器采用先进的 GaAs pHEMT 工艺设计和制作,ATR2037 低噪声放大器在整个工作频段内可以获得非常好的射频性能超低噪声系数。 亿胜盈科ATR203…

WGCLOUD v3.5.0 新增支持监测交换机的接口状态UP DOWN

WGCLOUD v3.5.0开始 可以监测交换机或SNMP设备的接口状态了,直接上图

什么是ElasticSearch中的过滤器?

在Elasticsearch中,过滤器(Filters)是一种用于在查询中筛选文档的强大工具。过滤器可以根据特定条件来评估文档是否符合搜索查询。这些条件通常应用于字段数据,并根据匹配结果返回符合条件的文档。 过滤器的主要优点包括&#xf…

如何给网页和代码做HTML加密?

​ 本篇文章给大家谈谈html混淆加密在线,以及HTML在线加密对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 如何给代码加密? 1、源代码加密软件推荐使用德人合科技的加密软件,是一套从源头上保障数据安全和使用安全的软…

vue2+datav可视化数据大屏(1)

开始 📓 最近打算出一个前端可视化数据大屏的系列专栏,这次将很全面的教大家设计可视化大屏,从开始到打包结束,其中,包括如何设计框架,如何封装axios,等等,本次使用的数据均为mock数…

linux C++监听管道文件方式

方式一&#xff08;传统读取文件&#xff0c;一直监听循环读取文件&#xff09; 非阻塞打开文件&#xff0c;用read循环定时读取&#xff0c;性能不好 代码如下&#xff1a; #include <iostream> #include <fstream> #include <functional> #include <…

spring boot项目如何自定义参数校验规则

spring boot项目对参数进行校验时&#xff0c;比如非空校验&#xff0c;可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验&#xff0c;自带的校验规则无法满足要求&#xff0c;此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样&…

时域频域(学习记录1)

1 小伙伴们&#xff0c;今天让我们一起来聊聊Something about DATA 系列。我们先回顾一下本系列对NVH测试中的数据采集做的整体介绍&#xff1a; A 数据采集过程&#xff1b; B 硬件设备&#xff1b; C 数采软件&#xff1b; D ATOM中的数据采集&#xff1b; 接下来的几篇文章…

java如何编写 Restful API

一、什么是RESTful API RESTful API是指符合REST&#xff08;Representational State Transfer&#xff09;架构风格的API。RESTful API是一种架构设计风格&#xff0c;它基于HTTP协议&#xff0c;使用常见的HTTP方法&#xff08;例如GET、POST、PUT、DELETE等&#xff09;对资…

cmake生成表达式

不积小流&#xff0c;无以成江海 <CONFIG:RELEASE> config这个关键字&#xff0c;主要是看CMAKE_BUILD_TYPE这个变量的值是不是和冒号后的一样&#xff0c;一样的话就返回true, 否则就是false. cmake_minimum_required(VERSION 3.10) project(Test) set(CMAKE_CXX_STA…

数据结构--二叉树

目录 1.二叉树链式结构的实现 1.1 前置说明 1.2 二叉树的遍历 1.2.1 前序、中序以及后序遍历 1.2.2 层序遍历及判断是否为完全二叉树 1.3 节点个数&#xff0c;叶子节点个数&#xff0c;第k层节点个数以及高度等 1.4 二叉树的创建和销毁 1.二叉树链式结构的实现 1.1 前置说…

Mysql启动占用内存过高解决

Hi, I’m Shendi Mysql启动占用内存过高解决 前言 最近服务器内存不够用了&#xff0c;甚至还出现了内存溢出问题&#xff0c;导致程序宕机。但请求与用户量并没有多少&#xff0c;所以从各种启动的程序中想方设法的尽可能的减少其占用的内存。 而在我的服务器中&#xff0c;…

几何尺寸智能测量仪为您带来经济效益提升

线材、棒材、管材、板材等产品的品质检测离不开一些基础几何尺寸的检测&#xff0c;随着产线自动化的提升&#xff0c;越来越多的产线开始使用智能测量仪&#xff0c;这不仅仅是因为其能带来品质的提升&#xff0c;更是因为其能带来的经济效益。 几何尺寸智能测量仪种类繁多&am…

JAVA网络编程——BIO、NIO、AIO深度解析

I/O 一直是很多Java同学难以理解的一个知识点&#xff0c;这篇帖子将会从底层原理上带你理解I/O&#xff0c;让你看清I/O相关问题的本质。 1、I/O的概念 I/O 的全称是Input/Output。虽常谈及I/O&#xff0c;但想必你也一时不能给出一个完整的定义。搜索了谷哥欠&#xff0c;发…

区块链创新应用场景不断拓展,实现去中心化

小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 区块…

【Vulnhub 靶场】【BuffEMR: 1.0.1】【简单 - 中等】【20210831】

1、环境介绍 靶场介绍&#xff1a;https://www.vulnhub.com/entry/buffemr-101,717/ 靶场下载&#xff1a;https://download.vulnhub.com/buffemr/BuffEMR-v1.0.1.ova 靶场难度&#xff1a;简单 - 中等 发布日期&#xff1a;2021年08月31日 文件大小&#xff1a;4.6 GB 靶场作…

为什么每个 Java 开发者都需要了解 Scala

前面我们一起回顾了第九期 Scala & Java Meetup 中最受关注的话题 —— jdk 并发编程的终极解决方案&#xff1a;虚拟线程&#xff0c;探讨了这一新特性对包括 Scala 在内的响应式编程语言的影响。 本次 Meetup 的首位分享者 Chunsen&#xff0c;在加入 Tubi 成为 Scala 开…

【学习笔记】Burnside引理,Pólya定理及其应用

Burnside引理 书接上回&#xff0c;继续深入研究在群作用下集合的轨道与稳定子群的相关性质 现在我们想要研究这样一个问题&#xff1a; 有限群 G 在有限集合 S 上面有一个作用&#xff0c;那么 S 的 G − 轨道条数是多少 有限群G在有限集合S上面有一个作用&#xff0c;那么…

【投稿优惠|检索稳定】2024年信息系统、工程与数字化经济国际会议(ICISEDE 2024)

2024年信息系统、工程与数字化经济国际会议(ICISEDE 2024) 2024 International Conference on Information Systems and Engineering and the Digital Economy(ICISEDE 2024) [会议简介] 2024 年信息系统、工程与数字化经济国际会议(ICISEDE 2024)将于 2024 年 1 月 20 日在厦门…

Endnote在word中加入参考文献及自定义参考文献格式方式

第一部分&#xff1a;在word中增加引用步骤 1、先下载对应文献的endnote引用格式&#xff0c;如在谷歌学术中的下载格式如下&#xff1a; 2、在endnote中打开存储env的格式库&#xff0c;导入对应下载的文件格式&#xff1a;file>import>file>choose,import对应文件&a…