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

相关推荐

  • mysqld got signal举例分析

    技术mysqld got signal举例分析这篇文章主要介绍“mysqld got signal举例分析”,在日常操作中,相信很多人在mysqld got signal举例分析问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月19日
  • Vue单页面组件mapbox gl怎么用

    技术Vue单页面组件mapbox gl怎么用这篇文章给大家分享的是有关Vue单页面组件mapbox gl怎么用 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用Vue开发地图的时候,鉴于也

    攻略 2021年12月3日
  • 数学小报的内容,五年级的数学手抄报内容

    技术数学小报的内容,五年级的数学手抄报内容一元钱哪里去了 三人住旅店数学小报的内容,每人每天的价格是十元,每人付了十元钱,总共给了老板三十元,后来老板优惠了五元,让服务员退给他们,结果服务员贪污了两元,剩下三元每人退了一

    生活 2021年10月19日
  • 鳄怎么读,alligator怎么读

    技术鳄怎么读,alligator怎么读展开全部1鳄怎么读、alligator英文读音:alligator 英[ˈælɪgeɪtə(r)];美[ˈælɪˌɡetɚ] 。 2、意思:短吻鳄;短吻鳄皮革;鳄口式工具;鳄鱼般的

    生活 2021年10月26日
  • 三点水一个日念什么,左边三点水右边一个天念什么

    技术三点水一个日念什么,左边三点水右边一个天念什么左边三点水右边一个天是【沃】【拼 音】三点水一个日念什么: wò
    【部 首】: 氵
    【笔 画】: 7
    【五 笔】: ITDY
    【基本释义】
    1、土地肥。
    2、灌溉,浇

    生活 2021年10月25日
  • go module是如何使用本地包的

    技术go module是如何使用本地包的小编给大家分享一下go module是如何使用本地包的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!g

    攻略 2021年11月27日