AWS re:Invent2024 Aurora 发布了啥 – DSQL 篇

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

AWS Aurora DSQL 通过快照隔离和乐观并发控制(OCC)提升性能,减少事务提交时的数据库交互,优化跨区域场景。然而,取消缓存可能增加延迟,使用复杂度上升,适合对延迟不敏感且具备开发能力的用户。

🎯

关键要点

  • AWS Aurora DSQL 通过快照隔离和乐观并发控制(OCC)提升性能,减少事务提交时的数据库交互。

  • DSQL 将多次 commit 合并成一次 commit,实现了 90% 的性能提高。

  • DSQL 使用 snapshot isolation 和 EC2 TimeSync service 获取版本信息,在提交时通过 OCC 进行冲突检测。

  • OCC 适合于交互式或系统内部组件同步延时较大的场景,但在大规模使用上存在挑战。

  • Aurora DSQL 取消了每个实例上的缓存,所有读取和写入直接到 DSQL - block store。

  • 取消缓存可能导致延迟增加,远端存储访问延迟大幅提高。

  • DSQL 实现了计算下推操作,以减少请求的 page,提高性能。

  • Aurora DSQL 在 serverless 上比传统 Aurora 更彻底,实例可在请求后快速释放。

  • Aurora DSQL 的使用场景有限,适合对延迟不敏感且具备开发能力的用户。

  • 在多云背景下,用户可能不愿意为 Aurora DSQL 修改代码,增加了使用复杂度。

🔎

延伸解读

Aurora DSQL 的性能提升机制

Aurora DSQL 通过快照隔离和乐观并发控制(OCC)实现了显著的性能提升,尤其在跨区域场景中。通过将多次提交合并为一次提交,减少了数据库交互次数,理论上可以提高高达90%的性能。然而,这种机制在实际应用中可能面临冲突处理的复杂性,用户需要具备相应的开发能力来实现重试逻辑。

取消缓存的影响

Aurora DSQL 取消了每个实例上的缓存,所有读取和写入都直接访问 DSQL - block store。这一设计虽然简化了缓存一致性问题,但也导致了延迟的显著增加。用户在使用时需关注远端存储的访问延迟,尤其是在高并发场景下,可能会影响整体性能。

适用场景与限制

Aurora DSQL 适合对延迟不敏感且具备开发能力的用户,尤其是在需要跨区域部署的复杂业务场景中。然而,若业务存在热点数据或对延迟要求较高,传统的 AWS RDS 或 Aurora 可能更为合适。用户在选择时需仔细评估自身的业务需求与技术能力。

延伸问答

Aurora DSQL 如何提升数据库性能?

Aurora DSQL 通过快照隔离和乐观并发控制(OCC)减少事务提交时的数据库交互,从而提升性能。

Aurora DSQL 取消缓存的影响是什么?

取消缓存可能导致延迟增加,远端存储访问延迟显著提高,适合对延迟不敏感的场景。

Aurora DSQL 的使用场景有哪些限制?

Aurora DSQL 适合对延迟不敏感且具备开发能力的用户,使用场景有限。

OCC 在 Aurora DSQL 中的作用是什么?

OCC 用于在提交时进行冲突检测,减少事务提交时的数据库交互,提高性能。

Aurora DSQL 与传统 Aurora 的主要区别是什么?

Aurora DSQL 取消了每个实例上的缓存,并将日志存储和数据块存储分开,优化了存储结构。

Aurora DSQL 在 serverless 环境下的表现如何?

Aurora DSQL 在 serverless 上表现更彻底,实例可在请求后快速释放,几乎没有保留状态信息。

🏷️

标签

➡️

继续阅读