当前位置: 首页 > 科技观察

如何最大化无服务器数据库的可扩展性?

时间:2023-03-20 21:23:02 科技观察

AmazonAuroraServerlessv2,AmazonAuroraServerless的下一版本,现已推出。AuroraServerlessv2可即时扩展以支持要求最苛刻的应用程序,与峰值容量配置相比可节省高达90%的成本。关于AmazonAurora,一个云原生关系数据库AmazonAurora是一个兼容MySQL和PostgreSQL的关系数据库,专为云计算构建,结合了传统企业数据库的性能和可用性与开源数据库的简单性和成本效益。AmazonAurora比标准MySQL数据库快五倍,比标准PostgreSQL数据库快三倍。它以十分之一的成本提供商业数据库的安全性、可用性和可靠性。AmazonAurora完全由AmazonRDS管理,该服务可自动执行硬件配置、数据库设置、修补和备份等耗时的管理任务。AmazonAurora具有分布式、容错、自我修复的存储系统,每个数据库实例可自动扩展至128TB。它通过多达15个低延迟只读副本、时间点恢复、持续备份到AmazonS3以及跨三个可用区(AZ)的复制来提供高性能和高可用性。关于下一代基于无服务器的云原生数据库配置选项AuroraServerlessv2AuroraServerless是AmazonAurora的按需自动缩放配置。AuroraServerlessv2在几分之一秒内将数据库工作负载扩展到数十万个事务。它以细粒度的增量调整容量,为应用程序的需要提供恰到好处的数据库资源。您无需管理数据库容量,只需为应用程序消耗的资源付费。早在2018年,AmazonAurora就提供了Serverless选项。AuroraServerlessv2提供了完整的AmazonAurora功能,包括多可用区支持、全局数据库和只读副本。v2版本可以实现更细粒度的容量调整,可以基于多维度进行容量调整。更值得一提的是,AmazonAuroraServerlessv2支持高可用部署和跨AZ读扩展。通过持续监控和使用尽可能大的缓冲池,可以秒级实现v2就地扩容。AmazonAuroraServerlessv2是各种应用程序的理想选择。例如,面对业务快速增长场景和海量多租户场景,当拥有数十万个应用程序的企业,或者拥有数百或数百个多租户环境的软件即服务(SaaS)提供商时数以千计的数据库,可以使用AmazonAuroraServerlessv2管理整个队列的数据库容量。关于亚马逊云科技的Serverless数据库其实Serverless数据库并不是近两年的新概念。早在2004年,由于亚马逊电商网站面临数据库可扩展性的挑战,serverless数据库的探索之旅就已经开始。当时,亚马逊在内部开发了一种名为Dynamo的分布式键值存储来解决数据库可扩展性的挑战。经过一系列内部实践,亚马逊于2012年正式推出商用的AmazonDynamoDB。DynamoDB在发布之初就被定义为Serverless架构。年初发表的论文《Dynamo: Amazon's Highly Available Key-value Store》也凭借其对NoSQL的启发和深远影响,在操作系统领域顶级学术会议SOSP2017上获得了终身成就名人堂奖。时至今日,DynamoDB已经发展了整整十年,在很多领域都有非常广泛的应用。同时,在NoSQL领域,亚马逊云科技也不断探索Serverless数据库,形成了完整的Serverless数据库服务体系。并且在接下来的十年发展中,开发了五种无服务器(Serverless)数据库,包括AmazonAurora(关系型)、AmazonDynamoDB(键值对)、AmazonTimestream(顺序型)、AmazonQLDB(分类型)accounts)、Amazon键空间(宽列)。去年12月,权威咨询公司Gartner发布了一份报告——2021年Gartner云数据库管理系统魔力象限。AmazonWebServices连续7年被评为云数据库领导者,在“执行能力”方面在20家参与供应商中名列前茅。AmazonAuroraServerlessv2适用于SaaS业务场景SaaS应用程序有数百个租户和AmazonAurora实例,这将给监控和扩展带来巨大的工作负载。如果使用AmazonAuroraServerlessv2,可以实现秒级自动扩缩容,降低运维人力成本。业务波动明显的场景存在波峰波谷周期的业务场景。测试环境只在工作时间使用,非工作时间只需要按最小计算单元付费。降低成本需要Serverless采用现收现付的支付模式。对于周报或者月报业务场景,可以单独建立一个只读的AmazonAuroraServerlessv2实例来托管。容灾适用于跨可用区、跨地域的全局数据库容灾场景。混合部署支持在集群中混合部署供应实例和无服务器实例。分片场景需要写扩容来提升性能。对于供应型实例,需要预先设置服务器和分片的数量,扩容时需要承担数据重新分布的影响。如果使用serverless实例,可以创建更多的serverless实例,每个实例会根据分片业务自动扩容。正如云技术的引入催生了一代创新,我们相信下一波创新将由数据驱动。对于数据库,“Serverless架构是云原生数据库未来发展的必然趋势之一”。