TiDB 整体架构及到底有什么用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TiDB 全体架构及到底有什么用 2021-07-28 据我所知,目前很多公司都在生产环境使用TiDB了,例如:小米,小红书,饿了吗,美团等。 ? ? ? 如今硬件的性价比越来越高,网络传输速度越来越快,数据库分层的趋势渐渐显现,人们已经不再强求用一个处理方案来处理全部的存储问题,而是通过分层,让缓存与数据库担任各自擅长的业务场景。 当前数据库领域面临各种问题,如在缩放、全都性、大数据分析、与云基础架构集成等方面均存在诸多问题,现有的数据库处理方案和大数据分析引擎处理方案基本处于割裂的形态,由于 Oracle、MySQL 数据库并不是面对分布式环境而设计,因而即便牵强通过分库、分表或两头件的方式,在数据库层面做了分片,从本质上看也只是复制了相同的堆栈,而非针对分布式系统进行存储和计算优化,这正是进行跨业务查询或跨物理机查询和写入格外繁琐的本质缘由。NoSQL 虽然处理了数据库弹性扩展的难题,但是却放弃了数据的强全都性以及对 ACID 事务的支持,带来了新的问题。 为了处理这一问题,TiDB 在架构上将计算和存储层进行高度的笼统和分别,对混合负载的场景通过 IO 优先级队列,智能副本调度,行列混合存储等技术使其变为可能。TiDB 作为开源的分布式关系数据库,其特点是几乎可以 100% 兼容 MySQL 接口,也兼容 MySQL 的语法和协议,在保证不丢失 ACID 事务的前提下,能够弹性伸缩,高可用,可以同时处理 OLTP 和 OLAP 工作负载,不再需要 ETL。 TiDB全体架构图 TiDB 产品的全体架构是高度分层的,由分布式 SQL 层(TiDB)、分布式 KV 存储引擎(TiKV)以及管理整个集群的 PD 模块组成。无限水平扩展是 TiDB 的一大特点,这里所说的水平扩展包括两方面:计算力量和存储力量。 HTAP 给开发者供应了一个实时数据分析方面的新思路,不需要再去维护另一个离线的数据仓库,既减轻了 ETL 的工作,又能节省很大一部分建立数据仓库所用到的存储和计算成本,HTAP 将是将来的重要趋势。黄东旭引见了 TiDB 的四个次要应用场景,一是 MySQL 分片与合并;二是直接替换 MySQL;三是用做数据仓库;四是作为其他系统的一个模块。 用例1:MySQL分片与合并 Syncer TiDB 应用的第一类场景是 MySQL 的分片与合并。对于已经在用 MySQL 的业务,分库、分表、分片、两头件是常用手段,随着分片的增多,跨分片查询是一大难题。TiDB 在业务层兼容 MySQL 的访问协议,PingCAP 做了一个数据同步的工具——Syncer,它可以把 TiDB 作为一个 MySQL Slave,将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方,在这一层将数据打通,可以直接进行简单的跨库、跨表、跨业务的实时 SQL 查询。黄东旭提到,“过去的数据库都是一主多从,有了 TiDB 以后,可以反过来做到多主一从。” 用例2:直接替换MySQL 其次类场景是用 TiDB 直接去替换 MySQL。假如你的IT架构在搭建之初并未考虑分库分表的问题,全部用了 MySQL,随着业务的快速增长,海量高并发的 OLTP 场景越来越多,如何处理架构上的弊端呢? 在一个 TiDB 的数据库上,全部业务场景不需要做分库分表,全部的分布式工作都由数据库层完成。TiDB 兼容 MySQL 协议,所以可以直接替换 MySQL,而且基本做到了开箱即用,完全不用担忧传统分库分表方案带来繁重的工作负担和简单的维护成本,友好的用户界面让常规的技术人员可以高效地进行维护和管理。另外,TiDB 具有 NoSQL 类似的扩容力量,在数据量和访问流量持续增长的情况下能够通过水平扩容提高系统的业务支撑力量,并且响应延迟稳定。 黄东旭在演讲中提到了摩拜单车的案例,摩拜晚期的数据库全部用 MySQL,随着业务的快速增长,MySQL 的弊端渐渐显现,摩拜单车于 2021 年初开头使用 TiDB 替换 MySQL。如今,摩拜的 IT 系统中已部署了数套 TiDB 集群,近百个节点,承载着数十 TB 的各类数据。 用例3:数据仓库 TiDB 本身是一个分布式系统,第三种使用场景是将 TiDB 当作数据仓库使用。TPC-H 是数据分析领域的一个测试集,TiDB 2.0 在 OLAP 场景下的功能有了大幅提升,原来只能在数据仓库里面跑的一些简单的 Query,在 TiDB 2.0 里面跑,时间基本都能把握在 10 秒以内。当然,由于 OLAP 的范畴格外大,TiDB 的 SQL 也有搞不定的情况,为此 PingCAP 开源了 TiSpark,TiSpark 是一个 Spark 插件,用户可以直接用 Spark SQL 实时地在 TiKV 上做大数

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档