OLAP、OLTP、数据仓库、分析、分析和数据挖掘如何相关?

Posted

技术标签:

【中文标题】OLAP、OLTP、数据仓库、分析、分析和数据挖掘如何相关?【英文标题】:How are OLAP, OLTP, data warehouses, analytics, analysis and data mining related? 【发布时间】:2014-09-19 12:25:29 【问题描述】:

我试图了解什么是 OLAP、OLTP、数据挖掘、分析等,但我觉得我对其中一些概念的理解仍然有些模糊。有关这些主题的信息往往在互联网上以非常复杂的方式进行解释。


我觉得这样的问题可能会被关闭,因为它是一个非常广泛的问题,所以我将尝试将其缩小为两个问题:

问题 1:

经过研究,我对这些概念的理解如下,对吗?

分析是分解复杂的东西,以更好地了解内部运作。 分析是对需要大量数学和统计信息的信息进行预测分析。 有许多类型的数据库,但它们要么是 OLTP(事务),要么是 OLAP(分析)。 OLTP 数据库使用 ER 图,因此更容易更新,因为它们是标准化的形式。 相比之下,OLAP 使用非规范化星型模式,因此更易于查询 OLAP 用于预测分析,OLTP 通常用于更实际的情况,因为没有冗余。 数据仓库是一种 OLAP 数据库,通常由多个其他数据库组成。 数据挖掘是一种用于分析的工具,您可以在其中使用计算机软件找出数据之间的关系,以便您可以预测事物(例如客户行为)。

问题 2:

我对分析和分析之间的区别感到特别困惑。他们说分析是多维分析,但这是什么意思?

【问题讨论】:

您的困惑很容易理解,考虑到其中一些术语已经跨入市场高峰。除非您销售软件,否则不要纠结于术语分析 【参考方案1】:

我会试着从金字塔的顶端给你解释:

商业智能(您没有提到的)是 IT 中的术语,它代表复杂系统并从数据中提供有关公司的有用信息。

因此,BI 系统具有目标: 干净、准确且有意义的信息。 干净意味着没有技术问题(缺少密钥、不完整的数据等)。准确意味着准确 - BI 系统也被用作生产数据库的故障检查器(逻辑故障 - 即发票账单太高,或使用了不活跃的合作伙伴等)。它是通过规则完成的。有意义很难解释,但用简单的英语,它就是你想要的所有数据(甚至是上次会议的 excel 表)。

所以,BI 系统有后端:它是数据仓库。 DWH 只不过是一个数据库(实例,而不是软件)。它可以存储在 RDBMS、分析数据库(列或文档存储类型)或 NoSQL 数据库中。

数据仓库是我上面解释过的通常用于整个数据库的术语。可能有许多 数据集市(如果使用 Kimball 模型) - 更常见的是,或称为 企业数据仓库的第 3 规范化形式(Inmon 模型)的关系系统。

数据集市是 DWH 中相关的表(星型模式、雪花模式)。事实表(非规范化形式的业务流程)和维度表。

每个数据集市代表一个业务流程。示例:DWH 有 3 个数据集市。一是零售,二是出口,三是进口。在零售中,您可以按 SKU、日期、商店、城市等(维度)查看总销售额、销售数量、进口价格、利润(度量)。

