数据湖以非层次结构的格式存储大量数据。
阅读本文后,您将能够:
复制文章链接
数据湖是一种以自然或原始格式存储数据的存储库。数据湖也称为“数据池”,它是对象存储的一个功能。对象存储是一种基于云的存储系统,设计用于处理大量结构化数据和非结构化数据。
与更传统的基于文件的存储系统相比,数据湖的非层次结构使其成为一种灵活且可扩展的选项。不过,由于数据湖的组织设计和复杂的数据出口定价,从数据湖中梳理和检索数据可能不仅速度缓慢,而且成本高昂。
要了解数据湖如何存储数据,首先一定要了解对象存储的工作原理。传统的基于文件的存储将数据存储在文件夹和文件的层次结构中,与此不同的是,对象存储在同一个位置收集单个数据或对象,并使用可自定义的元数据进行标记。
元数据,也就是用于识别文件的信息(例如名称、类型、大小,或唯一标识符),可帮助用户或应用程序找到和检索数据,而无需遵循文件夹之间的特定路径。由于数据湖设计用于容纳大量数据,分配给每个对象的元数据可能会非常详细,这有助于加快检索速度。
为了说明层次结构与非层次结构数据存储之间的差异,请设想一下,Bob 想要存储数千张黑胶唱片。如果采用层次结构存储系统,他可以将按照音乐创作风格划分的唱片分类放入大储物箱或文件夹。虽然这让 Bob 能够快速找到任意专辑,但随着他购买的该创作风格的唱片数量不断增加,储物箱可能会空间不足。这种方法类似于基于文件的存储,即必须将数据组织并存储在某个特定的位置。
相比之下,如果采用非层次结构存储系统,这让 Bob 能够按照自己想要的任何顺序将所有唱片放在一个房间或数据湖中。每张唱片都会贴上显示其创作风格的标签。虽然这会减缓识别单张唱片的速度,但让 Bob 能够将更多唱片添加到他的收藏集中,而无需将这些唱片存储在特定的储物箱中。这种方法类似于对象存储,即可以在同一个位置存储大量数据。
有关此流程的深入阐述,请阅读什么是对象存储?
数据湖架构是指用于在数据湖中存储、转换、访问和保护数据的各种流程和工具。虽然此架构可能位于云端或本地,但它通常会共享以下几个组件:
数据湖的用途多种多样,包括数据分析和探索、物联网 (IoT) 管理、个性化消费者体验、高级机器学习等等。数据湖还有助于训练人工智能 (AI) 模型,这些模型通常需要使用非常大型的数据集才能生成有效的输出。
例如,假设一家旅行社希望为其客户提供量身定制的自动旅游推荐。通过数据湖,他们可以摄取大量与常见旅游模式、热门目的地、停留时长、住宿类型以及旅游活动相关的客户数据。然后,他们可以使用这些数据来训练 AI 模型,以制定更高级的旅游建议,并在理想情况下确保提高客户满意度。
数据湖是结构化数据和非结构化数据的大型存储库。其主要优势是能够以经济实惠的方式运行大规模数据,但与其他类型的数据处理和存储解决方案相比,数据量和分类系统的复杂性可能会导致数据湖效率低下。
与数据湖一样,数据仓库也是大型数据存储库。数据仓库的不同之处在于,它仅存储结构化数据,并使用传统的文件层次结构来组织、存储和检索数据。虽然这种架构会提高数据检索速度和性能,但其扩展成本可能比数据湖高得多。
一些云供应商提供一种称为数据湖屋的混合方法,兼具数据湖与数据仓库的核心功能和优势。组织可以使用数据湖屋来处理和存储所有类型的数据,而不是将结构化数据与非结构化数据分别存储在单独、分散的系统中。如此一来,既拥有数据仓库的组织功能和高性能,又具备数据湖低成本高收益的可扩展性。这种方法还让组织能够利用自动化数据治理和合规工具,确保提高数据完整性和可靠性。
Cloudflare R2 是一个无出口费用的对象存储解决方案,让组织能够开发自己的数据湖。借助 Cloudflare 全球网络的支持,R2 通过多次复制对象,有助于确保最优的数据耐用性和可靠性,使数据仍然易于访问且对区域故障和数据丢失具有很强的抵抗力。