本文是关于如何分析NewSQL数据库TiDB的。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。
以下是数据库领域的后起之秀,——NewSQL-TiDB。因为TiDB更新发布的速度比较快,文章和最新版本会有差异。
目前,TiDB诞生背景RDBMS的代表有Oracle、MySQL和PostgreSQL。传统的关系数据库历史悠久,在数据库领域资历较高,广泛应用于各行各业。然而,这种数据库存在一些问题,如自身容量的限制。大多数关系数据库管理系统是本地存储或共享存储。随着业务量的不断增加,产能逐渐成为瓶颈。此时,数据库管理员将多次使用库表分片来缓解容量问题。大量的子数据库和子表不仅消耗大量的人力,而且使业务访问数据库的路由逻辑变得复杂。此外,RDBMS的可扩展性差,通常集群伸缩成本高,不能满足分布式事务。
NoSQL数据库的代表有Hbase、Redis、MongoDB、Cassandra等。这些数据库解决了关系数据库管理系统扩展性差的问题,集群的容量扩展变得更加方便。但是由于存储方式是多KV存储,与SQL的兼容性大大降低。对于NoSQL数据库来说,它只能满足一些分布式事务的特点。
NEWS SQL的代表是Google的扳手和F1,号称可以在全球数据中心实现容灾,完全满足分布式事务的ACID,但是只能在Google云上使用。
TiDB诞生于大背景下,也弥补了国内在NewSQL领域的空缺。从2015年5月TiDB写第一行代码到现在已经三年多了。已经发布了几十次,版本迭代非常快。目前最新版本是2.0.6,GitLab上的点赞数已经超过1.4万。
TiDB整体架构TIDB有三种类型的节点:PD服务器、TIDB服务器和TiKV服务器。
PD Server负责存储集群的元数据,为每个事务分配全局事务ID,调度和负载均衡TiKV集群数据。
TiDB Server负责接收用户的请求,将其解析为执行计划,通过PD Server寻址数据,然后与TiKV Server节点交互进行查询。
TiKV服务器负责存储集群的数据。
当客户端提交任务时,它将通过LB层转发并提交给TiDB服务器集群。PD服务器将为每个交易分配一个全局交易标识。然后TiDB Server会将应用解析成特定的执行计划,从PD集群中获取数据存储地址,通过与TiKV Server节点交互进行查询。
TiDB能力特征
计算能力:TiDB Server本身是无状态的,意味着当计算能力成为瓶颈时,可以直接扩展机器,对用户透明。理论上,TiDB服务器的数量没有上限。
存储容量:TiKV Server通常为3份,TiDB的每个数据默认为3份,有点类似于HDFS,但是数据复制是通过Raft协议进行的,TiKV Server上的数据是以Region为单位进行的,由PD Server集群统一调度,类似于HBASE的Region调度。
TiDB的高可用
TiDB的每个角色都是高可用的,单个节点的中断不会影响整个集群。将有多个TiDB服务器。由于无状态,即使有意外的停机时间,应用程序也会再次尝试连接到其他节点。一般有2n 1个PD服务器,采用Raft协议选举产生。领导者下台后,追随者通过选举成为领导者,并继续完成工作。每个TiKV节点中的数据存储格式是KV结构,它通过键范围被散列成一个区域。每个区域将有两个额外的副本,这些副本将被分发到不可访问的节点。
兼容MySQL
rong>
TiDB基本兼容了MySQL,对于用户使用的时候,可以透明地从MySQL切换到TiDB 中,只是“新MySQL”的后端是存储“无限的”,不再受制于Local的磁盘容量。在运维使用时也可以将TiDB当做一个从库挂到MySQL主从架构中。
上面讲到,TiKV集群存储的数据格式是KV的,在TiDB中,并不是将数据直接存储在 HDD/SSD中,而是通过RocksDB实现了TB级别的本地化存储方案,RocksDB的架构不再赘述了,有兴趣可以搜一下相关文档,着重提的一点是:RocksDB和HBASE一样,都是通过 LSM树作为存储方案,避免了B+树叶子节点膨胀带来的大量随机读写。从何提升了整体的吞吐量。
在TiDB中选择了开源的Prometheus作为整个集群的监控,在每个节点上,都会通过Multiple角色收集并上报所有节点的数据,推送到PushGateWay中,PushGateWay接收所有Client Push上来的所有数据,Prometheus Server会定期从GateWay中拉取数据数据,整个监控通过Grafana进行可视化和监控查询。
TiDB作为新一代的NewSQL数据库,在数据库领域已经逐渐站稳脚跟,结合了Etcd/MySQL/HDFS/HBase/Spark等技术的突出特点,随着TiDB的大面积推广,会逐渐弱化 OLTP/OLAP的界限,并简化目前冗杂的ETL流程,引起新一轮的技术浪潮。一言以蔽之,TiDB,前景可待,未来可期。
以上就是如何进行NewSQL数据库TiDB的分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/131407.html