数据湖是非结构化和结构化数据池,按原样存储,没有特定的目的,可以建立在多种技术上,如Hadoop,NoSQL,Amazon Simple Storage Service,关系数据库或各种组合根据一份名为“什么是数据湖”的白皮书,为什么它变得流行?
Data Lake允许多点采集和多个数据访问点。Pentaho公司的创始人詹姆斯·迪克森(James Dixon)在2010年创造了“数据湖”(Data Lake)这个术语,并将其与数据集市(Data Mart)
“如果你把数据集市视为瓶装水的存储 - 清洁和打包,并容易消费的结构 - 数据湖是一个更自然状态的大量水体。数据湖的内容从一个源头填补湖泊,湖泊的各种用户可以来检查,潜水或采样。
在数据湖与数据仓库的关键区别上,SAS研究所新兴技术总监Tamara Dull将Data Lake定义为“一个存储仓库,以原生格式存储大量原始数据,包括结构化,半结构化和非结构化数据“。
Dull接着说:“与数据仓库相比,存储数据的成本相对较低。这主要有两个原因:首先,Hadoop是开源软件,所以许可和社区支持是免费的。其次,Hadoop被设计成安装在低成本的商品硬件上“
Hortonworks公司战略副总裁Shaun Connolly在他的博客文章Enterprise Hadoop和“数据湖之旅:
“数据湖的特点是三个关键属性:
- 收集一切。Data Lake包含所有数据,包括长时间的原始数据源以及任何已处理的数据。
- 潜水在任何地方。数据湖使多个业务部门的用户可以根据自己的条款细化,探索和丰富数据。
- 灵活的访问。Data Lake支持跨共享基础架构的多种数据访问模式:批处理,交互式,在线,搜索,内存和其他处理引擎。
数据湖并不是一个快速修复所有问题的方法,Bob Violino是“数据湖首席信息官需要了解的五件事”一书的作者。他说,“你不能买一个现成的数据湖。供应商将Data Lakes作为大数据项目的灵丹妙药进行营销,但这是一个谬论。“他引用Gartner研究总监Nick Heudecker的话说,”就像数据仓库一样,Data Lakes是一个概念,而不是技术。数据湖的核心是数据存储策略。“
数据湖出生于社交媒体巨人
PriceWaterhouseCooper(普华永道)杂志总结了数据湖中数据湖概念的起源和未来数据的承诺:
“Hadoop背后的基本概念是由Google设计的,旨在满足其对灵活,经济高效的数据处理模式的需求,这种模式可以随着数据量的增长比以往任何时候都快。雅虎,Facebook,Netflix以及其他基于管理大量数据的商业模式的公司也采用了类似的方法。成本当然是一个因素,因为Hadoop的部署成本比传统的数据仓库要低10到100倍。采用的另一个驱动因素是推迟劳动密集型模式开发和数据清理的机会,直到组织确定了明确的业务需求。数据湖泊更适合这些公司需要处理的结构较少的数据。“
及时分析数据前进和后退
Data Lake可以在未知需求之前收集数据,然后才能知道这些需求是什么,因此具有巨大的潜力。数据不受数据捕获时存在的思维范围的限制,而是可以自由地回答我们还不知道要问的问题:“数据本身不再受初始模式决策的限制,而且可以更自由地利用数据“硅谷数据科学战略副总裁Edd Dumbill在”数据湖梦“中写道。ThoughtWorks的数据博客作者Martin Fowler在一篇名为“数据湖”的文章中表示:“数据湖应该包含所有的数据,因为你不知道人们今天或者几年之后会发现什么有价值的东西。
BlueGranite博主兼微软云数据解决方案架构师Chris Campbell表示,
“Data Lake保留所有数据。不仅仅是今天使用的数据,还有可能被使用的数据,甚至可能永远不会被使用的数据,因为有一天它可能会被使用。数据也一直保存下来,以便我们能够及时回到任何一点进行分析。“
Tamara Dull补充说,Data Lake缺乏结构,“使开发人员和数据科学家能够轻松地配置和重新配置他们的模型,查询和应用程序”。
支持多个用户
Data Lake方法的另一个特点是可以满足各种用户的需求。整个公司的用户都可以访问数据,以满足他们所能想象的任何需求 - 从集中式模式转变为更加分散式的模式:“来自不同业务部门的用户有可能完善,探索和丰富数据的潜力”把Data Lake工作,Hortonworks和Teradata的白皮书。
Chris Campbell根据数据与数据的关系将数据用户划分为三类:那些只希望在电子表格上进行日常报告的人,那些进行更多分析但希望回到源头以获取最初未包括的数据的人,想用数据来回答全新的问题。他说:“Data Lake方法同样支持所有这些用户。”
成本有效的存储
坎贝尔还说,数据湖泊相对便宜,易于存储,因为存储成本最小,预格式化是没有必要的。“商品,现成的服务器与廉价的存储相结合,使数据湖的容量达到TB和PB,相当经济。”根据Hortonworks和Teradata的白皮书,Data Lake概念“提供了一种符合成本效益和技术上可行的方式来满足Big数据挑战“。
当心“沼泽”
Martin Fowler警告说,“数据湖有一个共同的批评 - 它只是一个质量差异很大的数据的倾倒地点,更好地命名为”数据沼泽“,批评是有效的和不相关的。”他接着说:
“这些原始数据的复杂性意味着有一些东西可以将数据转换成更易于管理的结构(以及减少相当大的数据量)。数据湖不应该被直接访问得太多。因为数据是生的,所以你需要很多技能才能做出任何意义。在数据湖中工作的人相对较少,因为他们发现对湖泊数据普遍有用的观点,他们可以创建一些数据集市,每个数据集市都有一个单一的有限背景的特定模型。
对数据上下文的不同理解
最终用户可能不知道如何使用数据,或者当数据没有策划或结构化时他们正在看什么,这使得它不太有用:“数据湖的根本问题是它对信息用户做出了某些假设”数据湖里的Nick Heudecker说:不要把它们和数据仓库混为一谈,警告Gartner。
Tamara Dull指出,尽管最初希望为公司范围内的每个人提供数据访问,但是像以前的举措一样,全面参与的期望可能会令人失望:
“很长一段时间以来,这个号召力一直是'BI and Analytics for everyone!'我们已经建立了数据仓库并邀请所有人前来,但是他们来了吗?平均而言,有20-25%的人拥有。对于Data Lake来说,这是否一样的呐喊?我们会建设数据湖,并邀请大家来?不,如果你聪明。相信我,数据湖,在这个成熟的阶段,最适合数据科学家。“
数据湖比数据仓库更好吗?
Tamara Dull指出,Data Lake不是“数据仓库2.0”,也不是数据仓库的替代品:“因此,要回答这个问题,数据仓库不仅仅是数据仓库的重新审视吗?我的意思是否定的。无聊的同事,SAS最佳实践思想领袖Anne Buff列举了关于智能数据集体在线辩论的主要差异:
数据仓库与数据湖
仓库中的数据是:结构化的,已处理的
仓库的处理是:模式在写
仓库中的存储是:大数据量昂贵
仓库中的敏捷性是:敏捷性较低,固定配置
仓库的安全是:成熟
仓库的用户是:商业专业人士
湖泊中的数据是:结构化/半结构化/非结构化/原始的
处理湖是:图解在读
在湖中储存是:低成本设计
在湖中敏捷:高度敏捷,根据需要进行配置和重新配置
湖中的安全是:成熟
数据科学家et.al.
克里斯坎贝尔看到这两个关键的区别:
数据仓库:
它代表了由主题领域组织的业务的抽象图片。
这是高度转变和结构。
在定义使用数据之前,数据不会被加载到数据仓库中。
它通常遵循既定的方法
数据湖:
所有数据都从源系统加载。没有数据被拒绝。
数据以未转换或几乎未转换的状态存储在叶级。
数据被转换,模式被应用来满足分析的需要。
它支持所有用户。
它很容易适应变化,并提供更快的见解。
尽管每个人都有其支持者和批评者,但似乎两者都有余地,“数据湖不是数据仓库”。他们都是为了不同的目的而优化的,目标是用每个人的设计来做。“Tamara Dull说。换句话说,使用最好的工具来完成这项工作。这不是一个新的教训。我们以前学过这个。现在我们来做吧。