[转帖]TIDB TIKV 数据是怎么写入与通过Region 分割的?

tidb,tikv,数据,怎么,写入,通过,region,分割 · 浏览次数 : 0

小编点评

**TIKV 的主要优势:** 1. **基于成型的理论和底层成熟的存储层研发的数据库产品:** TIKV 是基于成型的产品,其底层存储层已经过多个版本的完善和优化,具有良好的性能和可靠性。 2. **互联网企业使用的量已经成型,经过验证:** TIKV 是许多互联网企业使用的成熟分布式数据库,其性能和稳定性已在实际应用中得到验证。 3. **开启,以及国际上的影响:** TIKV 是全球范围内使用最广泛的分布式数据库之一,其开放平台和广泛的插件生态系统使其拥有很高的可扩展性和可维护性。 4. **三个核心模块:** TIKV 包括 TIKV、PD 和 TIDB 三个核心模块,分别负责信息路由、数据存储和事务隔离。这些模块之间通过可靠的通信机制进行交互,确保了数据的一致性和可靠性。 5. **数据存储的单位是REGION ,REGION 是一个可以存储多个KEY:VALUE对的独立单元:** 这使得 TIKV 可扩展到任意规模,并根据数据写入的需要进行分割。 6. **TIKV 的数据存储是有序的,并通过RAGE 的方式进行存储,数据增大的过程会导致范围的细分:** 这确保了数据的高性能和可扩展性。

正文

https://cloud.tencent.com/developer/article/1882194

 

国产的分布式数据库不少,TDSQL, OB, TIDB ,等等都是比较知名的产品,使用的分布式协议也不同,有使用POSTGRES-XL ,也有从外观模仿ORACLE 的,还有借鉴各家所长自己研发的。为什么最近一直在看TIDB,主要有以下几点

1 TIDB 对比其他的分布式数据库是目前影响力较大的产品

2 TIDB 是基于成型的产品的理论以及底层成熟的存储层研发的数据库产品

3 互联网企业使用的量已经成型,经过验证

4 开放,以及国际上的影响

——————————————————————————————

TIDB 的三个模块,TIDB, TIKV, PD ,这三个名词估计是耳熟能详了,接入层,事务隔离级别控制层,信息路由层 , 以及信息存储层。TIKV 作为TIDB 的信息存储层, 首先一个信息是如何存储进TIKV

整体的数据写入的过程采用PUT指令,通过PD来对要写入的数据进行路由,对需要写入数据的目的地进行获取,并将获取后的位置发送给TIDB 模块,TIDB 模块将需要写入的数据直接发送给TIKV , TIKV 通过两阶段提交的方式将信息写入 leader region, 并将数据写入的结果反馈给TIDB , 同时数据线性的在follower region中写入。

反向在数据读取的过程过,会根据raft 协议中的大多数的原理,读取的数据必须在大多数的region 中存在,否则是无法进行数据的读取的。

TIKV 的数据存储的单位是REGION ,REGION 对于TIKV是非常重要的,TIKV 通过REGION 以及RAFT 协议将同样的REGION 分布在不同的TIKV 的主机中。随着数据的不断的写入REGION 承载的数据越来越多就需要开始进行分割。TIKV 中存储的数据也是有序的,并且是通过RAGE 的方式(范围的方式进行数据的存储),数据的增大必然导致范围的粒度越来越细分。

初始化时一个REGION为64MB , 并且标注好REGION 数据存储的范围,当数据灌入超过8MB后,TIKV 产生CHECK 线程对REGION 的大小进行定期的巡检, 当数据在REGION 中超过96MB 就产生一个分割的需求了。根据分割的需求,TIKV 中的RAFTSTORE 线程会将需求发送给PD, PD 会根据需求分配新的REGION的ID ,并且将信息会送给TIKV。

