1. OLTP定义
OLTP 是 Online Transaction Processing
的简称,是一个联机事务处理系统,主要目标是数据处理而不是数据分析。OLTP 系统的主要关注点是记录事务当前的更新,插入以及删除操作。OLTP 的查询比较简短,因此需要比较少的处理时间以及比较少的空间。
OLTP 数据库需要经常更新。OLTP 中的事务可能会在中间过程中失败,这可能会影响数据完整性。因此,必须特别注意数据完整性。OLTP 数据库具有规范化表(3NF)。OLTP 系统成为 OLAP 的数据源。
OLTP 的示例如下:
- 网上银行业务
- 网上机票预订
- 发送短信
- 将书添加到购物车
2. OLAP定义
OLAP 是 Online Analytical Processing system
的简称,是一个联机分析处理系统,主要目标是数据分析而不是数据处理。OLAP 数据库存储的是 OLTP 输入的历史数据。可以允许用户查看不同纬度的数据。使用 OLAP,我们可以从大型数据库中提取信息并进行分析来做决策。
OLAP 还允许用户执行复杂的查询以提取多维数据。在 OLAP 中,即使事务在中间过程中失败,也不会损害数据完整性,因为用户使用 OLAP 系统只是从大型数据库中检索数据进行分析。用户只需再次查询提取数据进行分析即可。
OLAP 中的事务很长,因此需要花费更多的时间以及更大的空间。与 OLTP 相比,OLAP 中的事务较少。甚至 OLAP 数据库中的表也可能不规范。
OLAP 的示例如下:
- 公司可能会将9月的手机销售与10月的销售进行比较,然后将这些结果与可能存储在另一个位置不同数据库的数据进行比较。
- 亚马逊分析其客户的购买情况,以提供个性化的主页,其中包含其客户可能感兴趣的产品。
3. 对比
比较基准 | OLTP | OLAP |
---|---|---|
目标 | 数据处理 | 数据分析 |
基本 | 在线交易系统,管理数据库修改 | 在线数据检索和数据分析系统 |
操作 | 主要操作是插入,更新和删除 | 提取多维数据以进行分析,并做出决策 |
原始数据 | 在线交易数据 | 不同的 OLTP 数据库成为 OLAP 的数据源 |
事务 | 短暂但频繁 | 较长但较少 |
处理时间 | 处理时间相对较短 | 事务的处理时间相对较长 |
查询 | 简单查询 | 复杂查询 |
规范化 | 规范化(3NF) | 未规范化 |
完整性 | 必须维护数据完整性约束 | 不会经常修改,数据完整性不受影响 |
4. 结论
OLTP 是一个在线数据修改系统,而 OLAP 是一个在线历史多维数据检索系统,该系统检索数据进行分析以帮助做出决策。使用哪种取决于用户需求,两者都可以用于不同的目的。
参考:Difference Between OLTP and OLAP