阅读更多
原文链接: http://click.aliyun.com/m/22678/
摘要: 张瑞,阿里集团数据库技术团队负责人,阿里巴巴研究员,Oracle ACE。双十一数据库技术总负责人,曾两次担任双十一技术保障总负责人。自2005年加入阿里巴巴以来,一直主导整个阿里数据库技术的不断革新。
回顾视频:http://yq.aliyun.com/webinar/play/220
张瑞,阿里集团数据库技术团队负责人,阿里巴巴研究员,Oracle ACE。双十一数据库技术总负责人,曾两次担任双十一技术保障总负责人。自2005年加入阿里巴巴以来,一直主导整个阿里数据库技术的不断革新。
近日,在京举行的2017中国数据库技术大会上,来自阿里巴巴集团研究员张瑞发表了题为《面向未来的数据库体系架构的思考》的主题演讲。主要介绍了阿里数据库技术团队正在建设阿里下一代数据库技术体系的想法和经验,希望能够把阿里的成果、踩过的坑以及面向未来思考介绍给与会者,为中国数据库技术的发展出一份力。
1
演讲全文:
我先介绍一下我自己,我2005年加入阿里一直在做数据库方面的工作,今天这个主题是我最近在思考阿里巴巴下一代数据库体系方面的一些想法,在这里分享给大家,希望能够抛砖引玉。大家如果能够在我今天分享后,结合自己面对的实际场景,得到一些体会,有点想法的话,我今天分享的目的就达到了。
今天我会讲以下几方面内容:首先讲一下我们在内核上的一点创新、数据库怎么实现弹性调度、关于智能化的思考、最后是曾经踩过的坑和看到未来的方向。
阿里场景下数据库所面临的问题
2
首先说一下,阿里巴巴最早一代使用的数据库技术是Oracle,后面大家也知道一件事情就是去IOE,去IOE过程中我们迈向了使用开源数据库的时代,这个时代今天已经过去,这个过程大概持续了五六年,整个阿里巴巴有一个大家都知道的开源MYSQL分支--AliSQL,我们在上面做了大量的改进,所以我这里列了一下在AliSQL上的一些改进,但今天我实际上并不想讲这个,我想讲一下面向未来的下一代数据库技术、数据库架构会往哪个方向走。
我觉得是这样的,因为今天的阿里巴巴毕竟是一个技术的公司,所以很多时候我们会看比如说Google或者是一些互联网的大的公司,他们在技术上创新点来自于哪里?来自于问题。就是说今天在座的各位和我是一样的,你所面对场景下的问题是什么、你看问题深度如何决定了你今天创造的创新有多大。
所以今天我们重新看一下阿里面临的问题是什么,相信在座的各位一定也有这样的想法,阿里所面临的问题不一定是你们的问题,但我想说今天通过阿里面临的问题,以及我们看到这些问题后所做的事情,期待能够给大家带来参考,希望大家也能够看到自己所面临的问题是什么,你将如何思考。
3
可以看到其实阿里巴巴的应用和Facebook、Google的还是有很大区别的,我们也找他们做了交流,发现跟他们的业务场景真的不一样,首先我们的主要应用是交易型的,这些应用会有些什么要求,你会看到有这些点(见图片),下面主要讲一下我们的思考。
今天数据的高可用和强一致是非常重要的,数据不一致带来的问题是非常非常巨大的,大家也用淘宝,也是阿里巴巴一些服务的用户,数据不一致带来的问题,每一个用户、甚至我的父母都会关注这些事情。
第二,今天存储成本是非常高的,所有的数据中心已经在用SSD,但数据的存储成本依然是一个大型企业面临的一个非常大的问题,这都是实实在在钱的问题。
另外刚才也提到了,数据都是有生命周期的,那么数据尤其是交易数据是有非常明显的冷和热的状态,大家一定很少看自己一年前在淘宝的购买记录,但是当下的购买记录会去看,那系统就需要经常会去读它、更新它。
还有一个特点是今天阿里的业务还是相对简单的,比如我们要在OLTP性能上做到极致性。还有一个阿里巴巴特有的点就是双十一,双十一本质上是什么,本质上就是制造了一个技术上非常大的热点效应。这对我们提出什么样的需求呢?需求就是一个极致弹性的能力,数据库实际上在这个方向是非常欠缺的,数据库怎么样去做到弹性伸缩是非常难的事情。
最后我想说说DBA,今天在座的很多人可能都是DBA,我想说一下阿里在智能化这个方向上得到的思考是什么样的,我们有海量的数据,我们也有很多经验很丰富的DBA,但这些DBA怎么样去完成下一步的转型、怎么样不成为业务的瓶颈?数据库怎么样做到自诊断、自优化。这是我们看到的问题,最后我也会来分享一下我在这方面的思考。
阿里在数据库内核方向上的思考
我先讲一下我们在数据库内核上的思考。首先我很尊敬做国产数据库的厂商,凡是在内核上改进的人都知道,其实每个功能都是要一行行代码写出来都是非常不容易的,我想表达对国产数据库厂商包括这些技术人的尊敬。今天我要讲的内容是我第一次在国内的会议上来讲,首先我会讲一下AliSQL X-Cluster。X-Cluster是在AliSQL上做的一个三节点集群,这是我们在引入了Paxos一致性协议,保证MySQL变成一个集群,并且这个集群具有数据强一致、面向异地部署,且能够容忍网络高延迟等一系列特性。
4
今天很多数据库都会和Paxos联系在一起,比如大家都知道的Google的Spanser数据库,但是以前大家没有特别想过数据库和Paxos会有什么关系,其实以前确实没有什么关系的,但是今天的数据库在几个地方是需要用到Paxos协议的,第一个我们需要用Paxos来选举,尤其在高可用的场景下需要唯一地选举出一个节点作为主节点,这就需要用到Paxos;第二是用Paxos协议来保证数据库在没有共享存储的前提下数据的强一致,就是数据怎么样在多个节点间保证是强一致,且保证高可用。
所以说现在的数据库架构设计上Paxos的应用非常广泛,今天外面很多展商包括Goolge Spanser也都在用Paxos协议和数据库结合在一起来做。所以AliSQL的三节点集群也是一样,就是利用Paxos协议变成一个数据强一致的集群。下面我大概解释一下Paxos协议在数据库里的作用是什么。
原文链接: http://click.aliyun.com/m/22678/