背景介绍
大数据时代,数据存储对任何机构来说都是一件头等大事。从数据仓库(Data Warehouse),到如今如火如荼的数据湖(Data Lake),都被机构广泛应用于大数据存储,但从结构和处理方式上都有很大的区别。
这篇文章,我们重点关注数据湖与数据仓库,这两种数据存储类型之间的差异,帮助企业决策如何利用它们更好地管理自己的数据。
在讨论数据湖与数据仓库之前,我们先理清一些基本概念,比如什么是数据湖,什么是数据仓库?
什么是数据湖?
数据湖定义将其解释为高度可扩展的数据存储区域,以原始格式存储大量原始数据,直到需要使用为止。数据湖可以存储所有类型的数据,对帐户大小或文件没有固定限制,也没有定义特定用途。数据来自不同的来源,可以是结构化的、半结构化的,甚至是非结构化的,数据可按需查询。
数据湖的核心概念是允许收集和存储大量数据而无需立即处理或分析所有数据。 数据湖的最终用户是数据科学家和工程师。
什么是数据仓库?
数据仓库是从广泛的运营和外部数据源中积累的组织数据的大型存储库。数据经过结构化、过滤并已针对特定目的进行处理。数据仓库会定期从各种内部应用程序和外部合作伙伴系统中提取处理过的数据,以进行高级查询和分析。
数据湖的类型
数据湖的类型可以是结构化、非结构化、半结构化和二进制等。
(1)结构化:包含来自关系数据库的结构化数据,即行和列
(2)非结构化:包含来自电子邮件、文档、PDF 的非结构化数据
(3)半结构化:包含半结构化数据,如 CSV、日志、XML、JSON
(4)二进制:包含图像、音频、视频
数据仓库的主要类型
(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 级的数据。
如今的数据仓库工具已经非常成熟,它们速度快、易于扩展,且按需付费的云数仓得到市场广泛认可。