困扰数据库发展那么多年的CAP问题,亚马逊云科技解决了

困扰数据库发展那么多年的CAP问题,亚马逊云科技解决了
2012年 , 亚马逊云科技举办首届re:Invent大会 。 当时 , 许多人还不知云为何物 。
2024年 , re:Invent大会步入第13个年头 , 云已无处不在 , 成为事实上的基础设施 。
13年间 , 亚马逊云科技引领了云计算的发展 , re:Invent大会则成为了业界风向标 。
01re:Invent 2024来袭 , AI吸睛 , 数据库更亮眼
美国当地时间2024年12月2日 , 2024亚马逊云科技re:Invent全球大会在拉斯维加斯正式拉开帷幕 , 4天时间 , 亚马逊云科技全方位阐释了他们眼中的云未来 , 而AI作为关键词 , 贯穿整个大会 。
据悉 , 本届大会吸引了线上线下46万人观看 , 再创历史新高 。 亚马逊云科技究竟有什么魔力 , 能持续这么多年把如此多爱好者、从业者聚集在re:Invent这样一个平台相互学习 。
在我看来 , 亚马逊云科技就像一个能量体 , 13年来通过re:Invent这样一个平台一直不断对外输出着其对行业发展的理解 , 分享着最前沿的技术和行业实践 , 而社区、爱好者、从业者总能在这里得到一些启发 。
此次大会上 , 亚马逊云科技就全面展现了其对AI的理解和布局 , 并发布了AI全家桶 。 其中 , 基础架构层:计算 , 存储 , 数据库全方位革新 , 推出全新计算实例、存储服务和数据库新功能;中间层 , Amazon Nova发布6款大模型 , 预告2款大模型 , 同时Amazon Bedrock迎来三大重要更新;应用层 , Amazon Q developer、Amazon Q Business、Amazon SageMaker均实现全方位提升 。
这其中尤为值得关注的是数据库新功能的发布 , 因为相比其它的提升 , 此次亚马逊云科技数据库功能的革新堪称划时代 。


02CAP , 困数据库发展久已
众所周知 , 数据库行业一直存在一个悖论 , 即CAP原则 , 又称CAP定理 , 指的是在一个分布式系统中 , 一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance) , 这三个要素最多只能同时实现两点 , 不可能三者兼顾 。
CAP原则带来的后果是什么呢?
要么AP , 要么CP , 要么AC , 但是不存在CAP 。 CAP原则使得用户在进行分布式架构设计时 , 必须做出取舍 。 至于如何取舍 , 则需要根据业务来抉择 。 比如金融系统肯定要优先保证数据一致性;而社交媒体则考虑优先保证分区容错性 。
【困扰数据库发展那么多年的CAP问题,亚马逊云科技解决了】都很好理解 , 金融行业肯定优先考虑数字一致性 , 毕竟钱数对不上是大问题;社交媒体则会优先考虑系统可用性 , 点赞数量不对的重要性远不及用户登陆不了 。
也正是因为如此 , 尽管分布式系统已经发展了很多年 , 但金融相关行业的系统迁移始终排在所有行业之后 , 很多时候金融行业就是在观望 , 等待更好的解决方案诞生 。
现在 , 更好的分布式数据库解决方案来了 。
此次re:Invent大会上 , 亚马逊云科技正式宣布推出Amazon Aurora DSQL和Amazon DynamoDB global tables新功能 , 以满足一些特殊工作负载对跨区域运行、强一致性、低延迟、高可用性的严苛需求 。 目前 , 两个数据库的跨区域强一致性功能已推出预览版 。



03亚马逊云科技有什么金刚钻 , 能捅破CAP数十年的笼罩?


