加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

京东云总监带你吃透分布式精髓(含视频)

发布时间:2019-05-15 01:31:26 所属栏目:教程 来源:京东云
导读:1953年,埃布格罗希提出Grosch定律,即计算机性能会随着成本的平方而增加。1965年,高登摩尔提出摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍。 当今,计算机的普及,也让越来越多的电脑处于闲置状态,即使在开

因为在云端分布式系统中,做备份的时候不是一台机器在备份,因为存储在不同的机器上。 对于一个新建的slave而言,如果我们在云端计算、存储分离的情况下去新建一个slave的话,新建slave的速度也会比传统的方式快非常多,因为整个数据块是已经存在了,直接去读就行,不需要重新再复制一份。

京东云总监带你吃透分布式精髓(含视频)

但是这种情况也带来不少问题。因为底层的文件系统其备份数是有限的,副本数也是有限的,深层次的原因是因为底层的分布式文件系统的IOPS是有限的,对于一个主从关系,像传统模式下的MySQL,其实并没有这种限制。

4总结

最后总结一下这几个方案的优缺点:

比如客户端方案,它的优点是可以接多种数据源,只要数据库是兼容JDBC的,都可以去对接,而且性能上比较好。但提高性能的同时也带来另外一个问题,连接数可能会比较多,因为客户端非常多,每个客户端都与MySQL进行连接的话,MySQL连接会特别多。

缺点也非常明显,如果公司中只以Java为主,那没问题,开发一个jar包,大家用起来会非常熟悉;如果说一个公司用Python、C++,还用Go,每个语言都要写一个客户端,其实是非常痛苦的。另外客户端发布了,SDK发布之后升级起来也非常麻烦。

京东云总监带你吃透分布式精髓(含视频)

所以绝大部分的厂商会采用Proxy的方案,因为Proxy的方案容易管理,升级也比较容易,而且语法基本兼容,不存在多语言SDK的问题。兼容了MySQL的一些语法之后,传统的MySQL客户端,各种语言的SDK都能用,所有MySQL第三方开发的SDK也都能用,缺点在于不支持事务,或者对事务的支持是有限的。

对于计算与存理分离方案而言,它的优点非常明显且性价比特别高,为什么?

云端购买云数据库的时候,很多时候性能与购买有关系。例如买个1C2G10GB的小型数据库,OPS可能只有几百上千;但对于真正的计算与存储分离的方案而言,开始购买的类型可能是比较小的,购买的规格可能也比较小,但是可以达到很高的IOPS性能,数据库性能并不会受限于你购买的规格。

关于缺点,还是整体的存储空间有限,可能最大只能支持64T或者128T,因为每个数据库的分布式存储中其副本数是有限的,只读节点可能受限于,只能有15个或者14个,但这个都不要紧。我相信对于绝大多数的用户而言,这个还是足够用的。另外一个缺点是开发难度,但这个缺点只是开发厂商的痛点,与用户没有关系。

对于另起炉灶,像Spanner/TiDB这种数据库方案,它的可扩展性就比较高。因为对于像Aurora这种计算与存储分离的数据库而言存储空间毕竟是有限的,但对这种数据库,它的存储空间可以被认为是无限扩展的,可以支持一个上P的数据库也没问题。

京东云总监带你吃透分布式精髓(含视频)

依旧谈谈缺点。就是很难去兼容现有的一些SQL语法,是一个比较大的挑战。例如TiDB是国产比较优秀的数据库了,也号称对MySQL的语法兼容是比较完美的,但事实上还是很多语句是没法做到兼容的,不是不想,是因为做起来特别难!因为底层的数据结构决定了一些功能,也决定了要去兼容一些SQL语句其代价是非常大的。

【本文为51CTO专栏作者“京东云”的原创稿件,转载请通过作者微信公众号JD-jcloud获取授权】

戳这里,看该作者更多好文

【编辑推荐】

  1. 京东云首席架构师杨海明: 用技术实现数据价值
  2. 专访京东云首席架构师:云之践行
  3. 京东云首席架构师杨海明:技术驱动高效运维,提升业务效率
  4. 解决IT运维人员之痛:京东云自动化运维体系构建实践
  5. Redis闲谈(1):构建知识图谱
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读