数据湖正在成为新的数据仓库
2019-08-06JamesKobielus
James Kobielus
有迹象表明,类似AWS Lake Formation和Delta Lake等平台,都在朝着一个用于决策支持和AI驱动决策自动化的中央枢纽发展。
数据仓库是再次获得发展动力,还是会逐渐消亡呢?如果你对这个问题感到困惑也是情有可原的。一方面,数据仓库似乎仍处于热门阶段。作为一个长期的行业观察者,我发现这一行业在一连串成功的创新和创业活动中正迸发出新的活力。
这种趋势基本上始于十年前设备标准进入数据仓库主流,然后随着市场向新一代云数据仓库转移,又在几年前获得了新动力。在过去几年中,云数据仓库供应商Snowflake在市场上获得了众多支持。
数据仓库的衰落
但另一方面,数据仓库在大数据、机器学习和人工智能等新行业的冲击下正逐渐黯然失色。这种趋势造成了数据仓库在企业IT优先等级中不断下降,但是实际上大多数企业现在至少有一个或是有多个数据仓库服务于各种下游应用程序。
数据仓库一直是企业的核心工作负载,这也是几年前我认为自己有必要搞清楚为什么数据仓库远未消亡的原因。同时,这也可能解释了为什么其他观察者认为他们必须重新定义数据仓库的概念,以使其能够融入数据湖和云计算时代。
数据仓库作为一种实践不仅蓬勃发展,而且现在还被视为云计算行业的增长核心。如果你只关注以此标签进入市场的那些平台(例如Snowflake),那么你将错过这个领域内的众多机遇。
数据湖的兴起
被许多人称之为“数据湖”的概念正在迅速发展成为下一代数据仓库。对于那些不熟悉这个概念的人来说,数据湖是一种多结构化数据的系统或存储库,它们以原始格式和模式存储,通常作为blob对象或文件。
数据湖通常用作所有企业数据的单个存储,包括源系统数据的原始副本和用于报告、可視化、分析和机器学习等任务的转换数据。它们包含分布式文件或对象存储、机器学习模型库以及高度并行化的处理与存储资源集群。并且,数据库通常在读取时进行处理,并使用统计模型从中提取有意义的相关性和模式,而不是对它们存储的对象强制执行通用模式和语义。
这与Inmon和Kimball核心概念不一样,后者的概念是将大多数专业人员的方法提供给数据仓库。在本质上,数据仓库是用于聚合、保留和管理官方认可的“单一版本的真实”数据记录。此概念与管理数据的特定应用程序域以及使用它们的特定用例无关。
如果你对我的看法持怀疑态度,那么你可以看一下Bill Inmon对数据仓库的定义以及对Inmon和Ralph Kimball框架的比较。数据仓库通常都是关于数据驱动的决策支持,这使得它们可以很好地扩展到由人工智能驱动的推理领域。
下一代数据仓库
在过去的一年当中,多个备受瞩目的行业公告标志着数据仓库的角色发生了转变。尽管决策支持(即商业智能、报告和在线分析处理)仍然是大多数数据仓库的核心用例,但是我们看到了其正在稳步向着决策自动化转型。换句话说,数据仓库现在支持数据科学管道,为数据驱动的推理构建机器学习应用程序。
新一代数据仓库实际上就是数据湖,其主要用途是对用于构建和训练机器学习模型的数据进行管理。这些数据已经进行过了清洗、整合和验证。例如,在去年秋天召开的Amazon re:Invent大会上,亚马逊网络服务公布了AWS Lake Formation。这种新托管服务的目的很明确,就是简化和加速安全数据湖的设置。虽然AWS Lake Formation拥有云数据仓库的所有标志,并且实际上提供了一个面向决策支持应用程序的经典数据仓库Amazon Redshift,但是亚马逊网络服务(AWS)并没有这样称呼它。
AWS Lake Formation的外观和功能类似于数据仓库。AWS将其描述为:“数据湖是一个集中化的、有机的且安全的存储库,它们以原始形式存储所有数据并为分析做好准备。通过数据湖,你可以打破数据孤岛并组合不同类型的分析,从而获得深刻的洞察力,更好地指导业务决策。”
实际上,AWS将AWS Lake Formation作为一种超级数据仓库用于决策支持和人工智能驱动的决策自动化。AWS表示该服务旨在管理数据集,让用户能够选择并使用Amazon EMR for Apache Spark、Redshift、Athena、SageMaker和QuickSight等分析与机器学习服务。
另一个例子是Databricks最近宣布的Delta Lake开源项目。Delta Lake可以在Apache 2.0许可下使用,类似于AWS Lake格式,主要用途是对在数据湖中维护的数据集进行聚合、清洗和管理,以支持机器学习。
Delta Lake位于本地部署或云数据存储平台之上,可以从Apache Spark访问HDFS、Amazon S3或微软Azure blob等存储。Delta Lake将数据存储在Parquet中,以提供Databricks所称的“事务存储层”。Parquet是一种开源的列式存储格式,可用于Hadoop生态系统中的任何项目,与选择数据处理框架无关。它们通过开放式并发串行、快照隔离、数据版本控制、回滚和模式强制来支持ACID事务。
Delta Lake和AWS Lake Formation之间的一个关键区别是Delta Lake可处理该管道中的批量数据和流数据。另一个区别是Delta Lake支持所有数据的ACID事务,允许数百个应用程序同时进行多次写入和读取。此外,开发人员还可以访问每个Delta Lake的早期版本,以进行审计、回滚或重现其MLFlow机器学习实验的结果。
Delta Lake似乎要与Apache Hive展开竞争。虽然Apache Hive完全依赖基于HDFS的存储,并且直到最近才解决了对ACID的支持,但是它们已经成为了部署最为广泛的开源数据仓库项目。Hive 3在一年前才宣布要为基于Hadoop的数据仓库提供ACID支持。Hive 3可为使用delta文件的CRUD(创建读取更新删除)表单提供原子性和快照隔离等操作。
作为人工智能驱动的决策自动化的基础
近期关于AWS Lake Formation、Delta Lake和Hive 3的这些行业公告都预测了数据湖成为决策支持与决策自动化应用以及交易数据应用的中央枢纽的时间。为了加速这一趋势,Hive 3和Delta Lake等开源项目需要吸引供应商和用户更多的关注。
未来“数据仓库”这一术语可能将主要指那些存储了用于商业智能的结构化数据的多域仓库。底层数据平台还会将继续发展,以便为基于云的人工智能提供核心数据治理基础。不过,目前推动企业数据仓库发展的主要动力是人工智能而非商业智能。
本文作者James Kobielus为SiliconAngle Wikibon公司负责人工智能、数据科学和应用程序开发的首席分析师。
原文网址
https://www.infoworld.com/article/3405443/the-data-lake-is-becoming-the-new-data-warehouse.html