在 DWH 中加载数据称为 ETL(提取、转换、加载)。

    从多个来源(ERP 数据库、CRM 数据库、excel 文件、Web 服务...)提取数据

    转换数据(清理数据、连接来自不同来源的数据、匹配键、挖掘数据

    加载数据(在特定数据集市中加载转换后的数据)

因注释而编辑: ETL 过程通常使用 ETL 工具创建,或者使用某些编程语言(python、c# 等)和 API 手动创建。

ETL 过程是一组相关的 SQL、过程、脚本和规则,分为 3 个部分(见上图),由元数据控制。 它可以是预定的(每晚、每隔几个小时),也可以是实时的(变更数据捕获、触发器、事务)。

OLTPOLAP数据处理类型。 OLTP 用于事务目的,在数据​​库和软件之间(通常只有一种输入/输出数据方式)。 OLAP 用于分析目的,这意味着有多个来源、历史数据、高选择查询性能、挖掘数据。

因评论而编辑: 数据处理是数据存储和从数据库访问的方式。因此,根据您的需要,以不同的方式设置数据库。

图片来自http://datawarehouse4u.info/:

数据挖掘是在大型数据集中发现模式的计算过程。挖掘的数据可以让您更深入地了解业务流程甚至预测。

Analysis 是一个动词,在 BI 世界中意味着从数据中获取询问信息的简单性。多维分析实际上说明了系统如何对数据进行切片(在多维数据集中具有维度)。***说数据分析检查数据的过程,目的是发现有用的信息。

Analytics是名词,表示分析过程的结果。

不要对这两个词大惊小怪。

【讨论】:

哇,感谢您的努力! DWH 可以在实时数据库上自动执行 ETL,还是每次需要最新数据时数据库管理员都必须手动执行 ETL?让我感到困惑的是,BI、数据挖掘和分析都专注于数据处理,所以我很难看出区别。 我编辑了我的答案。评论和询问更多,直到你抓住一切。这对我、你和社区都有好处。 当然 :) 由于 ETL 是使用编程语言完成的,我假设您必须手动执行程序才能将数据从多个来源传输到单个来源。我猜ETL不仅限于DWH?因此,如果我有一个设计糟糕的事务数据库,我可以设计一个规范化的数据库并执行 ETL 以将数据从第一个(规范化)数据库传输到第二个(规范化)数据库? Wiki 将“数据处理”定义为“收集和处理数据项以产生有意义的信息”。我认为这只是 DWH(即 OLAP 数据库)的情况?那么OLTP真的是一种数据处理方式吗? 在极少数情况下,ETL 是使用编程语言完成的,几乎总是在 ETL 工具中,但我是在通用情况下编写的。某些 etl 只能使用存储过程来完成。即使是自定义编写的软件,您也可以安排它。就像我说的,DWH 是数据库实例,ETL 工具无法识别数据库的用途,所以,是的,您可以将数据从一个数据库传输到另一个数据库。 DWH 是检查数据的现代方法。几乎每个erp、crm都有报告。这是来自 OLTP db 的有意义的信息。所以,很明显,它符合定义。【参考方案2】:

我可以告诉您有关数据挖掘的信息,因为我有数据挖掘项目。数据挖掘不是一种工具,它是一种挖掘数据的方法,用于数据挖掘的不同工具是 WEKA、RAPID MINER 等。数据挖掘遵循许多内置在 Weka、Rapid Miner 等工具中的算法。聚类算法、关联算法等算法。 我可以给你一个数据挖掘的简单例子。老师在课堂上使用不同的教学方法教授科学科目,如使用黑板、演示、实用。所以现在我们的目标是找到适合学生的方法。然后我们进行调查并听取学生的意见 40 名学生喜欢粉笔板,30 名学生喜欢演示,20 名学生喜欢实用方法。因此,借助这些数据,我们可以制定规则,例如科学科目应该用黑板法教授。 要了解不同的算法,您可以使用 google :D。

【讨论】:

但它与分析有何不同?那么分析不是一回事吗?据我了解,您的示例既是分析又是数据挖掘的示例。 分析是分析的结果和这些结果的呈现形式。分析是可用于分析数据的一种或多种方法以及分析数据的过程。数据挖掘是一种特殊的统计技术,被传统统计学家称为钓鱼(并且看不起)。数据挖掘允许您搜索大量数据,而无需知道您在寻找什么。它仅通过蛮力分析和神经网络(学习)技术识别相关性。 我不明白你是如何解释分析的,抱歉......你能不能稍微解释一下?我了解现在的数据挖掘是什么:) quora.com/… 这会帮助你

以上是关于OLAP、OLTP、数据仓库、分析、分析和数据挖掘如何相关?的主要内容,如果未能解决你的问题,请参考以下文章

数据处理:oltp和olap

OLTP和OLAP有何区别?

OLAP和OLTP基础知识

OLTP和OLAP有何区别?

OLTP与OLAP比较

OLTP与OLAP的介绍