TIKV 获得了新的ID 后根据当前REGION 存储的数据中KEY:VALUE 的情况调整并且重新划分REGION 中的存储数据的范围。由于REGION的拆分仅仅是在元数据上进行范围的重新标定和注册,所以分割本身并不牵扯数据的迁移,速度会比较快。在产生新的REGION 后,并完成注册和分割后,TIKV 会将信息回馈给PD,并进行记录。后续新的数据写入以及提取PD 会根据新的信息进行路由,将信息写入新的REGION。

与[转帖]TIDB TIKV 数据是怎么写入与通过Region 分割的?相似的内容:

[转帖]TIDB TIKV 数据是怎么写入与通过Region 分割的?

https://cloud.tencent.com/developer/article/1882194 国产的分布式数据库不少,TDSQL, OB, TIDB ,等等都是比较知名的产品,使用的分布式协议也不同,有使用POSTGRES-XL ,也有从外观模仿ORACLE 的,还有借鉴各家所长自己研发的

[转帖]TiKV & TiDB相关笔记

https://www.jianshu.com/p/1141be233bb2 一、TiKV存储 简述 通过单机的 RocksDB,TiKV 可以将数据快速地存储在磁盘上;通过 Raft,将数据复制到多台机器上,以防单机失效。数据的写入是通过 Raft 这一层的接口写入,而不是直接写 RocksDB。

[转帖]TiKV & TiDB相关笔记

https://www.jianshu.com/p/1141be233bb2 一、TiKV存储 简述 通过单机的 RocksDB,TiKV 可以将数据快速地存储在磁盘上;通过 Raft,将数据复制到多台机器上,以防单机失效。数据的写入是通过 Raft 这一层的接口写入,而不是直接写 RocksDB。

[转帖]TIKV扩容之刨坑填坑​

01 背景 某tidb集群收到告警,TIKV 节点磁盘使用率85%以上,联系业务无法快速删除数据,于是想到扩容TIKV 节点,原先TIKV 节点机器都是6TB的硬盘,目前只有3TB的机器可扩,也担心region 均衡后会不会打满3TB的盘,PD 调度策略来看应该是会根据不同存储机器的资源配置和使用情

[转帖]三篇文章了解 TiDB 技术内幕 - 谈调度

返回全部 申砾产品技术解读2017-06-06 为什么要进行调度 先回忆一下 三篇文章了解 TiDB 技术内幕 - 说存储 提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎,数据以 Region 为单位进行复制和管理,每个 Region 会有多个 Replica(副本),这

[转帖]5. Tikv安装部署

5. Tikv安装部署 5.1. 概述 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备

[转帖]数据库系列之TiDB存储引擎TiKV实现机制

TiDB存储引擎TiKV是基于RocksDB存储引擎,通过Raft分布式算法保证数据一致性。本文详细介绍了TiKV存储引擎的实现机制和原理,加深对TiDB底层存储架构的理解。 1、TiDB存储引擎TiKV TiDB存储引擎TiKV是分布式的key-value存储引擎,它是一种高度分层的架构,通过Ra

[转帖]数据库系列之TiDB存储引擎TiKV实现机制

https://zhuanlan.zhihu.com/p/27275483 TiDB存储引擎TiKV是基于RocksDB存储引擎,通过Raft分布式算法保证数据一致性。本文详细介绍了TiKV存储引擎的实现机制和原理,加深对TiDB底层存储架构的理解。 1、TiDB存储引擎TiKV TiDB存储引擎T

[转帖]TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践

返回全部 边城元元案例实践2022-08-02 复杂业务查询对于传统的关系型数据库来说是一种考验,而通过 TiKV 行存与 TiFlash 的列存结合使用就能很好地应对。本文根据 TUG 用户边城元元在 TiDB 社区技术交流石家庄站的分享整理,详细介绍了 TiKV & TiFlash 加速复杂业务

[转帖]黄东旭:TiDB的优势是什么?

https://tidb.net/book/tidb-monthly/2022/2022-07/usercase/tidb-advantage “云原生”、“分布式”,近几年云原生概念热度不减,成为了许多开发人员关注的焦点。在 CNCF 云原生基金会数据库领域,PingCAP 已毕业的项目 TiKV