对于数据湖,有些人会错误地认为它是数据仓库的2.0版。数据湖可以将组织中所有数据进行集中存储,虽然这与数据仓库的概念几乎相同,但它们却是用于不同目的的工具。数据湖与数据仓库的对比如表1所示。
表1.数据湖与数据仓库的对比
数据仓库是收集和存储大量数据的传统方式。它是高度结构化的, 这种高度结构化的方法意味着它可以快速解决一系列非常具体的问题。但它的数据不是以原始格式存储的,这意味着数据难以访问,只有IT专业人员才能使用它。 另外,使用数据仓库来进行计算和存储,其价格也是非常昂贵的。
对于存储在数据仓库中的数据,即使仅使用一次,也必须完整统一的存储在表中。其实,储存在数据仓库中更多的是已经处理过的数据,使用目的多以BI应用程式或是商业用途的使用为主。有些数据是无法储存到数据仓库的,比如半结构化和非结构化数据是无法储存在数据仓库中的。不仅如此,有很多数据可能需要很长时间才能将其加载到数据仓库中,并且都需要经过一系列的数据处理的过程方能使用。
数据湖由于没有特定的储存结构或格式,让使用者更方便储存原始的数据资料,并且可以满足整个企业使用者的需求。技术人员可以从数据湖获得他们所需的数据价值,因为数据湖没有要求预定义的架构,这使得数据湖在使用上变得更加灵活。
2010年10月,James Dixon提出了“数据湖”一词。为什么将其命名为数据湖,他用了以下比喻:
“如果数据仓库是一个商店的瓶装水,经过过滤包装和结构化以供使用——数据湖则是在更自然状态下的大量的水。数据湖中的数据来源于不同地方,用户可以进入数据湖中提取所需要的数据”
按照人们目前的速度,每天可以创建2.5亿个字节的数据。在这个数据快速增长的时代,有许多不同类型的数据,比如结构化数据(RDMS表、列式等)、半结构化数据(JSON、CSV文件、XML等)和非结构化数据(视频文件、图像、电子邮件等)。数据湖就像一个大容器包含了从不同地方进入的各种类型的数据,这就类似于真实湖泊的很多支流会从不同方向流入湖中。
数据湖的优势是灵活性。通过将数据保留其原始格式,以便进行更庞大、更及时的数据分析。 数据湖具有三个关键属性:
1.数据湖可以储存各式各样的数据
存储在湖泊中的数据可以是任何格式的,既可以原始数据,也可以是处理后的数据。包括非结构化的数据(例如文本文档或图像)、半结构化的数据(例如分层的Web内容)以及结构化的数据。
2. 数据湖可以跨部门使用
数据湖可跨多个部门并根据个人的需求进行数据搜寻和使用。
3.数据湖灵活性高
数据湖使数据能够进行共享及使用方便,其中包括批次处理、交互式、搜索、内存储和其他待处理项目等。
数据湖适合数据需求大及数据需跨多个不同的部门的企业使用。数据湖的好处如下所示:
1. 单一数据源
所有企业单位都可以将其原始数据存储在数据湖中,数据不需通过预先的数据处理过程。因为这样,每个人都可以通过数据湖获得真实的数据。
2.即时的决策分析
数据湖的巨大处理能力,使用者可以确保数据的高质量,以进行实时决策分析。
3.数据民主化
数据民主化意味着每个人都可以访问数据。数据湖使数据可被整个组织使用。如果每个使用者都具有适当的使用权限,便可访问该数据。
即使数据湖能够给企业、数据管理者和使用者带来许多的好处。但依然有许多的组织和企业还未意识到数据湖所带来的重要性和优势,也不知如何利用数据湖有效地进行数据处理,为公司创造更多的机会和商业价值。