数据湖:下一代企业数据仓库

2019-09-09    来源:raincent

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

 

时过境迁,曾经如日中天的数据仓库现在怎么样了?是大势不减还是已经奄奄一息、苟延残喘?如果你对这个问题感到困惑,那也是情有可原的。一方面,数据仓库的发展势头强劲。作为一个行业的长期观察者,我目睹了这个行业不断涌现的创新活动。

这种趋势是从 10 年前“Applicance Form Factor”成为数据仓库主流开始。几年前,随着市场转向新一代的云数据仓库,这种势头进一步获得了新的动力。在过去几年,云数据仓库供应商 Snowflake 在市场上备受瞩目。

数据仓库黯然失色

另一方面,数据仓库的市场份额被其他技术蚕食,比如大数据、机器学习和人工智能。这种趋势给我们造成了一种印象,即数据仓库在企业 IT 中的优先级地位正在下降。但实际上,大多数企业现在仍然至少需要一个(甚至多个)数据仓库来为下游的应用程序提供服务。

数据仓库是企业的核心工作负载,这也就是为什么几年前我就开始思考为什么数据仓库离“死”还很遥远。或许,这也解释了为什么其他观察者认为他们必须重新定义数据仓库的概念,让它能够在数据湖和云计算时代继续存在下去。

实际上,数据仓库不仅在蓬勃发展,而且被认为是云计算时代的一个核心的增长前沿。如果你的眼球只盯着像 Snowflake 这样的平台,可能会错过很多东西。

数据湖的崛起

人们所说的“数据湖”正在迅速演变成为下一代数据仓库。数据湖是指一种包含多结构数据的系统或仓库,这些数据按照各自的格式和模式进行保存,比如大对象、文件等。

数据湖通常被作为整个企业的存储中心,包括原数据系统的原始数据和转化过的用于报表、可视化、分析和机器学习的数据。它们包含了分布式文件或对象存储、机器学习模型库、高度并行化处理集群和存储资源。数据库不强制使用通用的 schema 和语义,而是在读取数据时使用 schema 和统计模型来抽取有意义的模式。

所有这些都不违背 Inmon 和 Kimball 有关数据仓库的核心概念。从根本上说,数据仓库的存在是为了聚合、保留和管理“单一版本的事实来源”数据。这个概念与使用数据的特定应用程序或用例无关。

如果你对这个说法存有疑惑,可以看一下有关 Bill Inmon 对数据仓库定义的讨论( http://www.b-eye-network.com/view/16066 ),以及 Inmon 和 Ralph Kimball 两个框架之间的比较( https://www.computerweekly.com/tip/Inmon-or-Kimball-Which-approach-is-suitable-for-your-data-warehouse )。数据仓库是关于基于数据驱动的决策支持,可以扩展到基于人工智能的推理。

下一代数据仓库

在过去的一年里,行业里出现的一些东西表明数据仓库的角色已经发生了转变。尽管决策支持仍然是大多数数据仓库的核心应用场景,但我们也看到了决策自动化正在发生稳步的转变。换句话说,数据仓库现在正在为构建基于数据驱动的推理的机器学习应用程序提供支持。

新一代数据仓库实际上就是数据湖,其首要设计目标是用来管理用于构建和训练机器学习模型的数据。例如,在去年秋季的亚马逊 re:Invent 大会上,AWS 发布了 AWS Lake Formation。这个服务旨在简化和加快数据湖的构建过程。AWS Lake Formation 具备了云数据仓库的所有特征,尽管 AWS 没有把它叫做数据仓库。实际上,该服务提供了一个经典的数据仓库亚马逊 Redshift,主要面向决策支持应用程序。

AWS Lake Formation 的行为看起来很像是数据仓库。事实上,AWS 对它的描述很容易让我们将其与数据仓库做对比:“数据湖是一个集中式的安全数据库,它存储所有数据,包括原始数据和转换过的数据。数据湖可以帮你打破数据孤岛,将不同类型的分析结合起来,从中获得洞见和更好的商业决策指导。

事实上,AWS 将 AWS Lake Formation 描述为一种用于决策支持和人工智能决策自动化的超级数据仓库。AWS 还特别强调,该服务旨在管理数据,“然后用户就可以选择他们的分析和机器学习服务,如 Amazon EMR for Spark、Amazon Redshift、Amazon Athena、Amazon SageMaker 和 Amazon QuickSight”。

值得一提的是,Databricks 最近发布了 Delta Lake 开源项目。Delta Lake 的目标与 AWS Lake Formation 类似:聚合、清理和管理数据湖中的数据集,以便更好地为机器学习提供支持。

Delta Lake 位于数据中心或云平台的数据存储平台之上,比如 HDFS、Amazon S3 或微软 Azure 大对象存储,这些数据存储都可以被 Spark 访问。Delta Lake 使用 Parquet 格式来存储数据,Databricks 将其称为“事务存储层”。Parquet 是一种开源的列式存储格式,Hadoop 生态系统中的每一个项目都支持这种格式,不管使用的是哪一种处理框架。它通过乐观并发序列化、快照隔离、数据版本、回滚和强制 schema 来支持 ACID 事务。

Delta Lake 和 AWS Lake Formation 之间的一个关键区别是 Delta Lake 可以支持批次数据和流式数据。另外,Delta Lake 支持 ACID 事务,可以支持数百个应用程序的并发写入和读取。开发者还可以访问早期版本的数据湖,进行审计和回滚,或者重现 MLFlow 机器学习的结果。

从广泛的层面来看,Delta Lake 似乎要与已经被广泛采用的 Hive 展开竞争。Hive 极度依赖基于 HDFS 的存储,而且直到最近才开始支持 ACID 事务。一年前,Hive 3 将 ACID 事务支持带到了基于 Hadoop 的数据仓库上。Hive 3 可以为 CRUD 操作提供原子性和快照隔离。

基于人工智能驱动的决策自动化基石

行业最近发布的这些东西——AWS Lake Formation、Delta Lake 和 Hive 3——预示着数据湖将成为所有决策支持和决策自动化应用程序和所有事务数据应用程序的治理中心。要加快这种趋势,Hive 3 和 Delta Lake 等开源项目需要进一步吸引供应商和用户的眼球。

“数据仓库”一词的定义可能会发生变化,主要指用于管理商业智能多结构数据的数据存储。不过,底层的数据平台会继续演化,为基于云的人工智能管道提供数据管理基础。

人工智能,而不是商业智能,正在推动着企业数据仓库的演变。

作者:James Kobielus

译者:阿拉丁

英文原文: https://www.infoworld.com/article/3405443/the-data-lake-is-becoming-the-new-data-warehouse.html

标签: 数据湖 数据仓 

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:PartiQL:一种用于所有数据的查询语言

下一篇:大型数据库支持面部识别抓取,隐私何处安放?