Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1342557
  • 博文数量: 169
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3800
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-30 13:00
个人简介

About me:Oracle ACE pro,optimistic,passionate and harmonious. Focus on ORACLE,MySQL and other database programming,peformance tuning,db design, j2ee,Linux/AIX,Architecture tech,etc

文章分类

全部博文(169)

文章存档

2024年(24)

2023年(28)

2022年(43)

2020年(62)

2014年(3)

2013年(9)

分类: Oracle

2020-06-28 23:23:43

主要内容如下:
1)Oracle Partition的好处及其种类 
2)11g Partition的一些新特性 
3)Partition pruning及其注意点 
4)Partition的一些原则等

分区技术的基本原理:
  分区就是利用分而治之,来提高数据的管理能力和处理效率。如下图所示:
 

分区概述:

大数据对象 (表, 索引)被分成小物理段
当分区表建立时,记录基于分区字段值被存储到相应分区。
分区字段值可以修改。(row movement enabled)
分区可以存储在不同的表空间
分区可以有不同的物理存储参数
分区支持IOT表,对象表等

分区的效益和目标:

性能:

Select和DML操作只访问指定分区
并行DML操作
Partition-wise Join

可管理性:数据删除,数据备份

历史数据清除
提高备份性能
指定分区的数据维护操作

可用性:

将故障局限在分区中
缩短恢复时间

分区目标优先级 :

高性能 –>数据维护能力->实施难度 –> 高可用性(故障屏蔽能力)


RANGE分区:

最早、最经典的分区算法
Range分区通过对分区字段值的范围进行分区
Range分区特别适合于按时间周期进行数据的存储。日、周、月、年等
数据管理能力强

        -数据迁移

        -数据备份

        -数据交换

范围分区的数据可能不均匀
范围分区与记录值相关,实施难度和可维护性相对较差

ORACLE支持的分区特性:
 
Partition技术最重要的优化特性就是pruning(分区裁剪)。
Partition技术另一个便利性,就是在分区表管理和维护上。

  在 10g 中,复合分区只支持 Range-List 和 Range-Hash,而在在 11g 中复合分区的类型大大增加,现在 Range,List,Interval 都可以作为 Top level 分区, 而 Second level 则可以是 Range, List, Hash, 也就是在 11g 中可以有 3*3=9 种复合分区,满足更多的业务需求。

RANGE、HASH、LIST分区特点: 

RANGE分区:

最早、最经典的分区算法
Range分区通过对分区字段值的范围进行分区
Range分区特别适合于按时间周期进行数据的存储。日、周、月、年等
数据管理能力强

        -数据迁移

        -数据备份

        -数据交换

范围分区的数据可能不均匀
范围分区与记录值相关,实施难度和可维护性相对较差


HASH分区:

基于分区字段的HASH值,自动将记录插入到指定分区
分区数一般是2的幂
易于实施
总体性能最佳
适合于静态数据
HASH分区适合于数据的均匀存储
HASH分区特别适合于PDML和partition-wise joins
HASH分区索引可用于解决热点争用问题
数据管理能力弱
      HASH分区对数据值无法控制

LIST分区:

List分区通过对分区字段的离散值进行分区。
List分区是不排序的,而且分区之间没有关联关系
List分区适合于对数据离散值进行控制。
List分区具有与范围分区相似的优缺点
数据管理能力强

        -List分区的数据可能不均匀

        -List分区与记录值相关,实施难度和可维护性相对较差


阅读(2379) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~