数据库分区

来源:互联网 发布:pc版直播软件 编辑:程序博客网 时间:2024/05/17 04:56
A.分区的原理
    分区的基本原理就是通过访问一个表或者索引的较小片断,而不是访问整个表和索引,以提高数据库的性能。如果将一个表的不同分区放置在不同的磁盘上,磁盘整体的吞吐量就会成倍上升。
B.分区的优点
    1 、增强可用性:如果表的一个分区由于系统故障而不能使用,表的其余好的分区仍然可以使用;


  2 、减少关闭时间:如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,故能比整个大表修复花的时间更少;
  3 、改善性能:
A.对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快;
B.在数据仓库环境中,通过分区,可以消除那些根本不需要访问的数据。
  4 、分区对用户透明,最终用户感觉不到分区的存在。
C.分区原则
    1.表的大小。对于大表进行分区,有益于大表操作的性能和大表的数据维护。
    2.数据的访问特性。基于表的大部分查询应用,只访问表中的少量数据。对于这样的表进行分区,可以排除无关数据查询的特性。
    3.数据维护。某些表的数据维护,经常按时间段删除成批的数据,例如按月删除历史数据,对有这样需要的表进行分区。以满足维护需要,因为delete大量数据,对系统开销很大,有时甚至是不可接受的。
    4.只读数据。如果一个表中大部分数据都只是只读数据,通过对表进行分区,可将只读数据存储在只读表空间中,对于数据库的备份是十分有益的。
    5.并行数据操作。对于经常执行并行操作的表,应考虑分区。
    6.表的可用性。对表的某字段或者某段数据可用性要求很高时,应考虑分区。
D.分区类型
   分区的类型可以分为:
   1.水平分区,即按数据库表的行进行分区。
   2.垂直分区,即按数据库的列或列的组合进行分区。
 对于不同的数据库对于分区有不同的实现技术,oracle数据库的分区语法参考http://www.thea.cn/cs/learning/2007-8-24/12277-1.htm