【TiDB 4.0 PCTA 学习笔记】- 1.2 Why HTAP Matters(HTAP 数据库简介)@2+王兴超

课程名称:1.2 Why HTAP Matters(HTAP 数据库简介)

学习时长:

30min

课程收获:

了解TiDB的使用场景和特点

课程内容:

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/fcca7d55-bc7a-4b41-af8a-415f28a5e0f4.jpg)

TP:传统交易处理,采用行存,更新模式是实时更新

一般来说会有非常高的并发,要求要有一致性,一般只存储当前数据

AP:分析性处理

使用内存格式,批量更新

低并发 ,每次处理需要处理大量数据

往往是处理历史数据

往往用列存

传统的模式:

数据库之间需要不断地转运,造成数据不是最新的;

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/ee38d4f0-b793-43dc-abb2-4c864ccdc20d.jpg)

why HTAP :

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/7ae3bd78-7d33-4103-85b2-8526f277a60c.jpg)

实践中会发现,tp和ap的界限越来越模糊,

比如一个业务查询,既需要历史数据的统计,同时还要最新数据的查询;

或者说在最新数据上进行统计;

例如对在线数据进行实时分析;

例如要实时分析跨不同数据业务线汇集来的数据信息;

how HTAP help you

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/5666edaa-acb7-48ff-abea-9128f1b47258.jpg)

架构简单,实施运维简单,能够实时查询实时分析、提高业务的敏捷度

TiDB HTAP Features

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/2cbc9080-a7e2-4e7d-b9ba-5c7873a6f4a2.jpg)

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/bc3996d3-7697-46c0-aa2e-45c03020e900.jpg)

添加了一个可更新的列存引擎;可以实时承载交易类的变更;

因为有了列存引擎,所以TiDB具备了行存数据格式和列存数据格式;

这两种引擎是使用不同的机器资源,所以运行起来没有相互干扰;

对于用户来说,一旦创建了列存库本,不需要关心优化器,比如关心查询的优化,是使用行存还是列存,优化器本身会自动的帮你选择是使用行存还是列存,甚至说是同时使用行存和列存;

架构总览:

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/3293d7fd-64f9-4c41-9d35-5c53780252a7.jpg)

采用raft协议进行数据复制;

数据写入没必要等到所有节点都完成才返回,只要有一个完成,即可返回; 其他的会异步进行复制; 这样可以确保交易类数据事务及时返回;

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/6f15cabc-d1da-479f-8578-9377b0e9c8ad.jpg)

传统的使用是需要两套系统,一个是tp,一个是ap,然后tp导入到ap里面才能进行数据分析;

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/3e35e9a6-634a-4ef4-92f8-bececbb23703.jpg)

使用场景:

比如说有个客服系统,操作人员既要查看当前任务量和投诉量等,然后还需要针对具体一条数据进行操作;这就需要tp和ap同时提供服务;

![](file:///C:/Users/wxc/Documents/My%20Knowledge/temp/08f6d590-782b-459b-9cad-99334fa0f620/128/index_files/e763c351-be6e-4f19-bdbc-ecf7081bf728.jpg)

嵌入方式:

对于已经有成型的数据平台,可以放在数据仓库入口前使用TiDB, 进行数据继承和实时查询;

转存方式:

1)可以将Hadoop中数据使用TisPark转存到TiDB中;

2)也可以在hadoop中根据需求查询出一张表,然后再写入到TiBD中,它支持分布式数据写入;

原因:

hadoop是一个能承载大量数据,进行批量计算的,并不适合数据服务;

学习过程中参考的其他资料