阿里妹导读:本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念,另外结合阿里云RDS产品的发展路径,阐述了自主研发的新一代云托管关系型数据库PolarDB的产品整体设计思想,对一些关键技术点进行了解读。
关系型数据库谈到关系型数据库,在这个知识日新月异的TMT时代,听起来有些“古董”,这个起源于半个世纪以前的IT技术,事实上一直处于现代社会科技的核心,支撑着当今世界绝大多数的商业科技文明。CPU、操作系统、数据库这三大核心领域,基本上就是IT时代的缩影,同时也是一切信息化处理、计算力和智能化的基石。
从年E.F.Codd发表了一篇里程碑论文“ARelationalModelofDataforLargeSharedDataBanks”,到80年代初期支持SQL的商用关系型数据库DB2,Oracle的面市,以及90年代初SQL-Server的诞生,都是关系型数据库成功的代表。
时至今日,随着全球互联网的发展,大数据技术的广泛应用,涌现出越来越多的新型数据库,然而关系型数据库仍然占据主导地位。最主要的原因之一就是关系型数据库采用了SQL标准,这种高级的非过程化编程接口语言,将计算机科学和易于人类理解认知的数据管理方式完美的衔接在了一起,目前还难以超越。
SQL语言SQL(StructuredQueryLanguage)语言是年由Boyce和Chamberlin提出的一种介于关系代数与关系演算之间的结构化查询语言,其本质是用一种类似于自然语言的关键字和语法来定义和操作数据,进行可编程的数据存储、查询以及管理。
这种抽象编程接口,将具体的数据问题与数据的存放、查询实现的细节解耦开来,使得商业业务逻辑以及信息管理的计算模式能够被大量复制和应用,解放了生产力,也极大的促进了商业化关系型数据库自身的发展。
从SQL后来不断发展和丰富来看,SQL已经成为关系型数据库语言的标准和王者。到今天这种编程语言还没有更加完美的替代品。
OLTP年,JimGray发表了名为"GranularityofLocksandDegreesofConsistencyinaSharedDataBase"的论文,正式定义了数据库事务的概念和数据一致性的机制。而OLTP是关系型数据库涉及事务处理的典型应用,主要是基本的、日常的事务处理,例如银行交易。
事务处理需要遵循ACID四个要素来保证数据的正确性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。而衡量OLTP处理能力的性能指标主要有响应时间、吞吐率等。
开源数据库生态在我们简要的回顾了关系型数据库的历史、地位和发展阶段后,我们不难看到Oracle、SQL-Server、DB2等关系型数据库仍然占据着全球商业数据库的主导地位,虽然曾经耳熟能详的Informix、Sybase已经淡出大众的视线。
然而,从20世纪90年代开始,另一股推崇知识分享、自由开放的软件精神成为趋势和潮流,尤其以Linux、MySQL、PostgreSQL等为代表的开源软件,开始以强大的生命力不断发展壮大,释放出巨大的社会进步力量,这些被自由分享的科技红利,孕育和促进了全球互联网高科技公司的飞速发展。
这是整个人类社会的进步,我们要感谢那些开源软件的斗士们,RichardStallman,LinusTorvalds,MichaelWidenius等。当然,最近几年国内涌现出越来越多积极参与到开源主流社区的中国公司,也在不断地将技术分享回馈给开源世界。
根据DB-engines网站的最新统计,不难发现,当把开源数据库MySQL和PostgreSQL加在一起,开源数据库就已经超越了商业数据库Oracle,成为世界上最流行的关系型数据库。
云计算当前的阶段如果说关系型数据库是IT时代的产物。那么在互联网时代的云计算,关系型数据库目前正处于一个什么阶段呢?IT时代从某种程度上讲,更多是创造了计算力,那么进入互联网时代的云计算,则是专注于用户和计算力的连接,提供无处不在的计算力,这个其实是云计算商业模式的成功所在,可以称之为1.0版本。而云计算2.0版本,需要在云环境下,重新进化和升级计算力,这种进化体现了社会计算力的整合以及计算资源能效的进步。
为了顺应绿色计算以及共享经济的发展潮流,不仅仅需要云服务器,云数据库,网络互联,硬件芯片等等各个软硬件系统领域的融合以及演进升级,还需要坚持科技以需求为本、服务以用户为根的科技普惠大众的理念来进一步促进计算效率和计算智能的提高。
我们正处在一个蓬勃发展的云计算2.0阶段。在这个阶段,关系型数据库在云托管环境逐渐暴露出一些问题,作为在云计算时代的先行者,Amazon于年11月12日的AWSre:Invent大会,发布Aurora云托管关系型数据库就是为了解决这些问题。这个新一代的数据库的发布,也昭示着云计算时代,传统的IT技术核心产品将揭开自我进化的序幕。
而年SIGMOD数据大会,Amazon发布了论文”AmazonAurora:DesignConsiderationsforHighThroughputCloudNativeRelationalDatabases”,更加开放的解释了基于云环境的Cloud-Native设计的关系型数据库是如何应孕而生的。
为什么阿里云研发PolarDB?在我们回顾了关系型数据库以及云计算的背景之后,我们不难发现,云计算1.0虽然解决了用户和计算的连接的问题,但是还需要进一步解决在一个共享计算的环境下,传统关系型数据库和公有云服务环境的融合问题。
云计算1.0用低廉的成本,灵活快速的部署、弹性和扩展能力,获得了传统IT计算上云的转换动力。在低成本享受普惠科技成为常态之后,随着用户业务的增长,用户新的痛点开始出现,例如,如何从根本上解决用持续低的成本,享受和传统IT计算力一样,甚至更好的云服务,成为迫切需要。
这初看起来像伪命题,仔细分析之后,却淋漓尽致的体现了螺旋式上升的哲学思想。就好像在PC服务器涌现的时代,PC服务器首先用低廉的价格提供了和小型服务器接近的计算能力,然后在保持成本和性价比优势的基础上,实现了超越小型服务器的性能优势,直至终结了小型服务器时代,开始了PC服务器时代。
所以说云计算时代还远远没有到达鼎盛时期,除非它通过自身进化演变,在不断保持性价比优势的同时,在具有快速灵活弹性的内在属性基础上,拥有超过传统IT计算力的能力之后,云计算才会真正进入它所主宰的时代,这只是个时间问题。
也就是说今天不只是阿里云要做这样一款关系型数据库,而是所有的云计算厂商都不可避免的要经历这样一个阶段。那就是云计算时代传统IT计算力的重建和进化!只不过Amazon走在了最前面,而阿里云紧跟其后,都需要经历这进化到蜕变的过程。
在这个过程中,新一代关系型数据库是关键的里程碑之一。同理,接下来应该有更多更加高级的云服务,比如智能云操作系统出现,来融合为云时代设计的硬件芯片和网络互联等等。
在IT时代,传统的计算力(例如用关系型数据库来处理结构化数据等)是服务于系统硬件隔离环境下的多用户使用场景的。而云计算时代是多客户Self-Service租用环境,各种计算负载场景更加复杂,在这种计算负载变迁的环境下,如何解决IT时代的技术产物和云计算时代应用环境的适配矛盾,正是云计算自我进化的内在推动力。
例如,在公有云环境下,随着用户的增多,以及用户业务和数据的增长,备份、性能、迁移、升级、只读实例、磁盘容量、Binlog延迟等相关问题渐渐显现出来。这背后大部分原因是由于I/O瓶颈(存储和网络)导致,亟须通过技术革新以及新的产品架构解决这个问题。另一方面,从产品形态来讲,阿里云RDS目前的产品形态各具优势,在下一节会详细介绍。
但是从产品架构的发展来看,除去数据库存储引擎的类型之外,对于关系型数据库,考虑到工程效率以及运维成本,最好有一种通用的产品技术架构能兼顾不同用户场景的需求,而不是针对每一个场景都实现一种对应的技术架构。
在接下来的内容,通过讲述阿里云RDS的不同产品形态的特点,我们会更加清晰的了解到,PolarDB的产品形态正是在吸收了之前几种产品形态的优点而孕育而生的。
PolarDB的设计思想用户需求和公有云自身发展的选择作为云托管的关系型数据,除了关系型数据库的核心特征之外。PoalrDB更多的北京白癜风最好的专科医院中科白癜风公认好口碑医院