一、OLAP:在线分析处理
1.联机分析处理( On- Line Analytical Processing , OLAP ) :
是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据要求快速灵活地进行大数据量的复杂查询处理,并以一种直观易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业的经营状况,了解对象的需求,制定正确的方案。
2.OLAP & OLTP :
■OLAP为在线分析系统,已分析为主。
■OLTP为在线业务系统,以业务支撑为主。
3.OLAP中的主要概念:
■维度:观察事物的角度(属性)即从哪些方面来观察、测量某个事物,如年龄、区域、机型等
■度量:也称为"事实”即记录了一次实际的测量、购买等发生的事实,包含维度和测量值
二、MPP数据库
MPP ( Massive Parallel Processing,大规模并行处理) : 由多个松耦合处理单元组成,每个单元拥有自己的CPU、内存、存储等,每个单元内都有操作系统和管理数据库的实例副本,最大的特点在于不共享资源。
三、AnalyticDB 分析型数据库
分析型数据库( AnalyticDB,原ADS) :是阿里巴巴自主研发的海量数据实时高并发在线分析( Realtime OLAP )云计算服务,使得您可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。分析型数据库对海量数据的自由计算和极速响应能力,能让用户在瞬息之间进行灵活的数据探索,快速发现数据价值,并可直接嵌入业务系统为终端客户提供分析服务。
1.高度的计算自由
无需预先进行数据建模,进行海量数据灵活分析
2.极速的响应时间
毫秒级千亿数据多维透视,毫秒级多个大表关联计算
3.简单的使用方式
支持标准MySQL协议,内置的数据接入和输出
4.丰富的特色功能
高性能自动创建索引,海量数据的极速导出
AnalyticDB 特点
四、AnalyticDB 分析型数据库基本概念
1.数据库
2.表组
一系列可发生关联的表的集合,是一个逻辑概念。
表组的特点
■表组是数据物理分配的最小单元
■同表组内的表才可以快速 hash join
■同一个表组内的表共享一些配置
■建议同表组中的表一级分区数一致
维表的特点
■维表必须放在维度表组上
■维表的大小有限制,表的数据量不能太大
■维表不需要设置分区信息
■维表可以和任何表进行关联,不受表组的限制
■维表保存在每个节点上,同样大小的数据,维表会消耗掉更多存储资源
事实表的特点
■普通表选择表组时需要考虑后续操作中要关联到的其他事实表
■普通表的数据量不受限制,但是必须至少设置一级( Hash )分区
■多张普通表关联时,必须有Hash Key (一级分区键)参加
■普通表分为两类:离线批量更新表( Batch )和实时更新表( Realtime )
■批量更新表如果需要增量加载数据,则必须设置二级分区
■实时更新表可以直接insert/delete单条数据,适合业务系统直接写入
■实时更新表不提供二级分区,因为天然支持增量
■数据加载进表后,需要等待一定时间后才能看到
数据类型
多值列
■可以存入String类型的多个值,分隔符默认为半角逗号,也可以建表时进行配置
■可使用in, contains条件对该列的单个值进行查询
■枚举查询后该列的每个值可像一个普通列-样进行各类操作,但是不允许在没有进行枚举查询时对该列直接select或在group by中使用该列
适用场景
已有一个实体属性表均为普通列并以实体编号为主键的情况下,需要新增一个用于进行实体筛选的属性,而这个属性和实体编号为多对多的对应关系