数据仓库vs.数据湖vs.数据集市:超越RDBMS
企业正在从各种来源收集海量数据,这些数据远远超出传统关系数据库可处理的范畴。这导致数据仓库与数据湖问题:何时使用哪一个以及它们与数据集市、操作数据存储和关系数据库的对比。
所有这些数据存储库都具有相似的核心功能:存储数据用于业务报告和分析。但是它们的目的、结构、它们存储的数据类型、来自哪里以及谁有权访问都各有不同。
通常情况下,这些存储库中的数据来自生成数据的系统:CRM、ERP、HR、财务应用程序和其他来源。这些系统创建的数据记录将应用业务规则,然后发送到数据仓库、数据湖或其他数据存储区域。
当来自不同业务应用程序的所有数据整理到单个数据平台后,我们就可以使用数据分析工具,以识别趋势或提供见解以帮助制定业务决策。
当企业从运营系统获得大量数据,并需要随时分析数据时,企业通常会选择数据仓库与数据湖。数据仓库通常作为单一事实来源,因为这些平台会存储历史数据,包括已经过清理和分类的数据。
数据仓库主要存储来自运营系统的大量数据,而数据湖则存储来自更多来源的数据,包括来自企业的运营系统和其他来源的各种原始数据资产集。
由于数据湖中的数据可能不准确,并且可能来自企业运营系统之外的来源,因此不是很适合普通的业务分析用户;数据湖更适合数据科学家和其他数据分析专家。
对于数据仓库与数据湖的不同之处,你可以想象一下仓库和湖泊的区别:仓库存储着来自特定来源的货物,而湖泊的水来自河流、溪流和其他来源,并且是原始数据。
数据仓库供应商包括AWS、Cloudera、IBM、谷歌、微软、甲骨文、Teradata、SAP、SnapLogic和Snowflake等。数据湖提供商包括AWS、谷歌、Informatica、微软、Teradata等。
数据集市和数据仓库经常会被混淆,但两者的用途明显不同。
数据集市通常是数据仓库的子集;它等数据通常来自数据仓库 – 尽管还可以来自其他来源。数据集市的数据专门针对特定的用户社区(例如销售团队),以便他们能够快速找到所需的数据。通常,数据保存在那里用于特定用途,例如财务分析。
数据集市也比数据仓库小得多 – 它们可以容纳数十千兆字节,相比之下,数据仓库可以存储数百千兆字节到PB级数据,并可用于数据处理。
数据集市可从现有数据仓库或其他数据源系统构建,你只需设计和构建数据库表,使用相关数据填充数据库表并决定谁可以访问数据集即可。
操作数据存储(ODS)是一种数据库,用作所有数据的临时存储区域,这些数据即将进入数据仓库进行数据处理。我们可以将其想象成仓库装卸码头,货物在此处交付、检查和验证。在ODS中,数据在进入仓库前可以被清理、检查(因为冗余目的),也可检查是否符合业务规则。
在ODS中,我们可以对数据进行查询,但是数据是临时的,因此它仅提供简单信息查询,例如正在进行的客户订单状态。
ODS通常运行在关系数据库管理系统(RDBMS)或Hadoop平台。ODS中的数据通常通过数据集成和数据提取工具(例如Attunity Replicate或Hortonworks DataFlow)提供。
数据仓库、数据湖与关系数据库系统之间的主要区别在于,关系数据库用于存储和整理来自单个来源(例如事务系统)的结构化数据,而数据仓库则用于存储来自多个来源的结构化数据。数据湖的不同之处在于它可存储非结构化、半结构化和结构化数据。
关系数据库创建起来相对简单,可用于存储和整理实时数据,例如交易数据等。关系数据库的缺点是它们不支持非结构化数据库数据或现在不断生成的大量数据。这使得我们只能在数据仓库与数据湖间做出选择。尽管如此,很多企业仍然继续依赖关系数据库来完成运营数据分析或趋势分析等任务。
内部或云端可用的关系数据库包括Microsoft SQL Server、Oracle数据库、MySQL和IBM Db2、以及Amazon Relational Database Service、Google Cloud Spanner等。
往期精彩回顾▼
网络大数据
(ID:raincent_com)
网络大数据 www.raincent.com
致力于打造中国最专业的网络大数据科学门户网站。