以下是视频内容精华整理。
一、数据库概述
(一)数据库发展简史
数据库的发展与计算机的发展密不可分。如下图所示,从上世纪五十年代大型机开始应用到现在,计算机的发展已经有近百年的历史,在这个发展历程中,数据库也随之发展,从最早应用于大型机的层次数据库和网状数据库,到现在如火如荼的云数据库。随着计算机和数据库技术的快速发展,其应用场景也越来越广泛,时至今日,新媒体、移动APP、云计算等等,几乎各行各业都离不开数据库。
(二)数据库分类
实际上数据库远远不止上图提到的几种,它是一个非常庞大的产业。据DB-Engines统计的,截止到2020年5月,有357种数据库被收录,这仅仅是公开的数据库,如果算上很多企业内部自研、未公开的,保守估计现在至少有1000种数据库。
从数据模型来讲,数据库总体上可以分为关系型和NoSQL类型的,其中大概四分之三的数据库为关系型数据库,其余为NoSQL类型的数据库。另外从商业和开源角度来看,最早是商业数据库占据多数,开源数据库占一小部分,但是随着互联网技术的发展,开源数据库不断发展,目前来说商业数据库和开源数据库基本平分天下。
如下图,用一个四象限图来对数据库进行分类,总体上包括OLTP、OLAP、NoSQL和Big Data四种类型。其中各个数据库的主要应用场景以及典型数据库如下:
OLTP:主要用于在线事务处理,比如淘宝交易、银行账务处理等,典型代表如MySQL;
OLAP:主要用于数据分析和数据仓库领域,典型代表如terdata;
NoSQL:主要用于存储用户信息等场景,典型代表如Redis、MongoDB等;
BigData:主要用于大数据场景,典型代表如hadoop等;
当然,分类都不是绝对的,各个数据库的应用场景也不唯一,比如ORACLE在OLAP、OLTP领域都用的比较多。具体来说,要根据业务场景和预算等因素来综合选择最适合的数据库。
(三)数据库市场前景
当今,MySQL、Oracle和SQL Server是最流行的三大数据库。MySQL在互联网领域用的非常多,Oracle在企业中用的比较多,但是现在也有一部分Oracle的用户流向MySQL和PosgreSQL,SQL Server也有一部分用户流向MySQL。总的来说,当前数据库市场的竞争是非常激烈的,可以说是群雄逐鹿。
2018年,全球数据库市场大概是在461亿美金,而2018年中国数据库市场份额前三的厂商分别是Oracle、阿里云、Microsoft,分别占据了5.79亿美金、4.61亿美金、4.13亿美金的市场份额。然而,从云计算的角度来看,2019年中国公共云数据库市场份额阿里云可以说是一家独大,占据了约61%的市场份额,其他厂商一共瓜分了剩余39%的市场份额。可以说,未来数据库的市场会越来越大,竞争越来越激烈。
为什么这么多厂商都要做数据库呢?从专业的领域来看,数据库在当前的商业领域中是比较关键的一环;另外,值得肯定的是,未来的应用都是智能化的应用,数据库是其中至关重要的一环,
数据生产、数据存储、数据消费都是依赖数据库的,只有数据库这一环做好了,上层的应用才能真正做到智能化。因此,当前包括阿里巴巴、华为、腾讯等厂商都在数据库领域投入了大量的人力、物力、财力,就是为了在将来能够掌握关键技术,做好上层智能化应用。
二、阿里巴巴数据库发展历程
阿里巴巴数据库发展主要包括如下图所示的四个阶段,从最初建设了亚洲最强大的Oracle集群,发展到现在已经拥有多种自建的、性能优秀的数据库,并且在云数据库领域大放光彩。
这里不得不提到Gartner关于云数据库的分析报告,如下图所示,其在2019年的报告中提出,云数据库快速发展,预计到2022年75%的数据库都在云上。
三、传统数据库面临的挑战
云数据库高速发展,那么传统自建数据库面临的挑战有哪些呢?自建数据库主要分为自建商业数据库和自建开源数据库,他们面临的挑战也不一样。总的来说,自建商业数据库比如IBM DB2、Oracle、SQL Server,面临的挑战主要有如下:
软件价格高;
运维压力大;
集中式设计,扩展性差;
技术体系封闭,对新数据模型支持弱。
很多企业也会自建开源数据库,比如MySQL、PosgreSQL、Redis等,这些数据库目前面临的主要挑战有:
运维压力大;
缺少商业服务保障;
可靠性、安全性难保障。
四、云数据库
(一)云数据库特性
云数据库已经成为商业活动中的必需品,那么什么是云数据库呢?总结起来,云数据库应该有如下6大特性:
开箱即用:购买后无需安装即可使用;
自动运维:最大程度的自动化运维,如高可用保障、自动恢复等;
弹性扩展:能够适应业务的发展,进行弹性扩展;
兼容生态:开放、友好,能够适应商业生态,使得应用平滑的迁移上云;
服务保障:有着服务保障的承诺,比如服务质量、可用性等等;
更安全:无论是数据传输加密、访问权限控制等等,都要有相应的安全保障体系。
(二)阿里云数据库
下图是阿里云数据库的整体架构。可以看出,阿里云数据库支持非常多的类型,比如MySQL、SQL Server等等,还有很多自研的产品,比如PolarDB、ADB等。阿里云数据(DBaaS)的架构包括基础资源管理层、平台功能层、用户接入层,其中基础资源管理层包括物理机、虚拟机、存储、虚拟网络等,平台功能层为用户提供了实例配置、诊断优化、弹性升降级等众多功能,用户接入层包括在线购买、控制台、数据迁移和Open API等面向用户的功能。基于上面的三层架构,阿里云还提供了帐号、计费、可用区管理等云公共服务。
如今阿里云数据库已经有超过10万的客户,超过四十万的实例,可以说是中国最强的数据库研发团队。阿里云数据库提供了最丰富的数据库选型,包括MySQL8.0、SQL Server2019、Redis6.0、MongoDB4.2等,并且100%兼容生态,客户业务无需修改,可以直接迁移到阿里云,而且所有的内核都是经过了双十一高并发与稳定性考验。总得来说,阿里云数据库有如下特性:
1.开箱即用
1分钟创建实例
自动参数调优配置
内置监控告警
一键数据迁移
2.更快
内核优化
参数优化
性能至少提升30%
快速弹性扩展
3.更稳
可用性SLA:99.99%(业界第一)
稳定硬件选型与压测
管理了数十万实例的HA系统
快速内核bug修复
4.更安全
内置备份恢复,避免删库跑路,可以恢复到一周内任意时间点
有回收站功能,避免误操作
SQL操作审计
传送与存储加密:TDE、SSL
通过了PCI/DSS/ISO/SOC等保安全认证
虽然当前已经有很多用户在使用我们的云数据库,但是也有一些企业出于某些方面的考虑在使用自建数据库,比如管理灵活等。基础此,阿里云最近发布了一款云产品:云数据库专属集群,如下图所示,其将云数据库和自建数据库的优势进行结合。它支持现有RDS所有功能,可以做到安全隔离、自动可控,支持的数据源多,有着极高的性价比。
(三)阿里云新一代云原生数据库体系
下图是阿里云面向云计算设计的新一代云原生数据库产品体系。其中包括工具类产品,比如数据传输DTS、数据管理DMS和数据库备份DBS,这些工具类产品均不需要安装,全部是开箱即用,与云原生数据库打通,更加安全、高效;还有云原生数据库产品,比如PolarDB、AnalyticDB等等,既有面向OLTP场景的产品,也有面向OLAP场景的产品以及其他应用场景的产品;除以上外,还有一个自动运维的产品——数据库自治服务(DAS),就像自动驾驶一样,如果将数据库放在阿里云上,阿里云可以进行自动的诊断优化、弹性扩展等,DAS也是未来数据库发展的重要方向。
以下是阿里云数据库几种典型产品的简介。
(1)PolarDB
PolarDB可以算是云原生数据库的领导者,用户广泛,且国内外众多的厂商也在学习其内在技术,是阿里云增长最快的数据库,其主要特性以及基本架构如下图所示。值得一提的是,在这次新冠疫情中, Polar也贡献了自己的一份力量,如猿辅导、好未来等在线教育机构使用PolarDB为广大用户提供优质的在线教育,心动网络、elex等厂商基础PolarDB为大众提供游戏服务,保障了大家疫情期间的学习和娱乐。
PolarDB还有一个版本是Oracle兼容版,下图是阿里云为用户提供的Oracle迁移标准解决方案,主要是基于PolarDB+ADAM+DTS的方案,该方案的兼容性非常高,可以说是业界兼容度最高的产品了,使用DTS不需要停机就可以在线将数据库由Oracle迁移到PolarDB-O上,迁移成本大大下降;目前PolarDB-O虽然还不能达到Oracle相同的性能,但是在测试中也能达到Oracle70%的性能,性价比很高;另外PolarDB-O拥有云原生特性以及国产化认证,相信未来会有更广泛的应用。
PolarDB-O提供了业界最佳的Oracle兼容性,比如客户端兼容、SQL兼容以及其他的重大特性兼容,大家可以到网站上查阅相关文档进行详细了解。
(2)PolarDB-X
PolarDB-X是PolarDB的分布式版本,它不是一个中间件的架构,而是一个一体化的分布式架构,增加了很多分布式的专用组件,并且能够自动的进行分布式扩展,其架构以及主要特性如下图所示。目前,PolarDB-X在互联网行业和政企、金融业有着广泛的应用,对于比较大的业务场景来说,PolarDB-X是非常适合的产品。
(3)ADB
云原生数据库ADB是数据仓库中非常专业的解决方案,在弹性扩展上非常强,可以从1个节点扩展到5000个节点;在QPS上,从1到百万级的都支持,OPS从1到千万级都可以支持。ADB的理念是“会使用数据库就会使用大数据”,因为大数据相对来说还是比较复杂的,而ADB是一个数据仓库的理念,兼容MySQL和PG两种协议,上手比较简单。ADB融合了传统的数据仓库、云计算、大数据等技术,可以认为是新一代的云原生数据仓库。ADB性能优秀,性价比高,目前在很多行业已经有了大范围的应用,比如国家电网、EMS、天弘基金等等。其架构与主要特性如下图所示。
(4)DLA
DLA是云原生数据湖解决方案,因为数据往往分散在很多地方,比如关系型数据库、数据仓库、大数据、文件存储OSS中等等,数据湖可以把分布在不同地方的数据库联合起来,使得用户可以进行数据的联合分析。DLA支持的数据源非常多,是一个Serverless服务,在各个领域应用广泛,比如明日方舟、友盟等,其基本架构以及特性如下图所示。
(5)DTS
从传统数据库到云数据库,数据传输云服务DTS是非常重要的一个产品,它能够提供数据迁移、数据同步、数据订阅的服务,可以称为“数据高速公路”,其架构见下图。DTS在阿里云上也是应用非常广泛的一款产品,服务了至少几十万的用户,帮助其完成数据库的上云工作。
五、总结
下图是阿里云数据库服务的产品大图。从中可以看出,无论是(阿里云)云外数据库,还是传统自建数据库,都可以通过DTS服务迁移到阿里云上,然后根据业务的具体情况,从阿里云提供的众多数据库中选择最合适的;最上层有面向开发者的数据管理DMS工具,可以将其与数据库打通,进行相关业务的开发,并且提供了相应的企业版,帮助企业用户进行数据库的研发和管理;下层还有数据库自治服务DAS,提供了数据库的智能优化、异常修复、安全保护等服务。
从传统自建数据库到云数据库迁移的过程中,不同的数据库,有着不同的解决方案,而且没有绝对统一的方案,要依据业务和当前数据库建设方案来选择最适合的迁移方案,下图是几种推荐的方案。
毫无疑问,如今阿里云数据库已经成为中国云数据库的领导者,也是全球数据库领域的佼佼者,在亚太和全球数据库市场占据了不小的份额,有着丰富的云数据库产品服务以及PolarDB和AnalyticDB两大自研产品。另外,阿里云数据库与达摩院建立了深厚的合作基础,不断的进行前沿探索,比如安全数据库、自动驾驶数据库等等。总的来说,阿里云数据库更快、更稳、更安全,为阿里巴巴内部以及其他企业提供了优秀的数据库服务,希望未来能够帮助更多的企业快速发展。
关键词:数据库、阿里巴巴、云数据库、数据库迁移、PolarDB、ADB