以下内容根据访谈视频整理而成。
阿里云数据库产品特性介绍
云数据库产品在阿里云集团里做了很多额外的工作和专研。在安全线上云数据库达到了很高的安全要求,引入了更多的硬件,在架构上、在代码层都做了很多的优化。相对于传统数据出来说,云数据库在稳定性和高可用上面达到了较高的技术上的提升。阿里云产品都有一个通用特性就是应用可以快速实现自动化,实现对实例级别的管理、监控,对程序的迁移。阿里云云数据库团队不仅在业界上是顶级的专家团队,在专业上也是属于国内顶级的水平,阿里云数据库为用户在云上的业务做保驾护航的工作。
首先云数据库得保障安全用户把数据放到云上能安全放心。第二点就是稳定性,阿里云的服务得保证稳定性,无论是小到一个网卡的故障,大到一个机房的故障都能保证数据库的稳定性要求。第三点是用户的可用性。用户只需要在控制台上点击鼠标,就可以完成以前需要几个人甚至是一个团队在几十个小时或几天才能完成的事情。最后一个是我们在link级代码资源方面做了很多的优化。我们也有非常顶尖的专家团队为用户保驾护航、提供代码层面的咨询服务。
阿里云数据库在稳定性方面的应用
我们都知道在前段时间因为某一个云厂商出现了稳定性问题,非常多的用户受到了影响。很多程序员,技术人员第二天上班后发现没法上班了。所以云数据库产品的稳定性和可靠性是非常重要的。阿里云上云数据库相关产品不管是MySQL、Redis、Mongo对可靠性和稳定性做了一些底层的后台优化和相关措施。
我想依据产品的一些形态上,在稳定性方面做一些介绍。大家在官网买Redis这样的产品的时候,有一个基础版产品形态可供选择。基础版也叫单机实例版,也就是只有一个实例,但是它的性价比很高。基础版的稳定性如何呢?实际上基础版的数据并不是单机的,而是保存在云数据库底层的稳定系统上面。它的每份数据有三份备份安全保障,所以数据安全上能达到了九个九的可抗性量级。在主机出现挂机的情况下,云数据库上的数据是绝对可靠的。而在迁移到另外一个机器上去启动的时候,只需要做一个实例的启动就可以了,类似于实例的计算、存储和分离。基础版的核心数据库版本是构建在阿里云的分布式文件系统上的,我们的Redis5.7稳定版包括现在的SQL Server2012和2016都提供基础版。
另外一个版本叫高可用版,也叫双机高可用版。顾名思义,这个版本的每个数据库实例的背后都有一个总库,还有一个额外备库。阿里云数据库团队自研了一个高可用保障的管控核心系统.,这个系统是阿里云针对各种容灾场景的检验,总结多年经验设计出来的。当出现主库的磁盘坏了,网络不通了等异常情况时,有一套智能的算法来决定主备库是否需要做切换,这都是默认在备库自动帮客户识别出来的。现在MySQL5.6、SQL Server2008,Redis、PPAS这些都提供了双机容灾服务。而且在云上面是跨可用区的,意味着可以跨机房容灾,就算某一个机房出现了问题,也可以利用管控系统将数据切到另外一个机房上去。这样,可靠性得到了非常大的提高,满足了大部分的安全性需求。
在一些尖端领域比如金融领域的稳定性要求很高,基于此阿里云在官网上已经推出了金融版MySQL。MongoDB版本质上也是是金融版,因为它本质上实现了三个节点,三个节点之间数据要求有一些强制的配置。数据在写到主库上的时候,在两个备库也是一定有的,这样才会反馈给客户。这个跟普通的主备份不太一样,它的稳定性要求能满足更高的需求。MySQL金融版可以实现三个备库的可用性的,满足于金融行业安全性的要求。最厉害的地方是另外两个数据库不仅仅可以做备份,还可以把它们利用起来做别的服务。MongoDB、MySQL以及POLARDB都提供类似金融版的强悍能力。
阿里云数据库在可靠性方面的应用
我们都知道解决可靠性问题都是通过容灾,一个备件出了问题就用另一个备件的数据。更高级别的稳定性和安全性就是跨全域和跨终级的的这样的容灾能力,提供更高起的可靠性、安全服务。阿里云数据库也提供了这样的能力。通过专线把数据复制到另外一个城市或者大洲,目前的技术能达到在300km到1000km之内日志本身的数据传输的延时不会超过1秒的级别,这就叫做异地级别容灾。所以阿里云在稳定性和可靠性方面涵盖了所有的场景,在产品形态上对每一种需求都做了相应的分级工作。当然,可靠性做的越高,它的成本也越高。所以基础版的性价比是最高的,异地容灾的费用相对来说较高,但稳定性和安全性做到了极致。
从单副本单节电到跨大洲做容灾级带的,不仅可以解决交换机故障、机房故障甚至地域故障都能保证性能的可靠性。刚刚提到的所有数据库产品,阿里云有丰富的产品形态,供客户选择。Redis也提供了很丰富的产品类型,小到单实例、大到非常庞大的变发能力,都可以满足用户。如果你有非常大的变发能力、非常大的读写量,可以一键扩容。读写能力可以随着扩容线性增长。总而言之,阿里云数据库不仅有非常丰富的产品形态、非常好的可靠性、保证用户可以放心的解决业务层面的问题,底层的数据不需要关心,交给阿里云就行了。
阿里云数据库在数据安全性方面的应用
很多用户非常关心的另外一个问题就是安全问题。数据存放在阿里云上不能丢失不能泄露这两个关于安全线的问题。在阿里云上的数据库产品,也做了非常多的安全性相关措施。做了很多的保障。用户可以放心的使用,没有人可以访问到。阿里云Redis团队提供了用户的密码、加密等多重安全技术保障数据的安全性,保证数据不会被泄露。
阿里云数据库产品有哪些安全性可以保障?整个阿里云产品体系都对安全上做了很多的工作。七成以上用户自己建的数据库都存在一些安全问题。比如说密码、防火墙、等安全性问题。云数据库需要把这些安全问题全都解决。对安全问题,阿里云数据库可以说是追求到了极致。从产品角度来看这个问题,我们会把安全划分成三个阶段。事前、事中、事后。什么意思呢?就是在数据库正式投入之前,我们就需要在安全上做哪些常规的设置。在使用过程中有哪些安全保障?比如真的突发事件到来,突发事故后要有办法能够把它追踪出来是谁造成了这起事故。分别介绍一下,事前保护,很多核心数据库产品如MySQL,SQL server都开始进入用户的专用网络保护区。专用网络在底层网络协议层上就已经保证数据不会被在网络之外的用户访问。这是关于底层协议的问题,用户是看不到的,完全透明的,这也是阿里云数据库系统架构上的支持。在保护在云数据库上我们做了高访问安全的访问链路控制,做到七层安全保护。传统的像防御破解这样的事就更不必多说了。以上就是在数据库开始投入之前,就需要解决的一些问题。
在数据库投入是当中第一个就是链接通道的问题。一个请求到数据库上来,中间被劫持怎么办?阿里云数据库主要核心产品都提供了SLS加密机制。这样在就做到了在事中链接通道上的一个保护。还有我们在数据本身,阿里云数据库系统也支持TDE的加密。这两个方面,用户可以在自己的控制台设置。除此之外,对于类似拦截CC攻击等,我们没有让用户在控制台自己设置,这个属于常规类安全保护。
阿里云在数据库里面做的很全面的一个方式就是事后神技功能。因为无论防护做的多么全面到位,也总有遗漏的地方。阿里云数据库产品都开通了事后神技功能。这个事后神技功能不单单记录写,读也是记录的,这个用户可以自主开通。每一条数据的读都可以记录,可以告诉客户是谁访问了什么内容。我们不单单做了记录的工作,在底层的link层面也做了很多的优化工作。阿里云数据库在追求极致安全的同时还保证效率的最大化,这点是非常具有挑战性的,本质上来看,这个对实例的印象是低于两个安全性和可靠性这两点的。
还有一种安全,不是普通的攻击和破坏性安全,可能是失误性安全。比如公司员工原意是删一个数据表,因为操作的失误,删了另外一个表,这是可能发生的而且是不可避免的,只要有人为的参与,就有可能发生类似的事件。阿里云数据库能保证在这种意外、不可避免的事发生后,也能通过某种机制解决问题,将客户的损失降到最低。这种情况,阿里云数据库提供了恢复到任意时间点的一个机制,不仅是传统的备份恢复,而且把它作为一个客户实例产品化。这样客户可以简单的通过鼠标操作把数据恢复到某一个时间点上。对系统来,操作是人为触发,被系统认为是正确安全的可执行操作。因为阿里云又这么多的线上用户,如果因为用户的各种原因造成数据的丢失等问题,使用阿里云数据库,用户也是可以通过简单操作将数据恢复到事故发生前的任意时间点的。
举个真实的例子,一个游戏公司发现自己的内部用户数据。在过去,总会被竞争对手提前掌握。对游戏公司来说用户数据是一个非常核心的价值数据。后来才用Redis事后神技功能查出来是人为造成的信息泄露,发现是内部员工透露出来的数据。这个从技术层面是防不到的,阿里云数据库在事后神技功能加上后,安全层面基本是涵盖全了。各个层次的安全问题我们都有相应的应对措施。
阿里云数据库技术团队优势
阿里云数据库有很多是自研的,也有很多是基于开源的。随着时间的推移有些社区新发现了一些漏洞或BUG,导致可能出现安全隐患。因为我们顶级的数据库专家团队有针对代码层面的各种优化。所有的代码细节都是非常精通、非常深入研究的。如果社区发现了新的BUG或漏洞,我们基本上可以在第一时间来修复这个漏洞。这个就涉及到了另外一个问题就是我们技术专家团队对很多内核层面比如代码,做了很多优化改进等工作。阿里云数据库团队对代码足够精通,了解足够深入,可以直接受惠于用户,比如在代码层面的技术咨询、业务有哪些技术难点或瓶颈,阿里云都可以给他提供从下到上各个层次的咨询服务,这也是阿里云的优势之一。
阿里云数据库团队的技术人员对技术的极致追求是不一样的。包括今年的一些非开源数据库,比如出现的windows的一些问题。阿里云的技术专家很快就和window官方进行沟通,快速解决这个问题。可能有些问题和bug是阿里云推动他们解决的。阿里云专家在技术上对社区的贡献。包括代码层的贡献,大家在云栖大会上都已经看到了。有很多开源的作者在运气大会期间亲自过来与阿里云专家一起交流。Redis产品是基于开源搭建的一个产品,当然有非常多的东西是阿里云自己开发的。我们甚至可以和Redis的开源作者一起来交流,一起讨论技术细节。这个是国内甚至整个全球的厂商都很难做到的,这是非常大的竞争优势之一。
这个层面的一些技术交流为我们提供了很多想法。阿里云数据库有很多独有的功能,与开源的作者和业界技术大牛的沟通是有很大关系的。这也的阿里云技术团队技术开创和引的工作作风有很大的关系。
阿里云不仅把自己的技术分享给大家,还自己创建开源社区。大家可以关注我们的开源社区关注我们的技术发展。我们的产品形态也非常丰富,我们的安全机制有不同层次、不同方面的机制致供大家选择。当可选择类型足够复杂以后,用户怎么去使用、怎么去选择,也是一个非常大的挑战。有很多安全机制,用户怎么来选择。比如用户在双11的时候业务流量上涨,希望能扩容到一定的倍数,他需要怎么操作?用户的使用门槛,数据库产品的易用性,阿里云也做的也很多的工作,这是云栖上本身的优势。云数据库拥有弹性升级的优势。阿里云数据库一大特点就是能在线的升级,用户完全透明。这与资源的弹性势资源是不一样的。相对于传统来说,弹性升级使用户的工作量和效率工作量大大减少,效力得到了极大的提升。
数据的搬迁、挪移、升级对用户的影响方面,阿里云也做了很多的工作。在双11,很多公司都有自己的大促活动。这时客户业务流量可能是平时的几十倍或有更高的流量,云数据库可以在活动之前升级在活动结束后降级。有时候单个机器的资源是有限的,能力也是有上限的。这时云数据库提供了一只读实例,做到读写分离操作。只要购买了只读实例,客户就可以简单的在云数据上做配置,这样可以分担数据压力,做到置承担原来的几十倍或者上百倍数据力。如果在云上资源仍然不够,这就会涉及应用程序的更新、升级。实际上解决写的问题本质上就是拆分,解决读等问题本质上就是加各种缓存。这也是阿里云的产品形态之一,再次证明了阿里云产品形态的丰富,可以覆盖各种各样的场景。
阿里云数据库在数据热点技术的应用
热点数据技术比较多的可能用Memcache,Redis做缓存。阿里云数据库本身也提供了热点数据的功能。访问Redis,Redis里面还有更热的数据,我们可以提供利用同样的数据库,提到更高的访问能力。阿里云数据库涉及了很多技术细节。只要你有需求,阿里云官网有非常多的数据库产品,每个云数据库产品都提供了非常多的形态,提供了非常多的技术细节,都可以满足客户的需求。
阿里云数据库双十一优惠活动
阿里云数据库在双11也有很多优惠活动。第一是数据库产品,包括MySQL,SQL Server,PPAS,Redis,MongoDB,只要新购买,可以享受限量一台一年内五折优惠。如果是续费,不限台数,一年八折。对于前段时间重磅发布的POLARDB由于还在公测阶段,第一波公测活动已经结束了,很快会有第二波公测,公测是不需要费用的。POLARDB版本是接入MySQL里的,不需要数据的迁移。但性能是MySQL的六倍,最重要的是他的业务数据量可以达到上百TB量级,而且最大可以扩容到15个指数级别,这是POLARDB的一大特性。POLARDB也是阿里云数据库集合了多年的技术,对代码、数据库的管理、应用经验的集合的一个产品。在内部的反响非常好,解决了很多核心业务的问题。POLARDB现在还在公测阶段,大家可以多多关注这方面信息,申请公测,用户也不需要担心各种兼容性。
双11第一波,红包领不停,点击看详情:https://promotion.aliyun.com/ntms/act/pre20171111.html