Oracle数据仓库课程笔记,
teradata
BI dss=dw+olap+dm
Data Quality
四层三流
一、BI理论:
数据来源层
数据仓库层(可选)
高性能查询层(可选)
终端展示层
oracle rdbms,适合存储
多维数据库产品:mttp,适合计算
数据集市:面向一个主题(又称为mini型数据仓库)
数据仓库:面向全部,整体
可以采用逐步迭代开发数据仓库(数据集市->数据仓库)
*owb
*info magic
dataingreate
展示工具discoverer
推荐方案:
Oracle
Info magic
Bo
SIBO,CIBO海波龙
二:设计方法:
集市:部门,单主题,少量,几月
仓库:企业,多维,大量,几月到几年
ODS:oracle data stagory
大爆炸法(big bang)开发周期长。业务风险是导致失败主因
增量法:
从下到上法。
从上到下法(实际中更好,推荐使用)。
三、设计模式:
关系表
数据仓库:
星型模式:事实表规范化,维表逆规范化
多维型:MOLAP:复杂计算
雪花模式:(不推荐)提高装载性能
关系型:ROLAP
3NF模型
决定力度:数据仓库生命周期
元数据管理:ETL工具
先装载维表,再装载事实表
事实表通常按照时间分区
维多主键和事实的外键的Bitmap索引取出rowid,再进行hash-join、sort-merge、循环嵌套连接
星型连接参数设置为true
Granule颗粒
没有分区的表动态分区
静态分区
智能分区匹配技术
并行query,ddl,dml
Inter-operation
Show parameter parallel
Parallel_max_servers 20
//Parallel_min_
8cpu×5user×2thread/cpu
Serial execution
Parallel execution
/*+ PARALLEL */
/* +NO_EXPAND ROWID(A1) */
HASH表在内存PGA中
Pcws同一执行服务器
并行服务器适用,全表扫描,全表索引查询。
数据缓存放在SGA,查询合并等操作放在PGA。
并行的时候设置大缓存池,LargePool用于并行服务器用于salave之间的通讯,一般设置50/100M
该视图用于查询pga的大小:V$sgastap
Parallel_min_percent= 50代表50%的并行度
Ora-12827
Message_size 2k,4k,8k
Max_parallel_server=cpu*2/cpu*5user=80
手动指定并行度
1、在对象上加上hints
Alter table hr.department parallel;
Alter table hr.department parallel 4;
2、在SQL语句上加上hints
下午
生产中的主键,在仓库中叫自然键
人工合成主键
数据仓库的主要瓶颈是I/O
Show parameter multi
Db_file_multiblock_read_count
全表扫描并行读
Db_block_size
分区裁剪(分区智能匹配)
位图索引:适合于查询系统,但是有个致命的弱点,就是更新效率相当的低下,因为修改会锁定整个表,生产系统中不适合。
几个位值就有几个位图索引
Parallel execution
Automatic storage management(ASM)
可以做负载平衡。只能管理数据库文件,不能管理执行文件
Asm软件
Load balance ,Mirror硬件
LUN
RAC
Creating dimensions
使用星型模型查询三个必要条件:
Alter session Set star_transformation_enabled=true
Bitmap index:经常rebuild index
Hints、
散列分区:要是偶数效率才最高
列表分区
复合分区:范围-散列;范围-列表
列表分区
最多分区:65535
部分分区智能匹配
完全分区智能匹配连接要求:
Equipartitioning
等分区
如hash对hash可以提高几十倍
Range-range和list-list不常用
势在0.01比较合理
Alter index idx_1 rebuild online;