【数据库架构】OLTP 和 OLAP:实际比较
OLTP 和 OLAP:这两个术语看起来相似,但指的是不同类型的系统。在线事务处理 (OLTP) 实时捕获、存储和处理来自事务的数据。在线分析处理 (OLAP) 使用复杂的查询来分析来自 OLTP 系统的汇总历史数据。
什么是 OLTP?
OLTP 系统在数据库中捕获和维护事务数据。每个事务都涉及由多个字段或列组成的单个数据库记录。示例包括银行和信用卡活动或零售结账扫描。
在 OLTP 中,重点是快速处理,因为 OLTP 数据库经常被读取、写入和更新。如果事务失败,内置系统逻辑可确保数据完整性。
什么是 OLAP?
OLAP 对从 OLTP 数据库和其他来源聚合而成的大量历史数据应用复杂查询,用于数据挖掘、分析和商业智能项目。在 OLAP 中,重点是对这些复杂查询的响应时间。每个查询都涉及从多行聚合的一列或多列数据。示例包括同比财务业绩或营销线索生成趋势。 OLAP 数据库和数据仓库使分析师和决策者能够使用自定义报告工具将数据转化为信息。 OLAP 中的查询失败不会中断或延迟客户的事务处理,但会延迟或影响商业智能洞察的准确性。
ETL:连接OLTP和OLAP的力量
来自一个或多个 OLTP 数据库的数据通过称为提取、转换、加载 (ETL) 的过程被摄取到 OLAP 系统中。使用 ETL 工具,用户可以从多个来源收集数据并将其发送到目的地,例如 OLAP 数据仓库,在那里由分析和商业智能工具查询以获取洞察力。
OLTP 与 OLAP:并排比较
OLTP 是可操作的,而 OLAP 是信息性的。 看一眼这两种处理的主要特征就可以说明它们的根本区别,以及它们是如何协同工作的。
OLTP | OLAP | |
---|---|---|
特征 | 处理大量小交易 | 处理具有复杂查询的大量数据 |
查询类型 | Simple standardized queries | Complex queries |
操作 | Based on INSERT, UPDATE, DELETE commands | Based on SELECT commands to aggregate data for reporting |
响应时间 | Milliseconds | 秒、分钟或小时,具体取决于要处理的数据量 |
设计 | Industry-specific, such as retail, manufacturing, or banking | 特定主题,例如销售、库存或营销 |
来源 | Transactions | Aggregated data from transactions |
目的 | 实时控制和运行基本业务运营 | 计划、解决问题、支持决策、发现隐藏的见解 |
数据更新 | 由用户发起的简短、快速的更新 | 使用计划的、长时间运行的批处理作业定期刷新数据 |
空间要求 | 如果归档历史数据,通常很小 | 由于聚合大型数据集而通常很大 |
备份和恢复 | 需要定期备份以确保业务连续性并满足法律和治理要求 | 可以根据需要从 OLTP 数据库重新加载丢失的数据,以代替定期备份 |
生产率 | 提高最终用户的生产力 | 提高业务经理、数据分析师和高管的工作效率 |
Data view | 列出日常业务交易 | 企业数据的多维视图 |
用户示例 | 面向客户的人员、文员、在线购物者 | 知识工作者,例如数据分析师、业务分析师和高管 |
数据库设计 | 标准化数据库以提高效率 | 用于分析的非规范化数据库 |
OLTP 提供当前业务活动的即时记录,而 OLAP 随着时间的推移从该数据中生成并验证洞察力。这种历史视角可以实现准确的预测,但与所有商业智能一样,OLAP 生成的洞察力仅与它们产生的数据管道一样好。
Stitch 优化数据管道
要从 OLTP 数据中获得可操作的情报,必须将其提取、转换并加载到数据仓库中进行分析。虽然这可以通过内部编程资源完成,但使用 ETL 工具可以更有效地处理数据摄取。 ETL 工具消除了由于不断变化的数据源 API、报告要求和业务需求而对代码进行持续维护的需要。像 Stitch 这样的 ETL 工具可优化 OLTP 数据摄取,从而腾出时间和 IT 员工专注于更多增值活动。
简化将 OLTP 源数据拉入您的 OLAP 仓库的过程。选择一个可随您的数据扩展的解决方案,并为您提供所需的支持,以保持领先于变化并获得洞察力。
- 113 次浏览