在上面三次课程后, 这边第四次的课程是对上面三次课程的一个总结和回顾以及扩展.
TIDB 解决了什么问题
1 TIDB 通过了分层的分布式架构的解决方案,(分布式的KV存储系统, 分布式的SQL 计算系统, 分布式的HTAP架构系统) 解决了更细力度的分片技术,通过细粒度的分配, 提高了分片数据的弹性,提供了对数据的强有力的扩展和伸缩性. 基于multi-raft 的方式将数据的复制变得离散.
在自动分片技术中,采用的是全局有序的KV map, 并且按照等长大小的策略,自动分片(96MB),每个分片是联系的KV 通过 start_end key 来机械能寻址,通过最小分片单位region 来进行数据的在多个副本集合的调度. 并且分片是根据数据得情况进行合并和拆分.
2 跨节点IDC 单表多节点写入,通过region base multi-raft 的机制实现了一个表可以进行同时多个写入点通过TIKV的调度机制,可以识别单个节点的物理信息,并与相关的约束进行绑定. 并且基于mulit-raft 的机制来通过增加机器来降低写入的性能问题. 写入的性能是线性的.
3 去中心化的分布式事务
通过分布式的授时的方案,降低了数据的吸入的延迟增加了数据库本身的性能,
解决了多地部署,数据安全合规,支持异地多活,支持冷热数据分离.
4 TIDB 的双数据处理引擎, TP AP 两相宜, 通过行式存储和列式存储的两个存储的引擎,在数据处理是通过查询的方式的判断来查看到底使用哪种查询的方式更有利,将行与列方式的存储合并使用. 并且通过这样的方式将数据服务的挺统一了.
那么到底TIDB 主要应用的场景是那些
1 高并发,高数据量场景, 这主要面对的场景是某种数据库的数据结构会限制整体数据的提取和写入的成本, 并且写入的数量受到数据的主节点的限制.
所以对于这样数据库的分表的方式通过中间件来进行, 这样采用中间件的问题会导致,数据遍历, 和数据写倾斜的问题, 并且早期数据预留空间的浪费比较严重.
并且TIDB 可以支持,稳定的,高效的,成本的,安全的,常规的问题, 并且还需要此数据库最好是开源的,并且数据库可以和社区一起成长.
2 数据OLAP的场景
在数据的处理中,数据在OLTP的场景中可以无缝的传输到OLAP的 MMP架构的TIDB 的数据库处理引擎和存储中,通过一体化的方案,将数据的分析的部分解决.