如何彻底解决烦人的 MySQL 分库分表问题?写一个更好的数据库!.docx
《如何彻底解决烦人的 MySQL 分库分表问题?写一个更好的数据库!.docx》由会员分享,可在线阅读,更多相关《如何彻底解决烦人的 MySQL 分库分表问题?写一个更好的数据库!.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如何彻底解决烦人的MySQL分库分表问题?写一个更好的数据库!|黄东旭责编|郭芮我还清楚记得五年度前的这个时候当时还在豌豆荚午后与刘奇以及崔秋的闲聊关于将来数据库的想象就像一粒种子一样到了今天看起来也竟枝繁叶茂郁郁葱葱有点感慨。按照惯例五年度是一个重要的节点没有十年度那么冗长也没有一两年度的短暂是一个很好的回首节点。在PingCAP成立五周年度之际就在此认真的回首一下过去展望一下将来。五年度前创业的出发点其实很朴素做一个更好的分布式数据库。从学术的角度上看起来并不是提出了什么惊天地泣鬼神的神奇算法我们选择的Shared-nothing的架构其实在当时的业界也不是什么新颖的事情了但真正令我冲动的
2、是我们要造的是一个真正能作为整个系统的SingleSourceofTruth的根底软件。这句话怎么理解呢我在后边会好好聊聊。数据是架构的中心作为一个互联网行业的架构师几乎是天天都在以及各种类型的数据打交道这么多年度的经历不同行业不同系统从技术层面来讲抽象到最高总结成一句话就是数据是架构的中心。仔细想想我们其实做的一切工作都是围绕着数据。数据的产生数据的存储数据的消费数据的流动只不过是根据不同的需求变化数据的形态以及效劳方式。计算机系的同学可能还记得教师讲过的一句话程序算法数据构造我这里大胆模拟一下这个句式系统业务逻辑x数据。可以讲很多架构问题都是出在数据层例如常见的烟囱式系统带来的种种问题十分
3、是数据孤岛问题其实本质上的原因就出在没有将数据层打通假如不从数据架构去考虑就可能头疼医头、脚疼医脚费了半天劲还是很别扭反过来假如将数据层治理好就像打通任督二脉一样起到四两拨千斤的效果。但是理想通常很饱满现实却很骨感。至少在我们五年度前出来创业那会儿我们觉得并没有一个系统可以很好的解决数据的问题。可能好奇的读者就要问了不是有Hadoop还有NoSQL再不济关系型数据库也能分库分表啊其实列出的这几个几乎就是当年度处理存储问题的全部候选这几个方案的共同特点就是不完美。详细一点来讲这几个解决方案对于数据应用的场景覆盖其实都不大对于复杂一点的业务可能需要同时使用n多个方案才能覆盖完好。这就是为什么随着近
4、几年度互联网业务越来越复杂类似Kafka这样的数据Pipeline越来越流行从数据治理的角度其实很好理解各种数据平台各负责各的为了做到场景的全覆盖必然需要在各个岛之间修路呀。我们当年度就在想能不能有一个系统以一个统一的接口尽可能大的覆盖到更多场景。我们需要一个SingleSourceofTruth。数据应该是贯穿在应用逻辑各个角落我理想中的系统中对于任意数据的存取都应该是可以不加限制的先不考虑权限以及平安这是另一个问题这里的“不加限制是更广义的例如没有容量上限只要有足够的物理资源系统可以无限的扩展没有访问模型限制我们可以自由的关联、聚合数据没有一致性上的限制运维几乎不需要人工干预以分布式数据库
5、为统一中心的架构我当年度十分着迷于一个美剧PersonofInterest疑犯追踪这个电视剧里面有一个神一样的人工智能TheMachine采集一切数据加以分析进而预测或者是干预将来人们的行动。固然这部美剧还是比拟正统的行侠仗义之类的主题但是更让我着迷的是是否我们能设计一个TheMachine固然直到目前我还不是一个AI专家但是给TheMachine设计一个数据库似乎是可行的。这几年度创业经过中我们发现更令人兴奋的点在于以分布式数据库为统一中心的架构是可能的。这个怎么理解呢举个例子就像在上面提到的分裂带来的问题数据层的割裂必然意味着业务层需要更高的复杂度去弥补其实很多工程师其实偏向于用线性的思维
6、去考虑维护系统的本钱。但是实际的经历告诉我们事情并不是这样的。一个系统只有一个数据库以及有十个数据库的复杂程度其实并不是的简单的10x考虑到数据的流动维护本钱只可能是更多这里还没有考虑到异构带来的其他问题。以分布式数据库为中心的架构是什么样子的呢很好理解整个架构的中心是一个场景覆盖度足够广且具有无限的程度伸缩才能的存储系统。大局部数据的流动被限制在这个数据库内部这样应用层就可以几乎做到无状态因为这个中心的数据库负责了绝大局部状态每个应用可以通过自己的缓存来进展加速。这里我想提醒的是为什么我在上面强调程度扩展才能是因为受限的扩展才能也是导致分裂的一个重要的原因。我们从来都没有方法准确的预测将来我
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何彻底解决烦人的 MySQL 分库分表问题?写一个更好的数据库! 如何 彻底解决 烦人 分库分表 问题 一个 更好 数据库
限制150内