如何进行NewSQL数据库TiDB的分析

技术如何进行NewSQL数据库TiDB的分析本篇文章给大家分享的是有关如何进行NewSQL数据库TiDB的分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

本文是关于如何分析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节点交互进行查询。

如何进行NewSQL数据库TiDB的分析

TiDB能力特征如何进行NewSQL数据库TiDB的分析

计算能力:TiDB Server本身是无状态的,意味着当计算能力成为瓶颈时,可以直接扩展机器,对用户透明。理论上,TiDB服务器的数量没有上限。

存储容量:TiKV Server通常为3份,TiDB的每个数据默认为3份,有点类似于HDFS,但是数据复制是通过Raft协议进行的,TiKV Server上的数据是以Region为单位进行的,由PD Server集群统一调度,类似于HBASE的Region调度。

TiDB的高可用如何进行NewSQL数据库TiDB的分析

TiDB的每个角色都是高可用的,单个节点的中断不会影响整个集群。将有多个TiDB服务器。由于无状态,即使有意外的停机时间,应用程序也会再次尝试连接到其他节点。一般有2n 1个PD服务器,采用Raft协议选举产生。领导者下台后,追随者通过选举成为领导者,并继续完成工作。每个TiKV节点中的数据存储格式是KV结构,它通过键范围被散列成一个区域。每个区域将有两个额外的副本,这些副本将被分发到不可访问的节点。

兼容MySQL

rong>

TiDB基本兼容了MySQL,对于用户使用的时候,可以透明地从MySQL切换到TiDB 中,只是“新MySQL”的后端是存储“无限的”,不再受制于Local的磁盘容量。在运维使用时也可以将TiDB当做一个从库挂到MySQL主从架构中。

如何进行NewSQL数据库TiDB的分析

高效存储方案

上面讲到,TiKV集群存储的数据格式是KV的,在TiDB中,并不是将数据直接存储在 HDD/SSD中,而是通过RocksDB实现了TB级别的本地化存储方案,RocksDB的架构不再赘述了,有兴趣可以搜一下相关文档,着重提的一点是:RocksDB和HBASE一样,都是通过 LSM树作为存储方案,避免了B+树叶子节点膨胀带来的大量随机读写。从何提升了整体的吞吐量。

如何进行NewSQL数据库TiDB的分析

TIDB监控

在TiDB中选择了开源的Prometheus作为整个集群的监控,在每个节点上,都会通过Multiple角色收集并上报所有节点的数据,推送到PushGateWay中,PushGateWay接收所有Client Push上来的所有数据,Prometheus Server会定期从GateWay中拉取数据数据,整个监控通过Grafana进行可视化和监控查询。

如何进行NewSQL数据库TiDB的分析

TiDB作为新一代的NewSQL数据库,在数据库领域已经逐渐站稳脚跟,结合了Etcd/MySQL/HDFS/HBase/Spark等技术的突出特点,随着TiDB的大面积推广,会逐渐弱化 OLTP/OLAP的界限,并简化目前冗杂的ETL流程,引起新一轮的技术浪潮。一言以蔽之,TiDB,前景可待,未来可期。

以上就是如何进行NewSQL数据库TiDB的分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/131407.html

(0)

相关推荐

  • 人有多少块肌肉,人最坚硬的肌肉是哪块啊`?

    技术人有多少块肌肉,人最坚硬的肌肉是哪块啊`?人体共约639块肌肉,我们生活中的一切动作,都是在神经系统的调控下,由肌肉的收缩和舒张带动骨人有多少块肌肉、关节运动而实现的。现在,摸摸你的身体,你觉得哪块肌肉最强壮?舌头、

    生活 2021年10月27日
  • python怎么实现最新气候分区掩膜

    技术python怎么实现最新气候分区掩膜这篇文章主要介绍“python怎么实现最新气候分区掩膜”,在日常操作中,相信很多人在python怎么实现最新气候分区掩膜问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年11月23日
  • mysql中timestamp比较查询遇到的坑有哪些

    技术mysql中timestamp比较查询遇到的坑有哪些这篇文章主要介绍mysql中timestamp比较查询遇到的坑有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!timestamp比较查询

    攻略 2021年11月25日
  • jointJS怎么用

    技术jointJS怎么用这篇文章主要为大家展示了“jointJS怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jointJS怎么用”这篇文章吧。最近由于项目需要,开始接

    攻略 2021年11月16日
  • 12月1号

    技术12月1号 12月1号一、cookie是在服务端创建cooki是保存在浏览器这一端 每次请求会携带与当前服务相关的键值对数据,cookie明文显示数据,用户可以知道cookie,数据存储在浏览器中容

    礼包 2021年12月2日
  • 朋友圈一条线,微信朋友圈一道横杠是什么意思

    技术朋友圈一条线,微信朋友圈一道横杠是什么意思1、这种情况可能有三种原因朋友圈一条线: 1)是对方设置了“不让他(她)看我的朋友圈”权限导致的。 2)可能是被对方删除了好友,并且关闭了“允许陌生人查看十张照片”的开关。

    生活 2021年10月30日