## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
您知道吗?缓存不仅可以提高性能,还可以显著减少云开销。加入我们,了解如何使用 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) 和 [Amazon RDS](https://aws.amazon.com/cn/rds/?trk=cndc-detail) for MySQL(与单独使用 RDS for MySQL 相比)节省高达 55% 的成本,并获得高达 80 倍的读取性能提升。在本讲座中,了解缓存 [Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail) 和 [Amazon RDS](https://aws.amazon.com/cn/rds/?trk=cndc-detail) 工作负载的财务优势,以及如何确定哪些数据库将从缓存中受益最大,并回顾如何实现性能提升和成本节约的实践示例。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共1400字,阅读时间大约是7分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
约瑟夫·特拉瓦吉林,作为亚马逊ElastiCache服务的产品管理团队负责人,欢迎与会者参加主题为“运用Aurora和RDS结合ElastiCache提升性能并降低成本”的演讲。他在演讲中提出了一系列问题,以评估观众对数据库管理和缓存解决方案的熟悉程度,指出许多人已经开始利用ElastiCache等缓存技术来加速数据库工作负载。
特拉瓦吉林先生解释道,尽管缓存通常与提升应用程序性能相关,但它还可以降低基础设施的总体成本。他展示了一张图表,横坐标表示每秒请求数,纵坐标表示相关成本。一条线显示,随着高性能需求的提高,线性扩展数据库如何线性增加成本。添加缓存引入了一个曲线——在低吞吐量如每秒1000个请求的情况下,缓存可能会在没有显著好处的情况下将每月成本增加高达\$1500。但在更高的需求如每秒5000个请求的情况下,出现了一个转折点,此时缓存大大提高了吞吐量,同时将总体成本降低到每月\$3000。目标是找到运行在每秒5000个请求的转折点附近的工作负载,这些工作负载可以从缓存的性能和成本优势中受益。
特拉瓦吉林先生向不太了解该服务的与会者简要介绍了ElastiCache。亚马逊云科技在2011年推出了ElastiCache,在此之前,他们已经花了十多年时间强化和管理开源Redis和Memcached引擎。ElastiCache提供了直至版本7.1的完全托管、兼容的Redis版本以及直至版本1.6的完全托管、兼容的Memcached版本,处理集群配置、维护、补丁、大小调整和高可用性等方面的自动化,而客户无需自己安装软件或管理服务器。
ElastiCache致力于提供高度可靠的缓存解决方案,可在单个或多个可用性区域中部署集群,以确保99.95%的正常运行时间。其附加数据保护功能包括备份和恢复、静态和传输过程中的加密以及通过全球数据存储的跨地区复制。然而,过去一年里,ElastiCache的性能提高了2.5倍,这要归功于将CPU线程专用于减轻网络和命令解析工作负载等优化措施。例如,通过额外的内存访问优化和进一步减轻命令解析负担,ElastiCache for Redis 7.1在版本7.0的基础上实现了100%更高的吞吐量,并且第99个百分位数的延迟降低了50%。特拉瓦吉尼先生在re:Invent的主旨演讲中提到,当晚稍后将发布一个令人兴奋的ElastiCache公告。
总的来说,ElastiCache旨在为客户提供高质量的缓存解决方案,帮助他们高效地扩展数据库并降低成本,甚至可以与亚马逊自己的RDS和Aurora关系数据库服务一起使用。接下来的讨论将专注于确定可能受益于整合缓存的工作负载。
特拉瓦吉尼先生概述了几种有助于确定数据库驱动应用程序是否适合缓存的标准:
- 读写比例 - 读写比例超过70%的工作负载往往可以从中受益,而比率在80-90%之间的可能会产生更大的优势
- 多个读取副本 - 使用的数据库读取副本越多,通过添加缓存来提高性能和降低成本的可能性就越大
- 重复读取 - 查询反复访问相同的数据子集表明应用程序正在访问适合缓存的工作集,而不是均匀的数据访问模式
- 高数据库请求费用 - 请求费用占数据库支出25%或更多的工作负载值得评估从缓存中潜在节省的成本
在更新过程中,采用了懒加载技术来进行读写操作。
懒加载技术首先会检查缓存,只有当缓存未命中时才会查询数据库。这样做的目的是为了最大限度地减少对数据库的直接访问。这种策略的权衡在于需要在保持缓存的同步和使用结果被缓存之前较慢的初始缓存丢失之间找到平衡,例如300毫秒的数据库读取与0.5毫秒的缓存读取。通过设置合适的生命周期(如1小时),可以帮助管理缓存过期的问题。汉茨先生分享了一些简单的示例代码,演示了如何计算缓存键、首先检查缓存以及在数据库读取后将结果写入缓存等操作。
在数据库进行修改时,可以通过写透来更新缓存,以避免过时的数据。但是,这可能导致在更新缓存之间缓存不必要的数据。通过设置合适的TTL(有效期)可以缓解这个问题。汉茨先生还提供了一些代码示例,说明如何在数据库写入后更新缓存,或者在数据库更新后删除缓存条目,以避免不必要的缓存数据。
他强调,应用程序可以根据需要自由组合懒加载和写透策略。接着,汉茨先生分析了对性能的提升和缓存所带来的成本节省。他解释说,数据库通常在块级别进行缓存,读取整个4KB的存储块,即使其中包含额外的不必要数据。而ElastiCache则只缓存特定的查询结果,只需要大约25%的内存量就能达到相当于95%的缓存命中率。
通过观察样本规模和数据库架构的变化,可以发现适当大小的ElastiCache层可以降低规模扩大场景下的成本约75%,而在规模扩大情况下,成本可降低67%。同时,吞吐量和处理速度也会得到显著提升。例如,增加一个4CPU,16GB的SQL Server数据库的4个读副本,可以实现24,000次每秒交易和65毫秒响应时间,每月花费160,000美元,改用ElastiCache后将花费降至每月50,000美元,同时提供36,000次每秒交易和29毫秒响应时间。
汉茨先生在演示中使用了机场数据库样本,对比了添加ElastiCache缓存前后的效果。结果显示,相较于仅使用数据库架构,加入ElastiCache后,每秒交易量提高了50%,平均响应时间降低了50%。该示例应用程序模拟了现实中的混合工作负载,包括随机选择乘客和航班,执行读取查询以检查过去的预订和写入查询以预订新航班。在使用缓存后,重复的读取查询可从具有亚毫秒延迟的ElastiCache获得,而数据库查询则需要300毫秒。
总的来说,汉茨先生强调了数据库缓存的好处,包括提高应用程序性能、减少延迟、支持更小的数据库实例和许可证,以及减缓数据库增长。有意识地集成缓存技术,如ElastiCache,可以帮助组织更好地应对云数据库扩展复杂性,提高工作效率和优化基础设施成本。
在演讲中,汉茨先生全面回顾了利用ElastiCache增强数据库性能和效率的最佳实践。他提供了实际客户收益的例子,概述了识别合适工作负载的标准,详细说明了适当的分析工具和缓存集成方法,并展示了在应用速度和技术成本方面的可衡量改进。与会者从中获得了关于如何有意识地将缓存纳入其数据库基础设施以帮助克服扩展瓶颈并优化支出的可操作见解。讲者的目标是装备与会者,使他们能够通过有针对性地利用ElastiCache来提高在亚马逊云科技上扩展数据库工作负载时的性能和节省资金。
**下面是一些演讲现场的精彩瞬间:**
以下是关于如何通过利用弹性数据库来提升应用程序性能并降低成本的一些建议。
![](https://d1trpeugzwbig5.cloudfront.net/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS/images/rebranded/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS_0.png)
在即将举行的亚马逊云科技re:Invent上,演讲者将会讨论一些关键议题,包括但不限于传统的数据库扩展技术、如何使用Elastic Cache、受缓存的工作的负载类型以及实施缓存策略所需的工具。
![](https://d1trpeugzwbig5.cloudfront.net/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS/images/rebranded/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS_1.png)
通过对数据库查询执行频率、逻辑I/O速度以及平均I/O大小等指标的分析,我们可以找到最佳的缓存大小,从而实现性能优化和成本节约。
![](https://d1trpeugzwbig5.cloudfront.net/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS/images/rebranded/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS_2.png)
为了实现这一目标,可以使用Database Current State Investigation工具来帮助客户分析过去的性能数据,以便将Oracle数据库顺利迁移至亚马逊云科技的云端环境。
![](https://d1trpeugzwbig5.cloudfront.net/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS/images/rebranded/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS_3.png)
此外,亚马逊云科技还推出了一款全新的推荐引擎,能够根据数据库和工作负载的特点,为客户提供一份经过优化的迁移方案,其中包括合适的EC2实例和能够大幅降低成本的缓存服务。
![](https://d1trpeugzwbig5.cloudfront.net/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS/images/rebranded/DAT335-Boost_performance___save_money_using_ElastiCache_with_Aurora___RDS_4.png)
## 总结
这段演讲探讨了如何将ElastiCache整合到Aurora和RDS工作负载中,以提高数据库性能并降低运营成本。演讲者首先解释了传统数据库扩展方法的局限,包括扩大实例规模和使用读取副本进行横向扩展。为了应对这些限制,演讲者提出了引入类似ElastiCache的缓存系统,以减轻重复的、重读取查询的负担,从而实现更高效的性能和成本节约。
演讲者对ElastiCache及其性能优化进行了概括性描述。接着,他指出哪些类型的工作负载最适合采用缓存策略,例如高读取比例、已经使用了多个读取副本以及存在重复复杂查询的应用场景。演讲者还提供了某个客户的成功案例,该安全公司在分析云计算资源方面通过运用ElastiCache实现了30%的成本削减。
随后,演讲者深入讲解了如何识别合适的候选数据库、更新应用程序使其具备缓存感知能力以及评估潜在的收益。诸如CloudWatch、SQL查询统计数据和自定义Amazon Web Services工具等工具有助于寻找恰当的数据源。代码示例展示了如何使用懒加载读取和写入更新。对比在添加ElastiCache前后进行的基准测试数据,可以看出每秒处理量和响应延迟都有了显著提升。
总的来说,ElastiCache能够显著提高数据库性能并降低运营成本,但需要经过仔细分析才能确定哪些类型的工作负载将从中受益。只有在正确应用到重复读取工作负载的情况下,才能实现显著的效益。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!
[2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站")
[点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯!
[点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯!
## 即刻注册亚马逊云科技账户,开启云端之旅!
[【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“")
[【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")