0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据管理者需要考虑使用数据湖或数据仓库作为存储库

工业互联网前线 来源:数据驱动智能 作者:晓晓 2022-10-18 09:41 次阅读

今天,每秒都在生成 TB 和 PB 的数据,为这些海量数据集寻找存储解决方案至关重要。复杂的机器和技术现在收集了令人难以置信的广泛数据——每天超过 2.5 万亿字节!— 来自设备传感器、日志、用户、消费者和其他地方。数据存储并不像以前看起来那么简单。在管理和存储数据时,数据管理者需要考虑使用数据湖或数据仓库作为存储库。

随着数据量、速度和种类的增加,选择合适的数据平台来管理数据从未像现在这样重要。它应该是迄今为止满足我们需求的古老数据仓库,还是应该是承诺支持任何类型工作负载的任何类型数据的数据湖? 在这里,我们深入探讨了这两个平台。

数据湖

数据湖是一个中央存储库,可以大量存储所有数据(结构化和非结构化数据)。数据通常以原始格式存储,无需首先进行处理或结构化。在这种情况下,它可以针对手头的目的进行优化和处理,无论是交互式分析、下游机器学习或分析应用程序的仪表板。

可以这样想,数据湖就像一个大水体,比如说一个处于自然状态的湖。数据湖是使用来自各种来源的数据流创建的,然后,多个用户可以来到湖中对其进行检查并取样。

数据湖的美妙之处在于每个人都在查看和操作相同的数据。消除多个数据源并在数据湖中拥有一个可引用的“黄金”数据集来保障组织内的一致性,因为用于访问组织中智能的任何其他下游存储库或技术都将同步。这很关键。

使用这种集中的数据源,就不会从不同的孤岛中提取数据;组织中的每个人都有一个单一的事实来源。

该模式为公司的分析生命周期提供了近乎无限的能力:

摄取:数据以任何原始格式到达并存储以供将来分析或灾难恢复。公司通常会根据隐私、生产访问以及将利用传入信息的团队来划分多个数据湖。

存储:数据湖允许企业管理和组织几乎无限量的信息。云对象存储以较低的成本为大数据计算提供高可用性访问。

流程:借助云计算,基础设施现在只需一个 API 调用即可。这是从数据湖中的原始状态获取数据并格式化以与其他信息一起使用的时候。这些数据也经常使用高级算法进行聚合、合并或分析。然后将数据推回数据湖以供商业智能或其他应用程序存储和进一步使用。

消费:当我们谈论自助服务数据湖时,消费通常是生命周期中的阶段。此时,数据可供业务和客户根据需要进行分析。根据复杂用例的类型,最终用户还可以间接或直接以预测(预测天气、财务、运动表现等)或感知分析(推荐引擎、欺诈检测、基因组测序、 ETC)。

数据湖支持原生流,数据流在其中被处理并在到达时可用于分析。数据管道在从数据流接收数据时转换数据,并触发分析所需的计算。数据湖的原生流式传输特性使其非常适合流式分析。

数据仓库

数据仓库发明于1980 年底,专为业务应用程序生成的高度结构化数据而设计。它将组织的所有数据集中在一起并以结构化方式存储。它通常用于连接和分析来自异构来源的数据。

数据仓库架构依赖于数据结构来支持高性能的 SQL(结构化查询语言)操作。数据仓库是专门为基于 SQL 的访问而构建和优化的,以支持商业智能,但为流分析和机器学习提供有限的功能。它们受到 ETL 要求的限制,需要在存储数据之前对其进行预处理。

数据仓库在数据用于分析之前需要顺序 ETL摄取和转换数据,因此它们对于流式分析效率低下。一些数据仓库支持“微批处理”以经常以小增量收集数据。它支持顺序 ETL 操作,其中数据以瀑布模型从原始数据格式流向完全转换的集合,并针对快速性能进行了优化。

数据仓库以专有格式存储数据。一旦数据存储在数据仓库中,对该数据的访问仅限于 SQL 和数据仓库提供的自定义驱动程序。一些较新的数据仓库支持半结构化数据,例如 JSON、Parquet 和 XML 文件;与结构化数据集相比,它们对此类数据集的支持有限且性能下降。数据仓库不能完全支持存储非结构化数据。

