TIDB 初级课程体验 3 (无所不能的TIDB HTAP场景)

2021-06-22 00:00:00 数据 数据库 方式 数据处理 计算

这其实就是一个鱼和熊掌都要的的想法, 在大部分有规模的公司会分为数据库和大数据的部门来解决不同的数据处理的诉求.  

而大数据的技术的繁琐和数据的迁移和导入,这导致大数据分析非常困难,而传统的数据库例如MYSQL 的OLAP基本上不具备相关的功能.


而TIDB 是一种数据的统一, 其中包含大容量数据的存储, 以及普通SQL语句的支持.


实际上TIDB 支持MYSQL 的数据实时同步, 根据MYSQL的使用方式中的"分"的概念, 而终数据在处理必须要启用 "合" 的概念.

所以TIDB 在"合" 的概念中起到了汇聚库的作用.


但实际上 TIDB 主要的作用是操作OLTP的事务,同时如果将TIDB 的数据存储层同时支持  OLAP 和 OLTP 则这样的操作不具备良好的数据的隔离性,并且通过TIDB 的计算层来完成OLAP的操作的确引起了一些系统的性能问题,后期 TIDB 引入了SPARK的方案,来完成了通过SPARK的计算的引擎来操作TIKV的数据.

后期随着需求的产生, TIDB 终根据数据分离与OLAP数据计算的特殊性,开发除了 TIFLASH的列式数据存储引擎,并且通过 DeltaMerge 的方式实现了数据从LSM-TGREE 到  列式存储的准实时的方案.


那么解决的列式计算和存储的问题,剩下的就是数据的传输和同步的方式,在这里,可以通过BINLOG的方式来进行数据的复制,但这样复制的问题也经常会被吐槽就是延迟, 这里TIDB 通过使用底层的 TIKV的底层的数据复制方式进行数据的物理复制.


而这还没有完TIDB 的设计方案中加入了行和列两种数据引擎的联合使用, 适合行存储的数据,而统计count(字段) 会合适列式存储给出数据, TIDB 会通过两种不同的的数据库引擎,来为一个SQL 提供服务.  同时如果数据的的OLAP的算力不够的情况下引入了类似 GP的 MPP的架构,再次增加了OLAP的数据计算能力.



下面是TIDB 整体的HTAP的步骤, 整体TIDB 从行计算引擎OLTP 到 TIFLASH OLAP 大数据计算引擎,在到数据进入数据库并同时进入大数据计算平台融合.

听完这堂课,给人的感觉是, TIDB 将一统江湖, 将业务数据处理, 大数据处理, 通过流方式进行数据处理,把商业数据库以及大数据场景一网打尽.,成为一套整体的数据全方位解决方案的产品.



相关文章