数据分析之OLTP vs OLAP
数据处理系统主要有两种基本方法:一种注重数据操作(增删查改),另一种注重商业智能数据分析。
这两种系统是:
-
联机事务处理(OLTP)
-
联机分析处理(OLAP)
Power BI专为与OLAP系统兼容而构建,并未针对 OLTP 系统进行优化。
OLTP:联机事务处理
OLTP(Online Transaction Processing)是一种实时处理数据的方式,主要用于支持日常的业务操作,比如如 ATM 提款、电子商务订单、在线银行活动、短信和账户更新等各种日常操作等。它的特点是事务性,即每次操作都是一个独立的事务,需要保证数据的准确性、完整性和一致性。
特点:
-
实时性:数据处理是实时的,用户操作后立即得到反馈。
-
事务性:每个操作都是一个事务,需要保证数据的完整性和一致性。
-
高频操作:通常涉及大量的、频繁的读写操作。
举例:
想象一下你在超市买东西,当你在收银台结账时,收银员扫描商品条形码,系统会实时更新库存数量,同时记录你的购买信息,生成订单。这个过程就是OLTP。每次扫描商品和更新库存都是一个独立的事务,必须保证准确无误。如果库存数量没有正确更新,或者订单信息记录错误,就会影响后续的业务操作。
OLTP工具:
-
常见的OLTP关系型数据库:Oracle Database、Microsoft SQL Server、MySQL、PostgreSQL等
-
常见的OLTP分布式数据库:OceanBase、Cassandra、TiDB、Amazon Aurora等
OLAP:联机分析处理
OLAP(Online Analytical Processing)是一种多维数据分析方式,主要用于从大量数据中进行数据挖掘提取有价值的信息,帮助决策者进行数据分析和决策。它的特点是擅长以极高的速度(以毫秒为单位)对大量数据进行多维度分析,可以对数据进行各种复杂的查询和统计。
特点:
-
多维度分析:可以从多个角度(如时间、地点、商品类别等)对数据进行分析。
-
复杂查询:支持复杂的查询和统计,比如求和、平均值、最大值等。
-
决策支持:帮助决策者从大量数据中提取有价值的信息,支持决策。
通常,OLAP 系统从 OLTP 系统存储的存储库中处理和检索数据。许多企业依赖 OLAP 进行财务分析、预测、预算编制、报告、市场营销和销售优化以及决策。
举例:
假设你是超市的老板,你想了解过去一年哪些商品的销售额最高,或者不同季节的销售趋势如何。这时候,你需要对销售数据进行分析。你可以从多个维度来查看数据,比如按商品类别、按月份、按地区等。这种分析过程就是OLAP。通过OLAP,你可以发现哪些商品在哪个季节卖得最好,从而调整库存和促销策略。
OLAP工具:
-
常用的OLAP商业智能分析工具:如Power BI、Tableau、SAP BW/HANA、Excel等。
-
常用的OLAP数据库管理系统工具:如Microsoft SQL Server Analysis Services(SSAS)、Oracle OLAP、ClickHouse、Druid等。
OLTP VS OLAP
如我们所见,OLTP 是操作性的,而 OLAP 是信息性的。通过下面表格,大家可以一目了然看出OLTP和OLAP的异同:
特征
OLTP
OLAP
处理
处理大量小事务
处理大量复杂查询的数据
查询类型
简单标准化查询
复杂查询
操作
基于 INSERT、UPDATE、DELETE 命令
基于 SELECT 命令以聚合数据进行报告
响应时间
毫秒
根据处理的数据量,可能为秒、分钟或小时
设计
行业特定,如零售、制造或银行
主题特定,如销售、库存或市场营销
来源
事务
来自事务的聚合数据
目的
实时控制和运行基本业务操作
规划、解决问题、支持决策、发现隐藏的洞察
数据更新
用户发起的短小快速更新
数据通过计划的长时间批处理作业定期刷新
空间需求
如果历史数据被归档,通常较小
由于聚合大量数据集,通常较大
备份和恢复
需要定期备份以确保业务连续性并满足法律和治理要求
丢失的数据可以根据需要从 OLTP 数据库重新加载,以替代常规备份
生产力
提高最终用户的生产力
提高业务经理、数据分析师和高管的生产力
数据视图
列出日常业务事务
企业数据的多维视图
数据库设计
为效率而规范化的数据库
为分析而非规范化的数据库
今天的分享结束,感谢大家的持续订阅和关注。