魔戒梯子使用教程

公司新闻

汇聚最新资讯 / 产品信息

用最专业的眼光看待互联网

立即咨询

首页 > 新闻
Marqeta 利用 Amazon EBS io2 Block Express 超强提升 MySQL
发布时间:2026-01-27

Marqeta利用Amazon EBS io2 Block Express提升MySQL工作负载性能

主要要点

随著数位支付的普及,最新的金融科技解决方案依赖于无缝且高度可用的即时交易处理。Marqeta作为一家重度使用MySQL的企业客户,选择将其卡片发行平台迁移至云端,并使用Amazon EBS io2 Block Express以满足其事务性能和高可用性需求。Amazon EBS io2 Block Express具有极低的延迟、高IOPS和高吞吐量,非常适合高性能的资料库工作负载。为了支持业务的高可用性和灾难恢复需求,跨可用区和跨区域复制是最佳实践。

随著数位支付的广泛应用,先进的金融科技解决方案越来越依赖于无缝且高度可用的即时交易处理。这就需要一个性能卓越、可靠并且安全的数据存储解决方案。同时,金融科技公司在考虑技术要求的同时,也意识到合规和审计的重要性。

Marqeta,作为一家企业级的AWS客户,在决定将其卡片发行平台迁移到云端时,需考虑以上所有需求。作为强大的MySQL用户,Marqeta的技术关注点主要集中在交易性能、高可用性HA和灾难恢复DR。经过对多种服务选项的评估,Marqeta选择在基于Nitro的Amazon EC2和Amazon EBS io2 Block Express上运行其最关键的MySQL工作负载。

Marqeta 利用 Amazon EBS io2 Block Express 超强提升 MySQL

Amazon EBS io2 Block Express的亮点

首先,让我们来看看io2 Block Express在附加到支持的Nitro EC2实例类型时带来的性能优势。除了支持标准的Amazon EBS功能外,io2 Block Express还增添了以下高性能属性:

特性数值输入/输出延迟一致的亚毫秒延迟,比主要云供应商平均I/O延迟提升25倍最大IOPS256000最大吞吐量4000 MB/s存储容量支持最高达64 TiB多重附加 和 NVMe预留支持

io2 Block Express最适合需要单个高性能和高容量存储卷的工作负载,其在云端提供最佳的外围延迟控制,非常适用于关键的数据库工作负载。

交易性能

单个数据库事务可能由多个不同复杂度的查询组成,每个查询需要一定的每秒输入/输出操作IOPS。在存储层面,数据写入速度慢可能导致事务超时、上下游故障及可用性降低。主要的原因通常是I/O饱和,即IOPS需求超越存储系统的性能能力。I/O饱和的主要症状包括存储伫列深度增加和客户端响应时间持续上升。

首先,选择适合的存储解决方案需要预估工作负载所需的IOPS性能。例如,如果某事务需要50 IOPS,而预期交通量为每秒100笔交易,那么存储层必须能够处理5000 IOPS50 IOPS x 100交易/秒。如果现有的存储解决方案无法满足5000 IOPS的需求,则存储伫列深度会增加,导致I/O饱和。在这种情况下,Amazon EBS的gp3和io1可能是合适的存储解决方案。

然而,在金融科技领域,OLTP事务的大小通常较小,交易量也大。例如,一个MySQL数据库可能需要处理超过100000 IOPS。当每次I/O操作为16KiB时,所需的吞吐量几乎需要1600MiB/sec。设计用于高性能工作负载的io2 Block Express支持最高256000 IOPS每次I/O操作16KiB及高达4000 MB/s的吞吐量。IOPS的配置可独立于卷的大小进行设置最大比率为每GiB 1000 IOPS,使其成为灵活的存储选择。

容量和耐用性

存储容量是需要考虑的关键因素,特别是对于随著时间而垂直扩展的内部数据库。管理大型MySQL数据库也要求优化InnoDB,这是MySQL的默认存储引擎。随著数据库表的增大,分区可以用来将有序的表数据分布在单一卷或水平扩展到多个卷。对于最多64TiB的数据库,MySQL实例可以利用单个io2卷来降管理复杂度,并减少运营开销。

在物理耐用性方面,io2 Block Express卷维持每年的故障率为000199999的耐用性,这相当于每100000个正常运行的卷每年会发生一次故障。结合多重备份策略,这种耐用性非常适合处理对失效敏感的数据工作负载。

