基于 Amazon S3 构建和优化数据湖

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 企业正在亚马逊云科技上构建 PB 级规模的数据湖,以便为成千上万的终端用户提供民主化访问。在本论坛中,您将了解 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 的最新创新,这些创新使您能够更轻松地构建、保护和管理数据湖。了解构建数据湖的最佳实践,使您能够使用业界领先的亚马逊云科技、开源和第三方分析及 ML 工具,帮助您从数据中获得洞察力。此外,还将探索如何优化 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 上的存储,包括为您的使用案例选择正确的存储类别和利用 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 访问点。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1700字,阅读时间大约是8分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 演讲者首先热情洋溢地欢迎与会者参加关于“在[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)上构建和优化数据湖”的主题研讨会。作为来自亚马逊S3团队的专业工程师和产品经理,他们将分享自己对这一重要议题的独特见解。据悉,会议还将由Apache Iceberg的共同创作者Ryan Blue主持,Iceberg已成为数据湖生态系统中的一股快速发展力量。演讲者鼓励与会者期待一个内容丰富、令人兴奋的议程。 谈到数据湖的概念,演讲者承认这个术语在不同人之间会引发各种联想。有些人可能会将其与大数据分析工作负载联系在一起,而另一些人则可能将其与[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)或人工智能相联系。实际上,数据湖的应用场景非常广泛。演讲者强调,即使是专注于亚马逊云科技的数据湖实施和解决方案也需要投入大量时间和精力。因此,他们决定不试图提供一个全面的概述。相反,他们将重点讨论支持每个数据湖架构的基础——存储层。演讲者坚信,无论使用情况如何,存储基础都是任何数据湖的绝对必要条件。没有可靠且可扩展的存储,汇集数据将变得毫无意义。没有数据,就无法从构建于其上的工作负载和解决方案中获得价值。因此,本次会议将深入研究亚马逊S3及其功能如何为其成为构建和运营数据湖的坚实基石提供支持。演讲者特别强调了“规模”在数据湖范式中的重要性,因为它是一个关键因素。在深入了解亚马逊S3架构之前,演讲者简要回顾了数据湖的发展历程。他们提醒听众这是一个简短概述,旨在突出数十年来一直存在的奇怪趋势。尽管数据湖的确切起源尚不清楚,但其基本理念(即聚合结构化和非结构化数据)已存在了很长时间,可能早在20世纪90年代就已经出现。在那个时代,革命性的架构是客户端-服务器模型。 一家典型的企业的IT配置通常包括关系数据库、电子邮件服务器和文件共享等独立组件。虽然这些组件与原始数据湖有相似之处,但它们在不同的环境中运行,无法实现无缝的交互。 起初,这种隔离式的架构在数据量和应用场景有限的情况下,充分满足了企业的需求。然而,随着公司的发展,数据和应用场景呈爆炸式增长,迫切需要一种可扩展的解决方案。尽管通过垂直添加更多硬件来解决容量限制,但这增加了系统的复杂性。 企业发现,在不同系统(如生产数据库和归档发票)之间共享数据变得非常困难。同样,在整个数据资产中全面实施安全策略和管理也面临挑战。 为了解决这些问题,业界推出了创新性的数据仓库。通过将数据整合到统一的数据库中,数据仓库解决了隔离式架构所带来的问题。 尽管数据平台在过去几十年里发生了很大变化,但专家表示,随着业务需求的不断上升和数据传播的加速,架构将继续面临挑战。这需要不断创新以适应不断变化的需求。 专家强调,亚马逊S3因其能够支持大规模扩展并在大规模运营中取得显著优势而成为理想的数据湖基础。S3的一些关键决策是基于这一核心原则。 详细解释了S3的设计原理,包括其如何将数据分片并在设施、服务器和驱动器上分布对象。这实现了高吞吐量、冗余保证的持久性和数据的快速重建的显著并行性。 例如,在峰值负载下,S3每秒可以处理1太字节的数据。一些S3存储桶跨越了数百万个驱动器,展示了数据的彻底非隔离性。 这种架构为数据湖工作负载带来了实际性能好处。专家建议,在使用S3时,应最大限度地提高并行度,发布并发请求,并进行多部分上传和下载。 S3的可扩展命名空间通过使用前缀来应对高请求量。专家建议在键分布中引入前缀随机化并利用并行端点以提高混乱程度。他们强调了S3的全新Express服务,专为低延迟工作负载设计,每分钟可处理数百万次请求。通过将每个存储桶的吞吐量预先扩大到10万TPS并优化认证过程,可以实现单位数毫秒的延迟。在软件层面,S3通用运行时包含了许多性能优化技巧,例如本地代码和针对特定操作系统的优化。将其集成到数据访问库(如SDK和连接器)中可以增强功能。除了性能外,专家们还讨论了S3的架构如何实现大规模的成本效益和治理,这对于数据湖来说至关重要。智能分层展示了S3如何通过自动化访问模式监控并在无用户干预的情况下在存储层之间无缝转换对象来减少成本。客户已经通过此服务节省了数十亿美元。生命周期策略允许用户根据诸如年龄之类的标准创建将对象转换为较低成本存储的规则。这以经济高效的方式将旧数据移动到归档层。专家表示,要实现节省,需要充分了解数据使用趋势。Storage Lens提供了对诸如访问频率和存储类别分配之类的指标的洞察,以帮助了解使用模式和分析趋势。这推动了观察使用模式、分析趋势并优化设置(如生命周期)的迭代循环,从而提高了数据的有效利用率。在安全性方面,专家们指出,数据湖面临许多挑战,如大量数据集和用户的扩散以及授予超出亚马逊云科技帐户身份的访问权限。S3访问控制通过允许基于属性的行和列级别访问策略来解决这些问题,无论外部身份还是IAM角色。它与Lake Formation协同工作,以保护结构化数据,同时允许对所有数据类型进行粒度访问控制的调整。专家们总结说,通过用创新的S3架构来利用规模,可以在现代数据湖所需的性能、成本效益和安全性方面实现高级别的效率。 随着新兴趋势的发展,有迹象显示对交易型数据湖的兴趣正迅速上升。各个组织都希望将数据仓库的事务处理能力(如ACID事务)与云原生数据湖的弹性相结合。这种需求催生了创新,例如在S3等廉价对象存储基础上实现了诸如Apache Iceberg和Delta Lake等开放式表格式。通过添加原子提交、时间旅行等功能以及预测推降等性能增强功能,这些表层解锁了一种新的湖仓架构。Apache Iceberg的共同创作者Ryan Blue受邀详细阐述在对象存储上构建高性能的分析数据湖的方法。 Ryan首先分享了Iceberg的起源,追溯至六年前他在Netflix运营基于S3的Hadoop数据平台时与他同事所面临的挑战。他们希望能够分离存储和计算以实现效率、成本和正确性。然而,他们的基于Hive表的建筑架构存在许多问题。像Spark、Presto、[Amazon Redshift](https://aws.amazon.com/cn/redshift/?trk=cndc-detail)和Flink这样的工作负载无法无缝地互操作。Ryan指出,问题主要涉及三个方面:成本和性能、数据正确性和开发者生产力。 在成本和性能方面,分析PB级数据的速度很慢,效率低下,因为查询经常失败。列出文件占据了查询时间,阻碍了规模性能的提升。 在正确性方面,Hive表无法支持跨目录的原子提交。如果多个进程同时修改表数据,会出现竞态条件。 在开发者生产力方面,由于无法跨列信任数据一致性和去重,工程师们浪费了重建故障管道的时间。 认识到Hive简单直观的表模型导致了这些问题,他们决定将成熟数据库系统中的ACID事务等想法融入到云原生数据湖生态系统中。这激发了Apache Iceberg的诞生。 Ryan表示,Iceberg的两个独特之处在于它是开放式表格式标准,并且专为高性能的对象存储(如S3)而设计。作为开放标准,Iceberg可以在Spark、Presto和Redshift等引擎之间互操作,从而实现互操作性。它在亚马逊云科技上的支持展示了开放标准的优势。 不同于其他表格式解决方案,Iceberg通过消除低效的列表和重命名操作来优化对象存储架构。它采用树状结构组织数据,并使用硬引用以避免遍历S3来解析表状态。 此外,Iceberg引入了一种高效的文件抽象方式,将S3视为一个对象存储,而非文件系统。这使基于HDFS的格式下无法实现的性能水平得以释放。 有趣的是,Iceberg的设计实现了Ryan所称的“通用分析存储”的突破。通过提供ACID事务支持,Iceberg允许如Spark、Presto和Flink等多款引擎同时正确地访问数据。 这意味着企业可以在整合不同处理引擎的同时,将存储统一至S3中。数据湖将转变为一个具有数据永久保存功能的中枢仓库,其中计算过程是暂时的。 Ryan分享了Iceberg架构在大规模工作负载中带来显著性能提升的案例,有些情况将处理时间从几天缩短至几秒钟。这些用例增强了人们对于Iceberg潜力的信心。 最后,Ryan指出,Iceberg在S3上的表抽象代表了他的一个令人振奋的开始。S3正发展为通用的数据持久性层,Iceberg为其添加表接口。 他期待在治理、安全和元数据管理方面能出现更多创新。在未来,分析生态系统将从孤立的数据库转向通过像Iceberg这样的开放标准共享数据的模块化引擎,而S3将成为中心的存储层。 Ryan再次感谢分享Iceberg历程的机会,并期待看到开放标准改变分析架构的未来。 演讲者们为观众提供了深入了解如何将S3的基本架构与新兴开放标准相结合,以解锁下一代云原生数据湖的深度讲解。他们全面探讨了性能、成本、安全和治理等关键问题的观点。掌握这些知识后,从业者可以构建高效且安全的现代数据平台,从而从数据资产中创造价值。 **下面是一些演讲现场的精彩瞬间:** 领导者宣布,作为Apache Iceberg的共同创作者,Ryan Blue将在稍后加入讨论,以解释这个开源表格式在数据湖领域的迅速流行。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_0.png) 亚马逊S3支持多部分上传和范围获取功能,这使得并行传输大型对象成为可能,从而显著提高了性能。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_1.png) 为了实现跨S3命名空间的负载均衡和提高吞吐量,可以在键前缀上添加盐和哈希以引入熵。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_2.png) 演讲者详细介绍了如何为数据科学家训练[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型,这包括创建分析器、注册授予权限以及通过API请求访问。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_3.png) 此外,他们还解释了如何将CloudTrail与这些过程集成以进行审计。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_4.png) 领导者解释了如何使用亚马逊云科技Access Analyzer,包括创建分析器、注册授予权限以及通过API请求临时凭证以获得授权访问。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_5.png) 领导者还谈到了由如Iceberg这样的开放式表格式支持的交易数据湖和lake house架构的兴起。 ![](https://d1trpeugzwbig5.cloudfront.net/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3/images/rebranded/STG313-Building_and_optimizing_a_data_lake_on_Amazon_S3_6.png) ## 总结 本次演讲主要涉及在[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)上构建和优化数据湖的内容。首先,演讲回顾了数据湖的发展历程及其背后的业务需求和随时间推移不断增长的数据规模。由于这些因素导致的系统故障,数据湖需要不断创新以适应不断变化的需求。 接下来,演讲详细介绍了S3是如何设计用于大规模扩展的,以便实现高性能、可用性和成本效益。主要观点包括: - S3依赖跨设施和驱动器分布数据,以实现工作负载的并行化和聚合。这有助于平滑峰值需求并提高吞吐量。 - 通过多部分上传、范围GET和多AZ等功能进一步优化了并行化和并发性。此外,前缀熵可以在S3命名空间间分配负载。 - 利用S3即时检索新功能,通过预调整命名空间降低请求密集型工作的延迟。 接着,演讲讨论了如何通过S3存储层、生命周期策略和Storage Lens指标来优化成本。特别强调了使用S3智能分层来自动节省成本。 随后,演讲探讨了在大规模情况下保护数据的挑战,并介绍了通过公司目录管理权限的S3访问控制。这有助于支持审计并将访问权限限制为与分析使用情形保持一致。 最后,演讲解释了如何在S3上使用Apache Iceberg等表格式实现事务处理能力,例如时间旅行和原子操作。这为现代数据分析提供了全新的湖泊房屋架构。 总的来说,演讲强调了S3的大规模扩展如何实现性能、成本效益、安全性和新的湖泊房屋架构,以满足现代数据分析的需求。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问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 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