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

相关推荐

  • leetcode数组找最大数(leetcode排序中查找元素)

    技术LeetCode如何在排序数组中查找元素的第一个和最后一个位置这篇文章主要介绍LeetCode如何在排序数组中查找元素的第一个和最后一个位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一

    攻略 2021年12月15日
  • 香港站群服务器更适合部署哪些业务香港服务器哪家好

    技术香港站群服务器更适合部署哪些业务香港服务器哪家好最近不少客户都来咨询香港多IP服务器、香港站群服务器的问题,对于站群服务器,有些用户还是不是太了解,下面USA-IDC就来简单介绍以下香港站群服务器更适合部署哪些业务以

    礼包 2021年10月22日
  • JavaWeb中域对象'是什么意思

    技术JavaWeb中域对象是什么意思小编给大家分享一下JavaWeb中域对象是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!域对象的概念: 以服务器的内置对象,用来在不同作用域中进行数据共享,

    攻略 2021年11月17日
  • 7272好看动漫排行,你心目中的动漫排行榜前十名

    技术7272好看动漫排行,你心目中的动漫排行榜前十名1.机动战士高达00 2.新世纪福音战士
    3.铁臂阿童木
    4.多拉A梦
    5.名侦探柯南 在介绍点动漫给你 《死神》(打斗)
    《海贼王》(励志,打斗)
    《火影忍

    生活 2021年10月26日
  • Oracle FGA的示例分析

    技术Oracle FGA的示例分析小编给大家分享一下Oracle FGA的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Oracle

    攻略 2021年12月13日
  • html css js是什么

    技术html css js是什么本篇内容主要讲解“html css js是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html css js是什么”吧!最准确的网页设计

    攻略 2021年12月10日