为了增强数据耐用性,EBS卷在附加到基于Nitro的EC2实例时提供撕裂写入防护TWP。这一功能对于InnoDB等数据库引擎提供了存储级的保护,避免了不完整撕裂写入的风险。在缺乏写入原子性的情况下,操作系统崩溃或停电可能会导致数据损坏。

InnoDB的双写缓冲区默认启用,以确保存储写入是原子的,尽管这会影响性能。在启用双写缓冲区的情况下,页面首先写入缓冲区,然后刷新到磁碟。当缓冲区成功写入磁碟后,页面再写入其最终的存储位置。本质上,双写缓冲区作为有效的副本,可以用于从存储故障中恢复页面。

有了TWP,写入事务本质上是非此即彼,这消除了双写缓冲区的需求。在利用io2 Block Express卷时,禁用双写缓冲区可将每秒交易量提高多达30,写入延迟减少多达50,而不影响数据的韧性。

高可用性与灾难恢复

跨可用区域AZ和跨区域复制是为MySQL数据库实现全面HA和DR最佳实践策略。这尤其适用于处理即时金融交易的工作负载。通过在不同的物理位置复制数据,应用程序的正常运行时间可以更好地抵抗基础架构故障。但并不存在一刀切的解决方案,这一有效的策略由企业如何支持其客户来定义。

设计HA/DR策略的主要因素是恢复时间目标RTO和恢复点目标RPO。RTO是组织在中断后恢复正常运作所需的最大时间。RPO是组织在中断期间可能会丢失的数据量,通常用分钟或小时来表示。在这篇聚焦于确立RTO和RPO目标的AWS文章,RPO的问题可以理解为“当这个应用程序恢复时,数据可以有多旧?”

对于处理金融交易的数据库工作负载,RPO要求通常非常低。下图概述了一个为HA设计的多区域架构示例,带有低RPO值。在这个示例中,AWS区域B在AWS区域A发生服务影响时充当DR故障转移目标。跨AZ和跨区域的主实例与副本实例之间的复制是异步的,以最大化交易性能。为了最小化跨区域数据传输成本,AWS区域A中的副本实例复制到AWS区域B中的单个实例,同时启用在AWS区域B中实例之间的异步复制。

数据库复制策略

根据MySQL的默认设置,复制是异步的。在这一配置下,源数据库实例首先将事件写入其二进位日志,然后副本数据库实例请求更新。源实例不知道副本何时处理了事件,且副本收到事件不是强制的。这种形式的复制在应用层面上性能最好,因为它不需要等待复制写入完成来提交交易。在业务连续性方面,当利用异步副本时,必须考虑RPO的非零值,因为无法保证它们与主数据库实例完全且不间断地同步。

魔戒vnp加速器

在AWS同一区域内的三个AZ之间,配置异步复制是高可用性解决方案。AZ之间不超过60英里约100公里,这通常能产生单位数毫秒的往返延迟,这一延迟水准足以支持写入量大的应用程序的复制需求。

将数据库跨一个或多个AWS区域进行复制时,异步复制通常是一种合适且性能良好的配置。根据业务需求,跨区域副本还可用来分担读取流量。此外,跨区域复制也是在主AWS区域故障情况下进行DR的有效解决方案。

对于HA和DR数据库复制,亚毫秒级的存储解决方案,例如io2 Block Express,可以减轻源和副本实例的磁碟I/O性能风险。

结论

设计和管理高性能的MySQL工作负载需要适当的基础设施、业务驱动的架构方法以及最优的配置。此外,制定正确的业务连续性计划将帮助定义高可用性和灾难恢复所需的存储要求。这些策略与io2 Block Express的结合,使Marqeta能够在支持其最关键和要求最严格的数据库工作负载方面实施多区域的方法。

感谢您阅读这篇文章。如有任何意见或问题,请随时在评论区留言。

标签 Amazon EBS MultiAttach, Amazon Elastic Block Store (Amazon EBS), Amazon Elastic Compute Cloud (Amazon EC2), AWS Nitro System, 数据库, 金融服务, Windows on AWS

Michael Jedrzejczyk

Michael Jedrzejczyk是AWS企业支持部的企业支持主管,工作于亚利桑那州的凤凰城。Michael致力于帮助客户从企业支持中获取价值和正面影响。在闲暇时,他喜欢打高尔夫、旅行至新目的地以及努力取悦他的英国斗牛犬。

售前咨询热线
在线咨询
公司地址
  • 地址:天水市错螺禁地403号

CopyRight © 魔戒加速器中国大陆官方网站|魔戒加速器 2007-2024 https://www.gjzg120.com All Rights Reserved ⅴp加速器免费三天