数据湖和数据仓库之间的区别

数据仓库和商业智能工具支持历史数据的报告和分析,而数据湖支持利用数据进行机器学习、预测和实时分析的新用例。

12479846-4e21-11ed-a3b6-dac502259ad0.png

虽然一些数据仓库扩展了基于 SQL 的访问以提供机器学习功能,但它们不提供原生支持来运行广泛可用的程序化数据处理框架,例如 Apache Spark、Tensorflow 等。

相比之下,数据湖是机器学习用例的理想选择。它们不仅提供基于 SQL 的数据访问,还通过 Python、Scala、Java 等语言为 Apache Spark 和 Tensorflow 等编程分布式数据处理框架提供原生支持。

数据仓库需要在数据用于分析之前顺序 ETL摄取和转换数据,因此它们对于流式分析效率低下。一些数据仓库支持“微批处理”以经常以小增量收集数据。这种流到批处理的转换增加了数据到达与用于分析之间的时间,使得数据仓库不适用于多种形式的流分析。

126bcc02-4e21-11ed-a3b6-dac502259ad0.png

数据湖支持本地流式传输,其中数据流在到达时被处理并可供分析。数据管道在从数据流接收数据时转换数据,并触发分析所需的计算。数据湖的原生流式传输特性使其非常适合流式分析。 数据仓库支持顺序 ETL 操作,其中数据以瀑布模型从原始数据格式流向完全转换的集合,并针对快速性能进行了优化。

相比之下,对于需要持续数据工程的用例,数据湖异常强大。在数据湖中,ETL 的瀑布方法被迭代和连续的数据工程所取代。可以通过 SQL 和编程接口迭代地访问和转换数据湖中的原始数据,以满足用例不断变化的需求。这种对持续数据工程的支持对于交互式分析和机器学习至关重要。

揭穿关于数据湖和数据仓库的三大神话

让我们解决一些关于两种流行的数据存储类型的常见误解:

误区一:只需要数据湖或数据仓库中的一个

如今,经常听到人们谈论数据湖和数据仓库,好像企业必须选择其中一个。但现实情况是,数据湖和数据仓库服务于不同的目的。虽然两者都提供数据存储,但它们使用不同的结构,支持不同的格式,并针对不同的用途进行了优化。通常,公司可能会从使用数据仓库和数据湖中受益。

数据仓库最适合希望为商业智能分析操作系统数据的企业。数据仓库在这方面工作得很好,因为存储的数据是结构化、清理和准备分析的。同时,数据湖允许企业以任何格式存储数据以用于几乎任何用途,包括机器学习 (ML) 模型和大数据分析。

误区 2:数据湖是流行趋势,数据仓库不是

人工智能 (AI) 和 ML 代表了一些增长最快的云工作负载,组织越来越多地转向数据湖来帮助确保这些项目的成功。由于数据湖允许存储几乎任何类型的数据(结构化和非结构化)而无需事先准备或清理,因此组织能够保留尽可能多的潜在价值以供将来使用,未指定使用。此设置非常适合更复杂的工作负载,例如尚未确定具体数据类型和用途的机器学习模型。

数据仓库可能是这两种选择中更为人所知的一种,但数据湖和类似类型的存储基础设施可能会随着数据工作负载的趋势而继续流行。数据仓库适用于某些类型的工作负载和用例,而数据湖代表了服务于其他类型工作负载的另一种选择。

误区三:数据仓库易于使用,而数据湖很复杂

数据湖需要数据工程师和数据科学家的特定技能来分类和利用其中存储的数据。数据的非结构化性质使得那些不了解数据湖如何工作的人更不容易访问它。

但是,一旦数据科学家和数据工程师构建了数据模型或管道,业务用户通常可以利用与流行业务工具的集成(自定义或预构建)来探索数据。同样,大多数业务用户通过连接的商业智能 (BI) 工具访问存储在数据仓库中的数据。在第三方 BI 工具的帮助下,业务用户应该能够访问和分析数据,无论该数据存储在数据仓库还是数据湖中。

构建现代数据平台的原则

