【数据架构】数据仓库、数据湖和数据集市之间的区别是什么?
视频号
微信公众号
知识星球
数据仓库、数据湖和数据集市是不同的云存储解决方案。数据仓库以结构化格式存储数据。它是用于分析和商业智能的预处理数据的中央存储库。数据集市是为特定业务部门(如公司的财务、营销或销售部门)的需求提供服务的数据仓库。另一方面,数据湖是原始数据和非结构化数据的中央存储库。您可以先存储数据,然后再进行处理。
数据仓库、数据集市和数据湖之间的相似性
如今,组织可以访问不断增长的数据量。然而,他们必须对原始数据进行排序、处理、筛选和分析,才能获得实际的好处。同时,他们还必须遵循严格的数据保护和安全做法,以实现法规遵从性。例如,以下是组织必须遵循的做法:
- 从应用程序、供应商、物联网(IoT)传感器和其他第三方等不同来源收集数据。
- 将数据处理为一致、可靠和有用的格式。例如,组织可以处理数据,以确保系统中的所有日期都是通用格式或汇总每日报告。
- 通过格式化机器学习软件的XML文件或为人类生成报告来准备数据。
组织使用各种工具和解决方案来实现其数据分析结果。数据仓库、集市和湖泊都是有助于存储数据的解决方案。
阅读有关XML的更多信息»
基于云的数据仓库、数据湖和数据集市的好处
这三种存储解决方案都可以帮助您提高数据的可用性、可靠性和安全性。以下是如何使用它们的示例:
- 安全地存储您的业务数据以进行分析
- 存储无限制的数据量,只要您需要
- 通过多个业务流程的数据集成打破竖井
- 分析历史数据或遗留数据库
- 进行实时和批量数据分析
此外,这三种解决方案都具有成本效益——您只需为所使用的存储空间付费。您可以存储所有数据,分析其模式和趋势,并使用这些信息优化您的业务运营。
关键差异:数据仓库与数据集市
数据仓库是一种关系数据库,用于存储来自事务系统和业务功能应用程序的数据。仓库中的所有数据都是结构化的或预先建模为表。数据结构和模式是为了优化快速SQL查询而设计的。数据集市是同一技术的不同营销术语。它也是一个关系数据库,但实际用途与数据仓库有很大不同。差异的关键点如下。
阅读有关SQL的更多信息»
数据源
数据仓库有多个内部和外部来源。您可以从任何地方提取数据,将其转换为结构化格式,然后将其加载到仓库中。数据集市的数据源较少,而且往往较小。
关注
数据仓库通常存储来自多个业务单元的数据。他们集中集成整个组织的数据,以进行全面的分析。数据集市有一个单一的主题,并且在本质上更加分散。他们经常过滤和汇总来自另一个现有数据仓库的信息。
利用
多个用户和项目需要存储在数据仓库中的数据。因此,仓库的使用寿命往往更长,性质也更复杂。另一方面,数据集市可能以项目为中心,使用有限。团队更喜欢从企业数据仓库创建数据集市,并在用例完成后终止它们。
设计方法
数据科学家在设计数据仓库时使用自上而下的方法。他们首先规划总体架构,并在出现挑战时解决这些挑战。然而,有了数据集市,数据工程师就已经知道了值、数据类型和外部数据源等细节。他们可以从一开始就计划实现,并采取自下而上的方法进行数据集市设计。
Characteristics | Data Warehouse | Data Mart |
---|---|---|
Scope |
Centralized, multiple subject areas integrated together |
Decentralized, specific subject area |
Users |
Organization-wide |
A single community or department |
Data source |
Many sources |
A single or a few sources, or a portion of data already collected in a data warehouse |
Size |
Large, can be 100's of gigabytes to petabytes |
Small, generally up to 10's of gigabytes |
Design |
Top-down |
Bottom-up |
Data detail |
Complete, detailed data |
May hold summarized data |
Learn more about Data Warehouses |
Learn more about Data Marts |
关键差异:数据仓库与数据湖
数据仓库和数据湖是两种相关但根本不同的技术。虽然数据仓库存储结构化数据,但lake是一个集中的存储库,允许您存储任何规模的任何数据。与数据仓库相比,数据湖提供了更多的存储选项,具有更高的复杂性,并且具有不同的用例。差异的关键点如下。
数据源
数据湖和仓库都可以拥有无限的数据源。但是,数据仓库需要您在保存数据之前设计您的模式。只能将结构化数据加载到系统中。相反,数据湖没有这样的要求。它们可以存储非结构化和半结构化数据,如网络服务器日志、点击流、社交媒体和传感器数据。
预处理
数据仓库通常需要在存储之前进行预处理。提取、转换、加载(ETL)工具用于预先清理、过滤和构建数据集。相比之下,数据湖可以容纳任何数据。您可以灵活选择是否执行预处理。组织通常使用提取、加载、转换(ELT)工具。他们首先将数据加载到湖中,并仅在需要时进行转换。
数据质量
数据仓库往往更可靠,因为您可以提前执行处理。可以提前完成重复数据消除、排序、汇总和验证等功能,以确保数据的准确性。如果不提前进行检查,重复或错误且未经验证的数据可能会进入数据湖。
展示
数据仓库是为实现最快的查询性能而设计的。业务用户更喜欢数据仓库,这样他们可以更高效地生成报告。相比之下,数据湖体系结构将存储容量和成本置于性能之上。您可以以更低的成本获得更高的存储容量,并且仍然可以以合理的速度访问数据。
Characteristics | Data Warehouse | Data Lake |
---|---|---|
Data |
Relational data from transactional systems, operational databases, and line of business applications |
All data, including structured, semi-structured, and unstructured |
Schema |
Often designed prior to the data warehouse implementation but also can be written at the time of analysis (schema-on-write or schema-on-read) |
Written at the time of analysis (schema-on-read) |
Price/Performance |
Fastest query results using local storage |
Query results getting faster using low-cost storage and decoupling of compute and storage |
Data quality |
Highly curated data that serves as the central version of the truth |
Any data that may or may not be curated (i.e. raw data) |
Users |
Business analysts, data scientists, and data developers |
Business analysts (using curated data), data scientists, data developers, data engineers, and data architects |
Analytics |
Batch reporting, BI, and visualizations |
Machine learning, exploratory analytics, data discovery, streaming, operational analytics, big data, and profiling |
Learn more about Data Warehouses | Learn more about Data Lakes |
何时使用数据湖、数据仓库和数据集市?
大多数大型组织在其存储基础架构中使用数据湖、仓库和集市的组合。通常,所有数据都被摄入数据湖中,然后加载到不同的仓库和集市中,用于各种用例。技术决策取决于各种因素,如下所述。
灵活性
总的来说,数据湖以更低的成本提供了更大的灵活性。不同的团队可以使用他们选择的分析工具和框架来访问相同的数据。您可以节省时间,因为不需要定义数据结构、模式和转换。
数据类型
如果您想存储客户和业务流程数据等关系数据,那么数据仓库会更好。如果您有大量的关系数据,您的团队可能会考虑为特定的业务需求创建一些数据集市。例如,会计部门可以创建一个数据集市来维护资产负债表和准备客户账户报表,而营销部门可以创建另一个数据市场来优化广告活动。
成本和数量
数据仓库可以有效地处理数百PB的数据。数据湖为更大的容量提供了相对较低的成本,尤其是对于大量的图像和视频。然而,并不是每个组织都需要这样的规模。
AWS如何帮助您满足数据存储需求?
AWS提供最广泛的分析服务,满足您的所有数据分析需求。我们使各种规模的行业和组织都能利用数据重塑业务。以下是如何使用AWS的示例:
使用Amazon Redshift满足您的数据仓库和数据集市需求。通过对运营数据库、数据湖、数据仓库和数千个第三方数据集中的复杂、规模化数据运行实时和预测分析,获得综合见解。您可以轻松地自动创建、训练和部署机器学习模型。
使用AWS Lake Formation在几天内构建、管理和保护数据湖。从所有数据源快速导入数据,然后在集中的数据目录中对其进行描述和管理。
使用AmazonS3为大数据分析、人工智能、机器学习和高性能计算应用程序构建自定义数据湖。
- 48 次浏览