分布式数据库-TiDB简介

前言:最近公司要讨论分库分表,正好一起参加了培训。一般mysql单表数据库容量达到一定的极限,性能会急剧下降,之前工作的时候已经大佬们高喊几次了分库分表,但是最终没能实现或者落地的方案不佳。在这里一篇很好的文章指出了当前开源的分库分表的框架的不足,并介绍了使用TiDb作为新的分布式数据库的各种优点传送门

目前的常用的分库分表概述

一种是中间件代理,例如mycat和sharding-proxy,对于应用是比较透明的,支持的语言也多;第二种是侵入式,也就是数据库直连,例如sharding-jdbc。sharding-proxy和sharding-jdbc都已经整合到sharding-Sphere里,中文文档可以点击这里

sharding-sphere作为分库分表的实现短板。

sharding-sphere包含三个项目:sharding-jdbc、sharding-proxy和Sharding-Sidecar。如果有兴趣大家可一查看demo,里面包含各种应用场景。我仅仅以后台人员的角度来看局限性。

  • shrdingkey粘连 例如sharding-jdbc里面需要指出分库键和分表键,如果你的业务很复杂,意味着你要建立很多shrdingkey;即使你认为这没有啥,最要命的是你增删改查都必须带上这个shrdingkey才能路由到你要去的那张表,这就好比回娘家,还真得左右一只鸡右手一只鸭,不然娘家不认你。
  • 数据冷热均衡、高可用复杂度很高 一般分表分库数据,热点数据我就需要设计非常复杂的算法,提前规划好几张库几张表;例如购物记录表,你设计2个库,每个库水平切4张表,再为这些表设计一套均衡的数据分流,但是人员表你最多一个库两张表,再为这冲业务维度设计一套数据均衡。最后,你要为这些来个主从、读写分离保证高可用,...同志,你确定你能行吗?牛逼的话希望可以给口饭吃。
  • 扩容非常困难 如果你已经提前规划好了几个库几个表,并且为每个业务表都设计好一套牛逼的算法,保证一百年性能不出问题,并且也给了我一口汤喝,百年之后老板的儿子要扩容。运维人员需要根据你的算法,再来扩容,4库变成8个库,每个库再来切一下,再来弄个高可用,再来迁移数据。运维黑人问号脸:我去你***%……%%35433454
  • sql不支持关联查询、分布式事务复杂度高、一致性差。不过这些都是分布式都面临的问题,已阅。

TIDB原理简介

TIDB.png
  • TiDB Server :解析SQL 请求,最后通过 PD 找到存储计算所需数据的 TiKV (键值对)然后返回。TiDB 是无状态的,也就是无脑传话机,本身不存储任何数据。
  • PD Server: TiKV存储集群的元信息;对 TiKV 集群进行调度和负载均衡;分配全局唯一且递增的事务 ID。他是集群,集群是要选举的,必须是奇数个哦! PD Server是指挥官,负责调度。
  • TiKV Server: 负责存储数据,基本单元就是Region,也就是一个K-V。多个Region组成一个TiKV 节点,多个节点组成一个GROUP。

TiDB作为分布式数据库的优点

  • 对于现有得应用非常透明化。Tidb的原理是解析sql语句,进入自己的key-value存储单元获取数据,使得现有得应用可以平滑过渡,挂的是关系型数据库的皮,做的是NOSQL数据库的事,我们叫他不是个东...new SQL。他借用了mysql引擎,所以你直接在NAVICAT上就可以直接界面化操作啦。
  • 可以非常快捷的伸缩,实现冷热数据的均衡。例如使用sharding-jdbc,要实现热点数据的分布存储,抛开复杂的分库分表算法不说,每次扩容对于运维人员非常繁琐。但是TIDB就不存在啦,只要扩展TiDB Server 节点增加计算能力,扩展TIKV节点增加存储能力就可以。这是一场战争,号角吹响,补兵不行补兵,传话的不够加传话的,指挥官挂了选新的。男人不能说自己不xing.
  • 支持分布式事务,数据强一致性,百亿级存储。根据官网吹牛(shihua)逼(shishuo)说,金融级高可用。

TiDB作为分布式数据库的缺点

  • 存储过程、触发器、事件、外键约束不支持,但是这个是人家谦(chenqie)虚的说法(zuobudao),分布式数据库谁还用这些鸡肋玩意儿,特别是触发器。
  • 硬件要求高,不多说的,反正就是高,你想想人家这么快肯定IO轻松不了,人家大神都说了,最好全换成SSD。


    image.png

TiDB的安装

作为后台人员,我们就是用最快捷的docker快速安装搭建TIDB,Tidb官网已经给出了非常完整的文档,这里不再详述。这也是我第一次在简书写,毕竟支持MARKDOWN还是很爽的,工作繁忙,下一章我会示例一下docker安装TIDB快速整合后台应用的DEMO。

参看文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343