尽量减少数据平台中人员、网络和磁盘操作的影响。虽然人类永远无法像计算机一样快,但网络和磁盘操作是客观问题。为了减少这些问题的影响,避免在各处复制数据,加强平台读取和处理来自不同位置的数据的能力,包括事务性、发布/子系统和数据仓库系统,而无需当天移动。

构建现代数据平台的原则是:

把事情简单化,不要过度架构或过度设计;

为正确的工作使用正确的工具;

让用例决定你应该使用什么;

使用云进行扩展;

将数据与上下文分开,这将使数据能够用于多个用例。

数据湖和数据仓库:用例

Data Lake 已经成为一个强大的平台,企业可以使用它来管理、挖掘大量非结构化数据并将其货币化,以获得竞争优势。因此,公司对数据湖平台的采用率急剧增加。

在这种利用大数据的热潮中,一直存在一种误解,即 Data Lake 旨在取代数据仓库,而实际上,Data Lake 旨在补充传统的关系数据库管理系统 (RDBMS)。

数据仓库适用于某些类型的工作负载和用例,而数据湖代表了服务于其他类型工作负载的另一种选择。

用例应该驱动数据平台架构

如果您的用例需要速度、具有已知的数据模型、完全结构化或非常接近它,那么 SQL 数据仓库就足够了。但是,如果您需要及时灵活地对数据进行建模并将其用于多种工作负载,您应该使用数据湖。

组织将依靠多种技术的最佳解决方案,包括数据仓库和数据湖。最终,组织的选择需要平衡管理多种技术的复杂性和 TCO 与以高性能和经济高效的方式运行更多种类的工作负载的能力。

未来该如何选择

我们现在处于这样一个阶段,我们不仅可以使用数据来回顾过去,还可以了解现在,甚至可以预测未来。数据和工具将不断发展,以帮助我们几乎实时地到达那里。

将数据与上下文分开。进来的数据不一定有你想用它的上下文。所以,在弄清楚你想用它做什么之前,把将数据获取到一个位置的想法分开。因为实际上,您将对该数据进行多种用途。因此,您永远不知道您可以将这些数据用于什么用途。因此,如果您首先获取数据,然后弄清楚您想用它做什么,通常会导致使用这些数据产生更积极的结果。

数据仓库供应商正在逐渐从他们现有的模型转向数据仓库和数据湖模型的融合。同样,数据湖的供应商现在正在扩展到数据仓库领域,双方正在趋同。例如,BigQuery 现在允许组织在 Amazon S3 上查询数据。同样,Databricks 和 Qubole 等数据湖平台现在正在果断地转向数据仓库用例。您可以使用 ACID 属性、事务一致性、快照等来管理存储,并将查询引擎更多地与存储管理集成,为客户创建湖仓模式。数据湖和数据仓库之间的融合不仅仅是在谈论,而是正在现实中应用。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1462

    浏览量

    61594
  • SQL
    SQL
    +关注

    关注

    1

    文章

    751

    浏览量

    43942
  • ETC
    ETC
    +关注

    关注

    0

    文章

    187

    浏览量

    27986
  • 机器学习
    +关注

    关注

    66

    文章

    8310

    浏览量

    132026

原文标题:一文读懂选择数据湖还是数据仓库

