大数据时代,数据存储对任何机构来说都是一件头等大事。从数据仓库(Data Warehouse),到如今如火如荼的数据湖(Data Lake),都被机构广泛应用于大数据存储,但从结构和处理方式上都有很大的区别。
这篇文章,我们重点关注数据湖与数据仓库,这两种数据存储类型之间的差异,帮助企业决策如何利用它们更好地管理自己的数据。
在讨论数据湖与数据仓库之前,我们先理清一些基本概念,比如什么是数据湖,什么是数据仓库?
一、数据湖与数据仓库的概念
1,什么是数据湖?
数据湖定义将其解释为高度可扩展的数据存储区域,以原始格式存储大量原始数据,直到需要使用为止。数据湖可以存储所有类型的数据,对帐户大小或文件没有固定限制,也没有定义特定用途。数据来自不同的来源,可以是结构化的、半结构化的,甚至是非结构化的,数据可按需查询。
数据湖的核心概念是允许收集和存储大量数据而无需立即处理或分析所有数据。 数据湖的最终用户是数据科学家和工程师。
2,什么是数据仓库?
数据仓库是从广泛的运营和外部数据源中积累的组织数据的大型存储库。数据经过结构化、过滤并已针对特定目的进行处理。数据仓库会定期从各种内部应用程序和外部合作伙伴系统中提取处理过的数据,以进行高级查询和分析。
大中型企业使用数据仓库是基于跨部门特定的数据库共享数据和内容。数据仓库的目的可以是存储有关产品、订单、客户、库存、员工等的信息。数据仓库的最终用户是企业家和商业用户。
接下来,让我们来了解一下 数据湖和数据仓库的类型。
二、数据湖与数据仓库类型的区别
1,数据湖的类型
数据湖的类型可以是结构化、非结构化、半结构化和二进制等。
(1)结构化:包含来自关系数据库的结构化数据,即行和列
(2)非结构化:包含来自电子邮件、文档、PDF 的非结构化数据
(3)半结构化:包含半结构化数据,如 CSV、日志、XML、JSON
(4)二进制:包含图像、音频、视频
2,数据仓库的主要类型
(1)企业数据仓库 (EDW) :这种类型的数据仓库充当帮助企业内决策支持服务的主数据库。EDW 提供对跨组织信息的访问,一种数据表示的集成方法,并且可以运行复杂的查询。
(2)操作数据存储 (ODS):ODS 实时刷新并用于运行例行任务,包括存储员工记录。存储在这里的数据可以被清理,冗余检查和解决。它还可以用于整合来自不同来源的对比数据,以便业务运营、分析和报告能够顺利运行。
(3)数据集市:数据集市是数据仓库的子集,因为它存储特定部门、地区或业务单位的数据。数据集市有助于增加用户响应并减少分析数据量。此处的数据存储在 ODS 中,然后ODS将其发送到 EDW,并在其中存储和使用。
接下来,让我们讨论一下数据湖与数据仓库工具之间的差异。
三、数据湖工具与数据仓库工具的区别
1、数据湖工具
Hadoop 分布式文件系统 (HDFS) 等大数据技术用于增强数据湖对分析的影响。HDFS 对任何类型结构的海量数据都表现出轻松的适应性和可扩展性。
此外,Hadoop通过将结构化视图应用于原始数据来支持数据仓库场景。这种灵活性使Hadoop成为向每一层业务用户提供数据和洞察力的绝佳选择。例如,亚马逊 (Amazon S3)、微软 (Azure Data Lake) 和谷歌 (Google Cloud Storage) 等许多公司都在为数据湖管理中的存储技术提供云端托管服务。
市场上评价最高的数据湖工具有如下几款:
(1)Azure Data Lake Storage:创建单一、统一的数据存储空间。该工具提供了先进的安全设施、准确的数据身份验证以及对特定角色的有限访问,适合大规模查询。
(2)AWS Lake Formation:提供了一个非常简单的解决方案来设置数据湖。与基于 AWS 的分析和机器学习服务无缝集成。该工具创建了一个细致的、可搜索的数据目录,其中包含用于识别数据访问历史记录的审计日志。
(3)Qubole:这个数据湖解决方案以开放格式存储数据,可以通过开放标准访问。主要功能包括提供临时分析报告,结合数据管道以实时提供统一的洞察力。
(4)Infor 数据湖:从不同来源收集数据并将其摄取到一个结构中,该结构立即开始从中获取价值。由于智能编目,存储在这里的数据永远不会变成沼泽。
(5)智能数据湖:此工具可帮助客户从基于 Hadoop 的数据湖中获得最大价值。底层 Hadoop 系统确保用户不需要太多编码即可运行大规模数据查询。由于所有这些差异,组织通常需要两个数据湖来利用大数据,同时仍需要数据仓库用于分析。
2、数据仓库工具
数据仓库技术与关系数据库保持一致,因为它们擅长对高度结构化的数据进行高速查询。关系数据库不断发展,使得数据仓库更快、更具可扩展性和更可靠。
以下是当前炙手可热的数据仓库工具。
(1)Amazon Redshift:一种云数据仓库工具,非常适合高速数据分析。此数据仓库示例可以执行大量并发查询,而无需任何操作开销。
(2)Microsoft Azure:一个基于节点的平台,允许大规模并行处理,有助于快速提取和可视化业务洞察力。
(3)Google BigQuery:这个数据仓库工具可以与 Cloud ML 和 TensorFlow 集成,以构建强大的 AI 模型。
(4)Snowflake:允许分析来自各种结构化和非结构化来源的数据。它由一个共享架构组成,将存储与处理能力分开。因此,用户可以根据用户活动扩展 CPU 资源。
(5)Micro Focus Vertica:此SQL数据仓库可在包括AWS和 Azure 在内的平台上的云中使用。它为机器学习、模式匹配和时间序列提供内置分析功能。
(6)Amazon DynamoDB:可扩展的 DynamoDB 可以将查询容量扩展到每天 10 或 20 万亿个请求,超过 PB 级的数据。
如今的数据仓库工具已经非常成熟,它们速度快、易于扩展,且按需付费的云数仓得到市场广泛认可。
四、6个角度综述数据湖与数据仓库的区别
1、数据结构:数据仓库只能存储经过处理和提炼的数据,而数据湖存储尚未出于某种目的处理的原始数据。因此,数据湖需要比数据仓库大得多的存储容量,且数据灵活、分析迅速,非常适合机器学习。
2、加工:数据仓库使用写入时序模式的方法来处理数据以赋予其形状和结构,而数据湖对原始数据使用读取模式来处理它。
3、成本:存储在数据仓库中的成本可能很高,尤其是在有大量数据的情况下,而数据湖是专为低成本数据存储而设计,成本更低廉。这就解释了为什么许多公司更喜欢数据湖。
4、目的:数据仓库的好处之一是存储空间不会浪费在可能不会使用的数据上,所以数据仓库仅保存已用于特定目的的已处理数据。而数据湖存储原始数据,这些原始数据有时具有特定的未来用途,有时仅用于囤积。因此,数据湖中的数据组织和过滤较少。
5、用户:数据仓库主要由熟悉已处理数据主题的 IT 或业务专业人员所使用,而数据湖中的非结构化数据通常需要数据科学家或工程师在使用数据之前组织数据湖。
6、可访问性:数据仓库是按设计构建的,因此难以访问和操作。相比之下,数据湖几乎没有限制,并且易于访问和更改,数据支持快速更新。这算是数据湖的关键优势之一。