数据湖

更新时间: 2025-05-09 18:22:05

数据湖是一个集中式的数据存储空间,支持存储任意规模半结构化和非结构化数据。数据以原始格式直接存储,通过结合多种分析引擎(例如大数据处理框架、实时分析工具以及机器学习平台等),您可以轻松挖掘数据中隐藏的价值。

架构图

组 850@4x

该架构图展示了一个全面的数据管理和分析平台,覆盖了从数据收集到应用的完整流程。

  • 支持上传多种格式的数据:Parquet、CSV、JSON、多媒体文件、数据库及应用数据等。

  • 兼容公共云、专有云/混合云和边缘设备,确保数据源的广泛性和灵活性。

  • 数据存储在大数据和AI业务的BucketGroup中,支持通过资源池QoS调整BucketGroup带宽,并将OSS作为数据湖存储解决方案,确保高效的数据访问和管理。

  • 提供了包括SDK、POSIX文件系统和HDFS兼容层在内的丰富编程接口,便于灵活访问和处理数据

  • 通过集成数据分析和AI功能,用户能够执行复杂的数据探索、机器学习模型训练以及实时流计算,并利用可视化工具更好地理解和展示数据价值。

为什么在阿里云OSS上构建数据湖

阿里云OSS提供了近乎无限的高性价比弹性存储空间,是构建阿里云上数据湖方案的最佳数据存储服务。OSS具备强大的数据管理功能,能够高效处理和组织海量数据。丰富的客户端实现了与计算引擎的便捷对接。

在阿里云OSS上构建数据湖,具备以下核心优势:

  • 低成本存储:按量付费,支持基于生命周期实现分层存储(标准、低频、归档、冷归档、深度冷归档),灵活控制成本。

  • 弹性扩展:支持EB级数据存储,无需预置容量,轻松应对数据增长。

  • 生态集成:无缝对接阿里云计算服务(如MaxCompute、EMR、PAI)和开源分析框架(Hadoop、Spark、RAY、PyTorch)。

  • 安全合规:提供加密权限控制内容检测(包括内容违规检测、恶意文件检测以及敏感数据检测),满足企业安全需求。

  • 高可用与容灾:跨可用区冗余存储,支持跨地域复制,保障数据可靠性。

构建数据湖需要考虑哪些方面

组织构建数据湖和分析平台时,需要考虑许多关键功能,包括:

数据采集和导入

数据湖允许您实时导入任意数量的数据,支持从多个来源收集数据,并以原始形式存储于数据湖中。此过程允许您扩展到任何规模的数据,同时节省定义数据结构、Schema 和转换的时间。OSS提供了以下导入数据的方式:

低成本的安全存储数据

数据湖允许您存储海量的非结构化数据(例如,来自移动应用程序、IoT设备、社交媒体、车联网的数据)。这些数据需要实现自动的成本优化,且要时刻保障数据的安全。OSS提供了以下能力:

海量数据的管理

在数据湖的使用实践中,存在不同业务部门数据存储在一个Bucket的不同Prefix下,以及企业内不同业务和部门的数据存储在不同Bucket的情况。这就要求同一个Bucket中的数据可以实现分拆管理,同时要求不同Bucket间的数据可以实现数据的流动。OSS提供了丰富的能力来应对各种复杂的场景:

  • 通过接入点为不同的业务团队配置数据访问权限

  • 通过存储空间清单获取一个Bucket内不同业务团队的空间使用情况

  • 通过数据复制实现同地域、跨地域的Bucket间数据自动同步

多业务访问的性能管理和优化

  • 在数据湖的日常运营中,并行执行的数据采集、预处理、AI训练及调试等操作导致了Bucket与Bucket之间、RAM用户与RAM用户之间的性能资源分配不均和资源争抢问题。OSS提供了资源池QoS功能,允许动态调整Bucket及其请求者的流控,确保高负载期间关键服务和计算密集型任务优先获得资源,保障业务稳定运行。

  • 针对数据仓库和检索引擎低延迟高QPS查询,在线业务数据低延迟响应,AI推理中模型重复低延迟拉取等场景。OSS提供了OSS加速器,通过将热点文件缓存在NVMe SSD高性能介质上,减少数据读取延迟并提高QPS,显著优化了实时计算作业的表现。

数据分析和AI框架接入

数据湖上运行着多种多样的分析和AI计算框架。一个企业的完整生产流程中可能使用了多种计算框架。不同的计算框架对数据的访问存在着不同的接口和形态,OSS为了能便捷的接入这些生态,降低业务改造代价,提供了丰富的客户端、工具和功能:

  • OSS面向互联网业务使用的主流编程语言提供了丰富的SDK,供互联网开发者使用。如果您有一定的编程基础,建议您使用OSS SDK获得高性能的数据访问体验。OSS高性能编程实践,请参见通过Python的并发库进行多线程改造,显著提升带宽

  • 如果您已经有云上使用对象存储运行Hadoop相关生态的经验。OSS首先推荐通过OSS connector for hadoop的方式读写OSS数据。此种方式可以高效利用OSS的无限扩展能力和各种企业级功能。

  • 如果您当前正在深度使用开源 HDFS,并且短期内不具备业务改造的能力,推荐您使用OSS-HDFS服务。该服务提供了与 HDFS 全面兼容的标准接口,同时具备比传统 HDFS 更强的性能和弹性扩展能力。OSS-HDFS服务已与阿里云 EMR 以及开源 Hadoop、Spark 等生态组件实现无缝集成。该方案强调对HDFS的强兼容性,使企业无需修改现有基于HDFS的大数据应用,即可将本地数据中心的传统HDFS业务平滑迁移至云端。但由于开源HDFS与对象存储在部分功能定义上的差异,可能会损失 OSS 原生的部分高级数据管理能力,详情请参见OSS-HDFS服务的功能支持情况。因此,建议在完成上云后,逐步通过 OSS Connector对业务进行适配和优化,以充分发挥OSS在云原生场景下的高性能与丰富数据管理能力。

  • 如果您的业务中有部分应用需要使用传统文件的方式访问数据,且无法进行改造。OSS 提供了ossfs客户端满足这些程序的数据读写需求:

    • 对于AI训练、AI 推理、自动驾驶仿真等现代应用,此类应用对POSIX语义的要求较为宽松。我们推荐使用 ossfs 2.0,以获得最优的性能表现。如果您尚不确定应用的具体访问模式,建议优先使用ossfs 2.0进行测试,如果无法通过,再降级使用ossfs 1.0

    • 对于传统应用,可以使用ossfs 1.0来读写存储在 OSS 中的数据。然而,考虑到 OSS 和 NAS 之间的语义差异较大,以及部分传统应用对较高 POSIX 兼容性和性能的需求,我们不建议使用ossfs 1.0配合OSS作为NAS的替代方案。在这些情况下,为了确保最佳的兼容性和性能表现,建议您选择阿里云文件存储NAS

  • 如果您熟悉PyTorch dataset框架进行AI数据集加载,但不熟悉OSS SDK的使用方式。我们推荐您使用OSS Connector for AI/ML,可以在无需学习OSS SDK的情况下获得最佳的OSS数据集读取性能。

  • 对于管理员和开发者日常的上传、下载文件的需求,OSS提供了:

上一篇: 通过crc64校验数据传输的完整性 下一篇: 数据湖生态接入
阿里云首页 对象存储 相关技术圈