查看原文
其他

关于Amazon Express One及其对数据基础设施的影响的思考

常华Andy Andy730
2025-01-01

Amazon S3 Express One Zone是一款高性能存储,专为提供一致的毫秒级数据访问而设计,仅限于单一可用区。与S3标准相比,S3 Express One Zone能将最频繁访问的数据和延迟敏感型应用程序的数据访问速度提高10倍,并降低请求成本50%。该存储类型可扩展以处理每分钟数百万次的请求。虽然可以选择特定的AWS区域来存储S3数据,但使用S3 Express One Zone,可以在AWS区域内的特定AWS可用区存储数据。为了进一步优化性能,建议将存储与计算资源放置在同一可用区,以降低计算成本并提高工作负载运行速度。

重新审视当前的数据基础设施状态

在探讨S3 Express之前,我们先重新审视当前的数据基础设施状态。数据仓库访问模式涉及两个关键属性。

  1. 数据新鲜度至关重要:数据越新,访问频率越高。

  2. 在许多近实时应用中,人在环路(Human-in-the-Loop)、应用程序集成或机器驱动的智能可能至关重要,但并非总是需要亚秒级的延迟。通常,分钟级的延迟已经足够。


当前数据架构状况

S3智能分层存储能够在成本和数据保留时间之间取得良好的平衡,但对于需要实时访问最新数据以获得洞察的需求来说,仍然存在很大的挑战。这一点在当前的数据架构状态中也有所体现。目前,已经有一些工具正在努力寻找解决这一问题的途径。

  1. 流处理与Pinot等OLAP存储的组合。

  2. 在BI工具中采用缓存层与内存数据库,而DuckDB则是构建进程内OLAP引擎的最新探索。

  3. LakeHouse工具,比如Apache Hudi,支持增量查询以减少延迟。


存在许多工具和架构模式,以便更轻松地访问最新的数据,从而做出业务决策和进行应用程序集成。

数据新鲜度、资源成本和查询性能之间的平衡

总会有一篇Google Paper来探讨行业的新范式变革。Google发表了《Napa:在Google上提供可扩展数据仓库与强大查询性能》。该论文深入探讨了在数据新鲜度、资源成本和查询性能之间的平衡。

参考链接:https://storage.googleapis.com/pub-tools-public-publication-data/pdf/16e781b51c05c902b42e069bcd0eb015d991bbc5.pdf

根据目前的数据基础设施状况,采用多个专业化的数据存储和处理引擎的组合,以实现这种平衡。然而,这种架构状态下的总拥有成本(TCO)和操作负担相当高。许多公司为确保设计足够简单易管理,限制自己采用高延迟的批处理方式来访问数据。Presto尝试使用RaptorX,过去甚至尝试直接使用Presto-Kafka Connector查询Kafka,但效果并不理想。我们也曾试图将所有事件导入Pinot/Druid系统,但这带来了一些操作成本。

S3 Express可能对体系结构带来潜在的影响

对于S3 Express,人们既有希望又有失望。以下是一些引人深思的阅读材料。

  • 《S3 Express One Zone,并非我所期望的》

  • https://jack-vanlightly.com/blog/2023/11/29/s3-express-one-zone-not-quite-what-i-hoped-for

  • 《S3 Express就是你需要的一切》

  • https://jack-vanlightly.com/blog/2023/11/29/s3-express-one-zone-not-quite-what-i-hoped-for


我认为S3 Express不能仅仅作为一个写缓存系统。AWS File Cache曾试图扮演这个角色。以下是我认为S3 Express有可能改变当前体系结构状态的几个方面。

使用S3 Express的数据架构

S3 Express将开启无服务器数据架构,将存储和计算从主流数据处理行业的各个层面分离出来。我们将看到涌现出如下的新兴模式:

  1. 直接将流数据注入S3 Express(WarpStream已经在用)。

  2. 将S3 Express复制到S3标准以实现容错。

  3. 在S3 Express之上进行流处理。


流处理是我认为S3 Express将会极大颠覆的一个重要方面。类似于Flink的系统将数据带到查询,而Pinot等OLAP引擎则将查询带到数据。我更倾向于像Pinot一样的系统,将查询带到数据。

正如在图中所看到的,尽管S3 Express的成本比S3标准存储贵8倍,但它显著降低了总拥有成本。

我认为相较于运行多个分布式且有状态的系统来实现相同的数据处理能力,S3 Express比S3标准贵8倍的成本更容易接受。

接下来的发展趋势是什么?

软件是建立在存储、计算和网络设备之上的抽象层。底层基础设施的任何颠覆都将显著改变软件层的价值主张。我坚信S3 Express就是这样的变革,而且毫无疑问其他主要云服务提供商将纷纷效仿。

简而言之,我们将目睹LakeHouse系统实施类似Napa的架构,使用户在数据新鲜度、资源成本和查询性能之间能够进行选择权衡。

所有问题最终都可追溯到高压缩率、支持更快数据访问的高效数据存储格式。下一阶段的数据基础设施软件将专注于这两个方面,而不是构建像Kafka这样有状态的系统。它将扩大对LakeHouse格式(如Apache Hudi、Iceberg和Delta)上的创新的应用。我特别欣赏Pinot的数据索引技术,在引入S3 Express,尤其是在服务和BI层方面,它将发挥重要的作用。



---【本文完】---

近期受欢迎的文章:


我们正处于数十年未见之大机遇中

新技术爆发式发展,催生新产品

然而,颠覆式创新并非简单的技术堆叠

而是异常复杂的系统工程

需要深度洞察

欢迎一起分享思考和见解

继续滑动看下一个
Andy730
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存