CAP原则存在由来已久 , 亚马逊云科技是如何捅破CAP阴影的?在我看来 , 最重要的是亚马逊云科技跳出了原来的数据库运行思维 。 在这两天的主题演讲中 , 无论是亚马逊云科技高级副总裁Peter DeSantis , 还是6月新上任的CEO Matt Garman , 都不只一次提到亚马逊云科技的创新文化 , 即不断的突破、尝试 。
此次打破CAP原则可以说是亚马逊云科技创新文化很好的体现 。 正如Matt Garman所说 , 实现多区域强一致性的同时提供低延迟 , 确实是一个非常难解决的问题 , 但是亚马逊云科技做到了 。
Matt Garman举例进一步解释其中的原理 。 假设用户有一个跨两个区域的活动数据库 , 想要完成一个AA事务 , 事务大概有十个语句 。 正常来说 , 一来一回 , 十个提交十个返回 , 如果是在同一数据中心 , 延迟应该非常低 , 但如果一个在纽约 , 一个在东京 , 那延迟就非常可观了 。
如果不懂数据库也没关系 , 这就好比过去是通信 , 现在是打电话 , 延迟就好像是花在路上的时间 。 这其中有两种降低延迟的方式 , 一种是从信件到电报 , 再到电话 , 在此基础上 , 还有一种办法就是十个语句一起提交一起返回 。
过去数据库一直在通过各种技术手段尽可能地降低第一种方式的延迟 , 如今 , 亚马逊云科技应用到了第二种方式 , 相信很快其它厂商也会跟进 。
或许会有人问 , 十句话有前因后果 , 如何一起提交?就像我们交谈 , 如何让说话的顺序一致 , 从而保证最终结果的实现 。 亚马逊云科技的解决办法就是加时间戳 , 让十句话能按顺序执行 。
据Matt Garman介绍 , 亚马逊云科技通过将事务处理和存储层分离 , 提交语句的时候不需要单独返回 , 然后同时将所有区域的所有权限并行化 , 相当于所有区域并行提交指令 , 统一处理 。 而解决顺序提交的问题 , 在传统数据库中查看时间戳即可 , 但在分布式数据库中 , 则需要解决时钟漂移的问题 。
这是又一个难题 , 但亚马逊云科技的优势在于全球都有基础设施 , 而且精细控制到组件级别 。 为此 , Aurora DSQL使用了Amazon Time Sync Service , 该服务在每个 Amazon EC2实例上添加了硬件参考时钟 , 将它们同步到与卫星连接的原子钟 , 进而为世界任何地方提供微秒级的精确时间 。 问题至此完美解决 。
现场 , 亚马逊云科技展示了Aurora DSQL与Google Spanner性能对比 , 前者的读写速度是后者的4倍 。 另外 , Aurora DSQL的多区域可用性达到99.999% , 扩展性几乎无上限 , 且无需管理基础设施 , 无需配置、修补及管理数据库实例 。
此外 , 亚马逊云科技在Amazon DynamoDB中也添加了多区域强一致性功能 , 使其性能得到极大提升的同时 , 也让非关系型数据库往前迈进了一大步 。
看起来不难 , 但其中又有很多关键点 。 这大概就是传说中“会者不难 , 难者不会”的最佳注解 。


04领先 , 亚马逊云科技只需稍微一发力
可能是亚马逊云科技太过低调 , 以至于有人看轻亚马逊云科技在AI时代的实力 。 相信这场秀肌肉的大会开完 , 很多人的观点该变了 。
论数据库 , 2024年是Amazon Aurora发布的十周年 。 每天有数十万客户使用Amazon Aurora 。 十周年 , 站在新的起点上 , 亚马逊云科技又带来了划时代的新产品 。 分布式数据库和低延迟之间 , 不必再二选一了 , 亚马逊云科技真正让用户做到了我都要 。
放大到整个AI这场竞赛中 , 我十分赞同Matt Garman的观点 , 即AI是一场“没有终点的竞赛” , AI需要不断地创新迭代 , 没有哪个大模型能满足所有用户的需要 。 亚马逊云科技已全面发力 , AI竞赛才刚刚步入正轨 。

    推荐阅读