“专库专用”提供极致性能:企业选择数据库服务的准则


    据相关数据显示,在刚刚过去的“双十一”购物节中,国内全网交易额达到了9651.2亿元,整个中国都陷入了一场集体购物狂欢。然而在这场购物狂欢的背后,不仅仅是众多商家营销战术的考验,更是各大电商平台技术实力的比拼。
    举例来说,在“双十一”期间,各大电商平台的底层数据库就迎来了流量峰值的高并发和快速响应挑战,而海量数据的爆发也带来了对数据库的大量需求。全球知名调研机构IDC更是早早地预测,到2025年,中国将拥有全球最大的数据圈。
    亚马逊云科技大中华区产品部总经理顾凡认为,数据是应用程序的一部分,而近年来伴随着应用本身架构的变化,整个数据库的技术和生态也发生了翻天覆地的变化。
    应用架构变化驱动数据库技术变革
    顾凡表示,近年来数据库技术与生态的变化趋势,主要体现在以下四个方面:
    1、随着移动互联网应用开发浪潮的崛起,大量的NoSQL数据也随之产生,从而驱动了云原生关系型数据库的出现;
    2、无论是MySQL还是PostgreSQL,越来越多的用户都希望将应用架构在开源的数据库引擎上,而不是架构在一个有着严苛的许可协议、容易被锁定的数据库引擎上;
    3、拥抱现代化应用的客户都希望企业更加敏捷,希望开发人员能够把时间精力专注在核心业务的应用开发上,而不是浪费时间去开发与核心业务无关的代码,这也驱动了更多企业向全托管式的云数据库服务进行转型;
    4、从早年的PC、互联网、移动互联网,到现在的万物互联,软件架构基本上都是从Server,到SOA,再到微服务这样进行迭代和转型,这也驱动着数据库选型的变化。随着业务的体量越来越大,复杂度越来越高,企业会选择将一个超级复杂的单体应用拆分成多个微服务和多个大的功能模块,这就必然会带来数据的拆分,根据应用的数据类型以及数据访问特点,来决定应该选择云上的哪一种专门构建的数据库。
    顾凡指出,多年来,亚马逊云科技不断加速数据库相关服务在中国区域的落地,并针对不同应用场景需求推出了多种数据库服务产品,为客户提供兼具高性能、高可用性、可扩展及成本效益的专用数据库服务,支撑客户现代化应用的快速部署及创新。亚马逊云科技数据库服务的五大理念分别为:1、专库专用,极致性能;2、无服务器,敏捷创新;3、全球架构,一键部署;4、平滑迁移,加速上云;5、AI赋能,深度集成。
    
    “专库专用”提供极致性能
    顾凡认为,在数据海量爆发、微服务架构与DevOps愈发流行的当下,企业真正需要的是开发者在不同应用场景下,针对不同数据类型和数据访问特点,提供专门构建的工具,这也是亚马逊云科技在构建数据库时的核心理念——“专库专用”。
    亚马逊云科技目前可以为客户提供十多种专门构建的数据库服务,支持关系、键值、文档、内存、图、时间序列、分类账、宽列等八大数据类型,以支撑客户现代化应用快速部署中的不同需求。
    
    包括亚马逊自身,也使用了多项亚马逊云科技的数据库服务产品。亚马逊电商曾经是Oracle的数据库客户之一,随着亚马逊电商整个应用的重构,2019年将存储在7500个Oracle数据库中的75PB内部数据全部迁移到亚马逊云科技自己的数据库服务中,包括Amazon DynamoDB(工作流引擎/客户档案/促销折扣管理)、Amazon Aurora(库存管理服务IMS)、Amazon Relational Database Service、Amazon Redshift(分析型工作负载)、Amazon ElastiCache(缓存服务请求)。通过数据库的平滑迁移,亚马逊电商节省了60%的成本,面向消费者端的应用程序延迟降低了40%,数据库的管理支出减少了70%。采用云上全托管服务后,数据库管理人员可以将更多的时间和精力用于数据库监控、性能调优以及查询优化等工作中,极大地提升了客户体验度。
    
    专为云平台打造的关系型数据库Amazon Aurora
    作为亚马逊云科技历史上用户数量增速最快的云服务,Amazon Aurora既具有传统商业数据库的高性能和可用性,又具有开源数据库的简单性和成本效益,可获得5倍于标准MySQL以及3倍于标准PostgreSQL的吞吐量,同时提供高可用,并扩展到15个只读副本,而成本只有商业数据库的10%,真正做到了存储无需预置,只需按量付费。
    顾凡指出,Amazon Aurora是整个业界云上关系型数据库里面可用性做到最极致的产品,首先源于其架构的三大优势:计算和存储分离、Log is Database以及分布式部署;其次Amazon Aurora提供可跨 3 个可用区(AZ)复制 6 个数据副本及AZ+1的高可用性;Amazon Aurora另外一个特点是其拥有并行查询功能,可将复杂的查询进行查询下推。以Netflix为例,使用并行查询后,一些查询任务可加速至120倍,据悉,其中22个查询里面的8项加速均超过10倍。
    
    九州通是一家医药领域企业,搭建药厂、供应商、消费者之间的供应链链条,其业务特点是读多写少,读写比例通常在7:2或8:3之间,遇促销时,波峰、波谷落差会更大。采用Amazon Aurora后,九州通数据库实现了读写分离,既可以应对常规流量,又能够在流量突增时自动增加多个只读节点满足高峰流量,高峰过后自动弹性回缩。这样既满足了其高峰时候的流量需求,又能实现成本最优化,从而使得九州通整体数据库性能提升5倍,TCO总体拥有成本降低50%。
    专为海量数据、超大型工作负载而生的Amazon DynamoDB
    作为键/值数据库服务,Amazon DynamoDB专为海量数据、超大型工作负载而生,可以为世界级超大规模的应用程序提供支持。据顾凡介绍,亚马逊全球多个高流量网站和系统均采用Amazon DynamoDB作为数据库,在此前的亚马逊电商Prime Day 期间进行了数万亿次 API 调用,达到每秒 8,920 万次请求的峰值。
    除了提供高吞吐、高扩展性和低延迟之外,Amazon DynamoDB还可提供跨3个可用区的高可用,利用全局表可完成跨区域双活灾备部署。
    
    华米科技是一家智能可穿戴设备公司,业务遍布70多个国家,拥有接近1亿的用户群体,这些用户每天都会产生海量的使用数据,华米每天都要完成TB级数据的收集和存储,其中面临的最大挑战就是低延迟。采用Amazon DynamoDB作为核心数据库后,华米科技在任意规模环境中都可提供延迟不超过10毫秒的一致响应时间,极大地优化了全球用户体验。
    满足不同应用场景的三种内存数据库服务
    据有关资料显示,全球内存数据库市场将以19.65%的复合年增长率不断迅速发展。内存数据库满足的场景即客户对于极致低延迟响应的需求,最明显的如广告行业,从发布广告的竞价、到竞价者去响应竞价,到广告展示,最后终端用户看到广告,整个流程通常要小于40毫秒。针对这种极致响应的低延迟需求,亚马逊云科技提供了三种托管内存数据库,客户可根据不同场景进行选择:
    1、Amazon ElastiCache for Memcached,无持久化功能;
    2、Amazon ElastiCache for Redis,可自动或者手动打快照,做到数据半持久化;
    3、Amazon  MemoryDB for Redis,可以充当应用程序的主数据库,做到微秒级读取、个位数毫秒级写入延迟,无需在持久数据库前再添加一层缓存,两层合二为一,既可以做到缓存的低响应,又可以将内存数据库当做主数据库使用。该数据库每天可处理超过13万亿请求,峰值下可支持每秒1.6亿个请求,并且能够实现数据全持久化。
    
    Serverless数据库服务实现弹性伸缩
    为了进一步简化客户在创建、维护和扩展数据库方面的工作,实现高扩展性及自动伸缩容量,亚马逊云科技从2012年开始就陆续推出了Amazon DynamoDB、Amazon Aurora Serverless、Amazon Timestream(时间序列数据库服务)、Amazon Keyspaces(兼容 Apache Cassandra 的托管数据库服务)和Amazon Quantum Ledger Database (Amazon QLDB)(全托管的分类账数据库)等多种具有Serverless特性的数据库服务。
    
    其中,Amazon Aurora Serverless 已从V1版进化到V2版,可在几分之一秒内将数据库工作负载从数百个事务扩展到数十万个事务,与按照峰值负载配置容量的成本相比,最多可为用户节省 90% 的数据库成本。
    “越来越多的企业正通过现代化应用实现业务的快速发展,这对底层支撑的数据库的功能、性能、扩展性、成本效益提出了更高的要求。微服务作为实现应用现代化的重要途径,开发者需要选择专门构建的数据库来支撑微服务,应对多样化的应用场景需求,实现企业数据基础设施现代化。通过采用微服务、配合专门构建的数据库,企业可以摆脱传统单一的数据库在性能、功能、扩展性等方面的桎梏,有效提高创新速度,并且降低成本。”顾凡表示。