作者 | 万佳
自上世纪 70 年代以来,关系型数据库进入历史舞台,成为数据库行业的配角。尔后,这个行业步入一个黄金时代,某数据库专家曾撰文写道,“很长一段时间,关系型数据库简直是包打天下的抉择。你很可能用一套数据库玩转所有业务,你也不须要一个连的工程师来保护它”。
“老而弥坚”的关系型数据库
对数据库行业来说,互联网的呈现却带来巨大变化:数据量急剧增大、数据类型更加简单、数据处理速度需要一直进步,大数据时代全面到来。
因而,面向非结构化数据的 NoSQL 数据库衰亡,呈现了文档数据库、时序数据库、图数据库、搜寻数据库等。
一时间,NoSQL 数据库景色有限,失去不少企业青眼。大家巴不得把所有零碎都用 NoSQL 革新。
NoSQL 之所以受欢迎,次要是解决了关系型数据库中的各种问题。第一大问题是数据的 Schema 十分多,用关系型数据库来示意不同的 Schema 十分蠢笨,所以须要有不同的数据库,比方文档型、时序型、搜寻型等。另一大问题是关系型数据库的 ACID 极大影响了数据库的性能和扩展性,因而 NoSQL 做出斗争来解决大规模伸缩的问题。
随着挪动互联网的倒退,大数据技术的广泛应用,涌现出越来越多的新型数据库,然而关系型数据库仍然占据主导地位。为什么它能经久不衰?次要起因之一是 关系型数据库采纳了 SQL 规范,这种高级的非过程化编程接口语言,将计算机科学和易于人类了解认知的数据管理形式完满的连接在一起,目前还难以超过。
云时代:关系型数据库的“进化”
云计算的呈现和倒退,让越来越多的企业开始将数据库部署在云上。通过云服务模式提供数据库性能的云数据库应运而生。据悉,云数据库不仅缩小了数据库参数的反复配置,而且具备疾速部署、高扩展性、高可用性、可迁移性和易运维性以及资源隔离等特点。
尤其是基于容器化、微服务、Serverless 等理念设计的 具备弹性伸缩与寰球部署能力的云原生数据库,能随时随地从多前端拜访,提供云服务的计算节点,并且能够灵便及时调动资源进行扩缩容,助力企业降本增效,成为行业倒退新趋势。
能够说,数据库在云时代迎来改革。一方面,此时的数据库向内存和分布式方向演进和倒退,甚至 RDBMS 自身都受到 NoSQL 的挑战;另一方面,在云托管环境下,关系型数据库逐步暴露出一些问题。
此时,为适应变动,关系型数据库须要变革和自我进化。而开路者就是间断 11 年被 Gartner 评为“寰球云计算领导者”的亚马逊云科技(Amazon Web Services)。
亚马逊云科技在 2014 年推出关系型数据库 Amazon Aurora。它兼容 MySQL 和 PostgreSQL,采纳共享存储和读写拆散的形式,不仅晋升了数据库性能,而且解决了可扩展性问题,让传统互联网公司能够无缝迁徙到云上,这让它成为云计算时代的一个代表。
凭借既有传统商业数据库的高性能和可用性,以及具备开源数据库的简略性和老本效益,Amazon Aurora 成为亚马逊云科技历史上用户数量增速最快的云服务,且跻身最受初创公司青眼的八项亚马逊云科技寰球服务。
为什么它能受到诸多企业青眼?这离不开 Amazon Aurora 弱小的性能和先进的架构设计。
性能上,Amazon Aurora 与开源引擎齐全兼容,可取得 5 倍 于规范 MySQL 以及 3 倍 于规范 PostgreSQL 的吞吐量,反对 并行查问可减速 OLAP 业务 。其次,高可用方面,它能实现可用区(AZ)+1 的高可用,Global Database 能够实现 跨区容灾备份 。第三,在扩展性方面,它反对 15 个只读正本主动扩大,每个数据库实例可主动扩大到 128 TB。最初,老本上,它提供商用级数据库性能的同时, 老本仅为其十分之一,存储无需预置按用量付费。
架构上,Amazon Aurora 架构反对 Serverless 无服务器架构。它采纳计算与存储拆散的架构,能够做到存储层的疾速扩大,晋升数据分析能力。同时,它还采纳了独特的日志即数据库理念,省去节点跟存储层数据传输的量,以达到性能晋升。
如果说云时代的到来推动了数据库的改革,那么,与 Serverless 的联合,则再次为数据库的倒退添了把火。
亚马逊云科技在 2018 年推出 Amazon Aurora Serverless v1。据悉,它是 Amazon Aurora 的一种按需主动扩大配置版本,它会依据应用程序的需要主动启动、敞开以及扩大或缩减容量,让开发者无需治理任何数据库实例,即可在云中运行数据库。
用 Amazon Aurora 替换 Oracle
从线上书店业务起家,通过二十多年的倒退,Amazon 不仅成为一家跨国电子商务企业,而且是寰球最大的互联网线上零售商之一。
据理解,Amazon.com 于 1995 年 7 月上线,网站一开始销售图书。之后,销售的商品从图书向多元化倒退,涵盖音像制品、软件、生产电子产品、家用电器、厨具、食品、玩具、母婴用品、化妆品、日化用品、静止器具等类目。
早在 2008 年,Amazon 网站主域名 Amazon.com 的访客数量至多达到 6.15 亿,曾经是过后沃尔玛超市门店顾客数量的两倍。除主域名外,Amazon 还在寰球多个国家建设了本地化网站,包含中国、加拿大、英国、法国、德国、墨西哥和澳大利亚等。
用户的一直减少和寰球市场的扩张,让 Amazon 的电商业务方兴未艾。
然而,挑战也随之而来。一方面,Amazon 须要应答极高的拜访流量,尤其是圣诞季等购物节假日下的极其状况;另一方面,业务的疾速倒退,让数据以指数速度增长,数据量一直减少。据悉,在 2017 年,Amazon 电商有近 7500 个 OLTP 数据库,累计存储了 75PB 数据,波及公司超 100 个团队的 1000 多个应用程序。
始终以来,Amazon 都在应用 Oracle 数据库,然而它发现,Oracle 数据库不仅老本高,而且可扩展性差,无奈适应一直增长的业务需要。
除了可扩展性差、老本一直减少,Amazon 电商还面临着数据量和交易率减少带来的提早危险、遗留代码 / 架构导致的可用性危险,以及硬件配置和治理工夫 / 资源带来的经营危险。
如何解决本人面临的挑战?这成为摆在 Amazon 电商背后的难题。
为了解决这些问题,Amazon 电商决定替换 Oracle 数据库,把近 7500 个 OLTP 数据库迁徙到 Amazon RDS 和 Amazon Aurora 中。Amazon Aurora 一大个性是其 85–90% 的 PostgreSQL 查问与现有 Oracle 查问相匹配,这意味着将查问转换为 Amazon Aurora PostgreSQL 简直全都是主动实现的。
迁徙实现后,不仅 节俭了 40%-90% 的经营老本 ,而且大大改善了性能,同时 Amazon 电商通过应用亚马逊云科技托管数据库服务将峰值扩大工作量和治理 开销缩小 10 倍。由此可见,收益不言而喻。
如果说 Amazon 电商领略到 Amazon Aurora 弱小的性能和可扩展性以及低成本劣势,那么九州通则领会到其轻松实现低延时读写拆散和应答业务负载波峰波谷的劣势。
九州通是一家以西药、中药、器械为次要经营产品,以医疗机构、零售企业、批发药店为次要客户对象,并为客户提供信息、物流等各项增值服务的大型企业团体。其中,线上 B2B 业务每年以 30% 以上的速度增长。
其 B2B 零碎的业务特点是读多写少,读写比例在 8:2 到 7:3 之间,常常会呈现波峰波谷落差较大的状况。并且,自建 MySQL 形式下,主库与从库之间的数据复制延时会超过 1 秒,读写拆散成果不好,主库压力居高不下。
为此,九州通采纳 Amazon Aurora,轻松实现数据库的读写拆散及按需扩大。应用 Amazon Aurora 数据库服务,单个 Amazon Aurora 集群能够反对多达 15 个只读节点,反对在线主动扩大与膨胀。整体数据库性能晋升 5 倍,TCO 升高了 50%,实现了跨可用区部署、负载平衡 / 主动故障转移,精密监控 / 按需主动伸缩等。同时,还无效升高主库工作负载压力。此外,在性能和老本上获得高效均衡。借助 Amazon Aurora Auto Scaling 性能,实现只读正本按需伸缩,满足业务需要的同时,节俭服务器老本。
而虎牙直播在全球化过程中,也抉择了 Amazon Aurora。2018 年初,虎牙直播上线海内产品 Nimo TV,年底,月活用户达千万级。产品胜利登陆东南亚及拉美地区,2019 年进入西班牙市场。
据悉,在数据库后盾,虎牙直播应用 DynamoDB 存储用户的动静信息,包含领取、状态、好友关注等信息。绝对动态的信息存储在 Amazon Aurora 上,如用户的根底信息。Amazon Aurora 能主动扩容,且因为计算和存储拆散,当数据量较大时,能独自降级计算实例,确保性能。同时,异常情况下,通常只需 10 秒左右就能主动实现故障转移,对终端用户没有任何影响。并且,利用其寰球数据库性能,能够晋升本地用户体验。虎牙直播在亚马逊云科技亚太(新加坡)区域部署数据库,在其余区域建设正本,进步当地用户的应用体验。
除了实用业务快速增长、低延时读写拆散、业务负载波峰波谷、全球化部署、存储扩容、全球化部署以及备份与复原、容灾,Amazon Aurora 还实用最小化零碎停机工夫、误删误改、图形化监控及性能调优场景。
去年,亚马逊云科技在 Gartner 报告《2021 Gartner Magic Quadrant for Cloud Database Management System》中被评为云数据库领导者,这已是亚马逊云科技间断七年获此殊荣。之所以能取得此评估,源于亚马逊云科技的不断创新。
图片起源:Gartner
比方,创始 Serverless 数据库,实现数据库的弹性伸缩,进一步简化客户创立、保护和扩大数据库,实现高度扩展性及主动伸缩容量。又比方,推出 Babelfish for Amazon Aurora PostgreSQL,它使 Amazon Aurora 能兼容 基于 Microsoft SQL Server 编写的应用程序。再如 Amazon DevOps Guru,它是由机器学习提供反对的性能,能够帮忙开发人员和开发运维工程师疾速检测、诊断和修改 Amazon RDS 中与数据库相干的各种问题。
近日,Gartner 又公布了 2021 年 DBMS 市场支出数据。咱们看到云的用量在以惊人的速度逐年减少。一方面,DBMS 市场继续减速增长,规模靠近 800 亿美元,比 2020 年减少 145 亿美元;另一方面,市场格局变动,云平台供应商处于领先地位。其中,亚马逊云科技在 DBMS 市场的支出增长 42.3%,简直是市场增速的两倍,在排名上与首位仅差 0.1%。首次超过传统数据库巨头 Oracle,这也侧面印证了“云计算 + 数据库”的弱小力量。
对亚马逊云科技而言,数据库方面的翻新远不止于此。截至目前,亚马逊云科技目前提供十多种专门构建的数据库服务,反对关系、键值、文档、内存、图、工夫序列、宽列和分类账八大数据类型。
为什么亚马逊云科技要提供这么多的数据库产品?在笔者看来,正如亚马逊首席技术官兼副总裁 Dr. Werner Vogels 所言,“开发者心愿他们的应用程序可能很好地被构建和无效扩大,为此,他们须要可能在同一应用程序中应用多个数据库和数据模型。很少有一个数据库可能满足多个不同利用场景的须要,一刀切的数据库时代曾经过来,开发人员正在应用大量的专用数据库来构建高度分布式的应用程序。开发人员正在做他们最善于的事件:将简单的应用程序分解成更小的局部,而后抉择解决每个问题的最佳工具。”
始终走在数据库翻新的路上:Amazon Aurora Serverless v2
在数据库方向,亚马逊云科技的翻新脚步从未停下,始终在前行。
最近,Amazon Aurora Serverless v2 上线。据悉,它能够立刻扩大以反对最刻薄的应用程序,与峰值容量预置相比,可节俭高达 90% 的老本。同时,在几分之一秒内将数据库工作负载扩大到数十万个事务。能够说,它在可扩展性上和节省成本方面再上一层楼。并且,Amazon Aurora Serverless v2 提供了残缺的 Amazon Aurora 性能,包含多可用区反对、寰球数据库和只读正本。它能在容量调整时做到更细粒度,并根据多个维度进行容量调整,为应用程序的需要提供适量的数据库资源。而企业无需治理数据库容量,只需为应用程序耗费的资源付费。
更值得一提的是,Amazon Aurora Serverless v2 反对跨 AZ 的高可用部署和读取扩大,通过继续的监控和尽可能大的利用缓冲池,v2 原地扩大能够做到秒级别。
此外,它非常适合各种应用程序。例如,面对业务快速增长场景与海量多租户场景时,当领有数十万个应用程序的企业,或领有具备成千盈百个数据库的多租户环境的软件即服务 (SaaS) 供应商,能够应用 Amazon Aurora Serverless v2 来治理整个队列中的数据库容量。还实用于业务吞吐量稳定显著的场景,如游戏业务、电商业务、测试环境等,以及无奈预估吞吐量的新业务零碎。对于大部分工夫都处于低谷的业务零碎,Amazon Aurora Serverless v2 能够无效地为客户节省成本
当下,正值新一轮科技反动迅猛发展阶段:数据规模爆炸性增长、数据类型愈发丰盛、数据利用疾速深入,数据驱动将带来新一轮翻新浪潮。而在数据库畛域,无服务器架构也将成为云原生数据库将来倒退的必然趋势之一。
与亚马逊云科技一起,见证数据库行业的将来!