文章出处:【微信号:IndustryIOT,微信公众号:工业互联网前线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据无界,管理有道:图为技术T-Plant OS的数据管理之道

    在工厂全生命周期的管理中,数据作为贯穿始终的核心资产,高效且精准的数据管理,不仅能优化工厂运营流程、提升生产效率,还能激发企业内在创新潜能、强化市场竞争优势。虽然随着计算机性能和大容量
    的头像 发表于 07-16 14:54 175次阅读
    <b class='flag-5'>数据</b>无界,<b class='flag-5'>管理</b>有道:图为技术T-Plant OS的<b class='flag-5'>数据管理</b>之道

    数字化时代的数据管理:多样化数据库选型指南

    挑战。数据库作为数据管理的核心技术,其选型对于系统至关重要。传统的关系型数据库(RDBMS)以其严格的ACID事务、优秀的一致性和安全性在企业应用中占据了长久的统治地位。然而,随着互联
    的头像 发表于 07-08 19:10 185次阅读
    数字化时代的<b class='flag-5'>数据管理</b>:多样化<b class='flag-5'>数据库</b>选型指南

    数据仓库数据库的主要区别

    数据仓库数据库是两个在信息技术领域中常见的概念,它们在数据管理和分析方面发挥着重要作用。尽管它们在某些方面有相似之处,但它们在设计、目的和功能上存在显著差异。本文将介绍数据仓库
    的头像 发表于 07-05 14:57 297次阅读

    鸿蒙开发接口数据管理:【@ohos.data.rdb (关系型数据库)】

    关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据数据库。关系型数据库基于SQLite组件提供了一
    的头像 发表于 06-10 18:35 1075次阅读

    鸿蒙开发接口数据管理:【@ohos.data.distributedData (分布式数据管理)】

    分布式数据管理为应用程序提供不同设备间数据库的分布式协同能力。通过调用分布式数据各个接口,应用程序可将数据保存到分布式数据库中,并可对分布式
    的头像 发表于 06-07 09:30 765次阅读
    鸿蒙开发接口<b class='flag-5'>数据管理</b>:【@ohos.data.distributedData (分布式<b class='flag-5'>数据管理</b>)】

    什么是数据数据数据仓库有什么区别?

    从本质上说,数据就是一个信息资源。人们常常将数据数据仓库混为一谈,但两
    的头像 发表于 05-20 12:38 513次阅读
    什么是<b class='flag-5'>数据</b><b class='flag-5'>湖</b>?<b class='flag-5'>数据</b><b class='flag-5'>湖</b>和<b class='flag-5'>数据仓库</b>有什么区别?

    数据中台、数据仓库数据治理与主数据的定位与差异

    在数字化时代,大数据已经成为企业运营和决策的重要资产。为了更好地管理和利用这些数据数据中台、数据仓库
    的头像 发表于 05-08 10:40 359次阅读

    构建高效数据生态:数据库数据仓库数据、大数据平台与数据中台解析_光点科技

    在数字化的浪潮中,一套高效的数据管理系统是企业竞争力的核心。从传统的数据库到现代的数据中台,每一种技术都在数据的旅程中扮演着关键角色。本文将深入探讨
    的头像 发表于 01-17 10:20 293次阅读

    虹科干货丨无模式数据库的利与弊

    数据管理需求日益多样,无论是金融服务、游戏还是社交媒体行业,都要求支持实时数据处理和快速迭代,无模式数据库因其灵活性和易用性而逐渐成为开发的新选择。那么,无模式
    的头像 发表于 12-20 09:44 288次阅读

    无模式数据库的利与弊

    数据管理需求日益多样,无论是金融服务、游戏还是社交媒体行业,都要求支持实时数据处理和快速迭代,无模式数据库因其灵活性和易用性而逐渐成为开发的新选择。那么,无模式
    的头像 发表于 12-16 08:04 406次阅读
    无模式<b class='flag-5'>数据库</b>的利与弊

    常见的存储Idea数据库的地方

    Idea的数据库存储在许多不同的地方,取决于应用程序和使用的技术。下面将详细描述一些常见的存储Idea数据库的地方。 关系型数据库(RDB
    的头像 发表于 12-06 14:15 825次阅读

    sql数据库入门基础知识

    SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的编程语言。它被广泛应用于企业应用、数据仓库和网站开发等领域。了解SQL的基础知识是成为一名
    的头像 发表于 11-23 14:24 1748次阅读

    HarmonyOS数据管理与应用数据持久化(一)

    一. 数据管理概述 功能介绍 数据管理为开发提供数据存储数据管理能力,比如联系人应用
    发表于 11-01 16:27

    Access数据库案例:Labview数据存储

     在数据库领域,Access是由Microsoft开发的一款基于Windows平台的关系型数据库管理系统(RDBMS)。它提供了一个使用简便的用户界面,可用于创建、管理和查询
    发表于 10-26 16:23 9次下载

    如何打造智能工厂的数据底座

    数据底座是用于描述存储、处理和管理数据的基础架构。它可以指代物理设备软件工具,用于收集、存储
    的头像 发表于 10-17 11:09 600次阅读