数据湖是一种以原生格式存储各种大型原始数据集的数据库。您可以通过数据湖宏观了解自己的数据。
原始数据是指尙未针对特定目的处理过的数据。数据湖中的数据只有在查询后才会进行定义。数据科学家可在需要时用比较先进的分析工具或预测建模法访问原始数据。
在一些需要为数据设置大型整体存储库的企业中,数据湖正在成为一种更通行的数据管理策略。
数据湖可为您保留所有数据,在您存储前,任何数据都不会被删除或过滤。有些数据可能很快就会用于分析,有些则可能永远都派不上用场。有些数据也可能为了不同用途而多次使用,同时也有数据会为了特定目的不断优化,这就让我们难以用不同的方式重复使用数据。
Pentaho 的首席技术官 James Dixon 对“数据湖”进行了介绍。之所以将其称为湖,是因为这种数据库可以在自然状态下存储大量数据,就像一片未经过滤或包装的水体。数据从多种来源流入湖中,然后以原始格式存储。
数据仓库可提供可报告的结构化数据模型。这是数据湖与数据仓库的最大区别。数据湖存储的是非结构化的原始数据,并未定义具体用途。
数据在存入数据仓库前,需要进行处理,决定哪些数据将会或不会存入数据仓库,这被称为“写时模式”。
在存入数据仓库前,数据的重新定义过程既耗时又艰难,有时需要花费数月甚至数年时间,导致您无法及时收集数据。利用数据湖,您就可以即时开始收集数据,并确定其将来的用途。
鉴于其结构特点,商业分析员和提前知道自己需要用哪些数据完成定期报告的商业用户通常会使用数据仓库。而数据湖则多用于数据科学家和分析师,因为他们需要用数据进行研究,并且在使用前,数据需要经过更加高级的过滤和分析。
数据湖和数据仓库使用的存储硬件通常也不相同。数据仓库的存储硬件较为昂贵,而数据湖的存储硬件会便宜些(虽然体积较大),因为它们通常使用的是商用硬件。
你需要监管和持续维护数据湖,才能确保数据时刻可用和可访问。如果维护不当,您的数据就可能会沦为一堆垃圾,无法访问、难以操作、价格高昂而且毫无用处。用户无法访问的数据湖,就成了“数据沼泽”。
数据湖采用扁平化架构,因为这些数据既可能是非结构化,也可能是半结构化或结构化,而且是从组织内的各种来源所收集,而数据仓库则是把数据存储在文件或文件夹中。数据湖可托管于本地或云端。
鉴于其架构特点,数据湖可大规模扩展,能达到艾字节。这一点很重要,因为创建数据湖时,您通常并不知道需要保存的数据量。传统数据存储系统就无法以这种方式扩展。
这种架构可以大大方便了数据科学家,因为他们可以通过这种架构挖掘和探索企业的数据,并共享和相互参照数据(包括不同领域的异构数据),以便进行提问并找到新的分析。他们还可以利用大数据分析和机器学习分析数据湖中的数据。
虽然数据在存入数据湖之前没有固定的模式,但利用数据监管,你仍然可以有效避免出现数据沼泽。数据在存入数据湖时应被标记为元数据,以确保随后可以存取。