Table of Contents generated with DocToc
OLAP 名为联机分析处理,又可以称之为多维分析处理,指的是通过多种不同的维度审视数据,进行深层次分析. 例如clickhouse,greenplum,Doris。
- Greenplum是基于数据库分布式架构的开源大数据平台,采用无共享(no sharing)的MPP架构,具有良好的线性扩展能力,具有高效的并行运算、并行存储等特性。拥有独特的高效的ORCA优化器。兼容SQL语法。适合用于高效PB数据量级的存储、处理和实时分析能力。由于内核是基于PostgreSQL数据库,也支持涵盖OLTP型业务混合负载。同时数据节点和主节点都有自己备份节点。提供数据库的高可用性
比较内容 | OLTP(on-line transaction processing)联机事务处理 | OLAP(On-Line Analytical Processing)联机分析处理 |
---|---|---|
操作特点 | 日常业务操作,尤其是包含大量前台操作 | 后台操作,例如统计报表,大批量数据加载 |
响应速度 | 优先级最高,要求相应速度非常高 | 要求速度高,吞吐量大 |
吞吐量 | 小 | 大 |
并发访问量 | 非常高 | 不高 |
单笔事务消耗资源 | 小 | 大 |
SQL 语句类型 | 插入和修改操作为主,DML | 大量查询操作或批量DML操作 |
索引类型 | B*索引 | Bitmap、Bitmap Join 索引 |
索引量 | 适量 | 多 |
访问方式 | 按索引访问 | 全表扫描 |
连接方式 | Nested_loop | Hash Join |
BIND 变量 | 使用或强制使用 | 不使用 |
- 第一类架构称为 ROLAP(Relational OLAP,关系型 OLAP),顾名思义,它直接使用关系模型构建,数据模型常使用星型模型或者雪花模型,这是最先能够想到、也是最为直接的实现方法
- 第二类架构称为 MOLAP(Multidimensional OLAP,多维型 OLAP),它的出现就是为了缓解 ROLAP 性能问题。
- MOLAP 使用多维数组的形式存数据,其核心思想是借助预先聚合结果(说白了就是提前先算好,然后将结果保存起来),使用空间换取时间的形式从而提升查询性能。 也就是说,用更多的存储空间换得查询时间的减少,其具体的实现方式是依托立方体模型的概念。 首先,对需要分析的数据进行建模,框定需要分析的维度字段; 然后,通过预处理的形式,对各种维度进行组合并事先聚合; 最后,将聚合结果以某种索引或者缓存的形式保存起来(通常只保留聚合后的结果,不存储明细数据),这样一来,在随后的查询过程中,可以直接利用结果返回数据。
- 第三类架构称为 HOLAP(Hybrid OLAP,混合架构的OLAP),这种思路可以理解成 ROLAP 和 MOLAP 两者的组合