当前位置:
文档之家› Oracle高级技术之大数据处理(PPT 70张)
Oracle高级技术之大数据处理(PPT 70张)
(cust_data01,cust_data02)
create table CUSTOMERS (... column definitions ...) pctfree 0 nologging storage ( initial 40m next 40m pctincrease 0 ) partition by hash(customer_no) (partition cust_p01 tablespace cust_data01 ,partition cust_p02 tablespace cust_data02 ,partition cust_p03 tablespace cust_data03 ,partition cust_p04 tablespace cust_data04 ,partition cust_p05 tablespace cust_data05 ,partition cust_p06 tablespace cust_data06 ,partition cust_p07 tablespace cust_data07 ,partition cust_p08 tablespace cust_data08)
蔽能力)
分区方法
分区方法:
– 范围 --- 8 – Hash --- 8i – 列表 --- 9i – 组合 --- 8i
Range partitioning
Hash partitioning
List partitioning
Composite partitioning
范围分区例
CREATE TABLE sales
Oracle技术 ---大数据处理
交流内容
分区技术 报表优化技术 并行处理应用经验
Oracle的分区技术
分区技术内容
• 什么是分区? • 分区的好处? • 如何实施分区? • 如何评估分区的效果?
Oracle的分区技术基本原理
• 分而治之
按年度进行分区
2003 2004
2005
SB_ZSXX
(acct_no
NUMBER(5),
person
Hale Waihona Puke VARCHAR2(30),
sales_amount NUMBER(8),
week_no
NUMBER(2)) 1
PARTITION BY RANGE (week_no) 2
3
(PARTITION P1 VALUES LESS THAN (4) TABLESPACE data0,
列表分区例
create table addresses (... column definitions ...) pctfree 0 nologging storage ( initial 40m next 40m pctincrease 0 ) partition by list(city_name) (partition addr_p01 values ('WELLINGTON') tablespace addr_data01 ,partition addr_p02 values ('CHRISTCHURCH') tablespace addr_data02 ,partition addr_p03 values ('DUNEDIN','INVERCARGILL') tablespace
PARTITION P2 VALUES LESS THAN (8) TABLESPACE data1,
...…
PARTITION P13 VALUES LESS THAN (53)TABLESPACE data12
);
1 分区字段:week_no. 2 VALUES LESS THAN 必须是确定值 3 每个分区可以单独指定物理属性
范围分区特点
• 最早、最经典的分区算法 • Range分区通过对分区字段值的范围进行分区 • Range分区特别适合于按时间周期进行数据的存储。日
、周、月、年等。 • 数据管理能力强
– 数据迁移 – 数据备份 – 数据交换 • 范围分区的数据可能不均匀 • 范围分区与记录值相关,实施难度和可维护性相对较差
addr_data03 ,partition addr_p04 values ('AUCKLAND') tablespace addr_data04 ,partition addr_p05 values ('HAMILTON','ROTORUA','TAURANGA')
Hash分区特点
• 基于分区字段的HASH值,自动将记录插入到指定分区。 • 分区数一般是2的幂 • 易于实施 • 总体性能最佳 • 适合于静态数据 • HASH分区适合于数据的均匀存储
• HASH分区特别适合于PDML和partition-wise joins。 • 支持 (hash) local indexes • 9i 不支持 (hash) global indexes • 10g 支持(hash) global indexes HASH分区 • 数据管理能力弱 • HASH分区对数据值无法控制
2006
分区概述
大数据对象 (表, 索引)被分成小物理段 当分区表建立时,记录基于分区字段值被存
储到相应分区。 分区字段值可以修改。(row movement
enabled) 分区可以存储在不同的表空间 分区可以有不同的物理存储参数 分区支持IOT表,对象表,LOB字段,
varrays等
分区技术的效益和目标
性能 – Select和DML操作只访问指定分区 – 并行DML操作
– Partition-wise Join 可管理性:数据删除,数据备份
– 历史数据清除 – 提高备份性能 – 指定分区的数据维护操作 可用性 – 将故障局限在分区中 – 缩短恢复时间 分区目标优先级 – 高性能 –>数据维护能力->实施难度 –> 高可用性(故障屏
Hash分区例
create table CUSTOMERS (... column definitions ...) pctfree 0 nologging storage ( initial 40m next 40m pctincrease 0 ) partition by hash(customer_no) partitions 8 store in