如何进行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)

相关推荐

  • 微信附近的人看不到我怎么办,微信附近的人看不见我怎么解决

    技术微信附近的人看不到我怎么办,微信附近的人看不见我怎么解决微信附近的人看不到我的基本解决办法是:查看一下是否开启了微信【附近的人】页面,点击查看一下【附近打招呼的人】;或者是进入您的手机设置中查看一下是否关闭了微信获取

    生活 2021年10月20日
  • mysql中转换函数以及排序问题的示例分析

    技术mysql中转换函数以及排序问题的示例分析这篇文章主要为大家展示了“mysql中转换函数以及排序问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中转

    攻略 2021年11月6日
  • 如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

    技术如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景本篇内容主要讲解“如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家

    攻略 2021年10月22日
  • 和田玉价格走势,和田玉价格是怎样涨起来的

    技术和田玉价格走势,和田玉价格是怎样涨起来的以下是鸿璐的一些浅见和田玉价格走势,希望对您有所帮助和田玉历史悠久,从古至今备受人们喜爱!和田玉润更是以其优秀的润度屹立于玉石行列的顶端!和田玉的“羊脂白玉”更是以其白中有润,

    生活 2021年10月22日
  • Hibernate三种状态的转换示例

    技术Hibernate三种状态的转换示例小编给大家分享一下Hibernate三种状态的转换示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、遇到的神奇的事情使用jpa操作数据库,当我使用findAl

    攻略 2021年12月8日
  • 分析Redis中的字典、哈希算法和ReHash原理

    技术分析Redis中的字典、哈希算法和ReHash原理本篇内容介绍了“分析Redis中的字典、哈希算法和ReHash原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处

    攻略 2021年11月5日