数据库分区(一)

一、项目背景

报表数据库已经投入使用了近4年,数据库的大小由当初的几M变成了2246676.88M,即约为2.2T,作为关系数据库中,TB级别使用起来相当不理想,报表用户提交一个查询请求,几乎无法返回结果。在此背景下,提出了对现有数据库进行按照日期进行分区,以提高数据库的性能。

二、环境分析

2.1      软硬件环境

数据库版本:sql server 2008

大小:2246676.88M

排序规则:Chinese_FRC_CI_AS

操作系统:windows server 2008 R2 for Itanium-Based Systems Service Pack 1

CPU:32核,16个处理器,Itanium2 1.60GHz

内存:64G

64位操作系统

2.2      表使用情况分析

根据用户对报表的使用需求,分为两大类,一类是需要数据库中存储最近14个月的数据,另一类是存储36个月的数据。

根据表的使用情况,分为

  • 结果表:存储报表结果的表。
  • 业务表:存储业务数据的表。
  • 中间表:介于结果表和业务表之间的表,且是经过一定的计算的。
  • 跑批表:其他系统跑批存储的临时表,会定时删除。
  • 参数表:存储各类参数。

以上各个表中,除了参数表,其他的表都很巨大,且仍在不断增长中,故对主要的结果表和业务表和中间表进行分区。 

posted on 2012-12-13 16:14  小呆也行  阅读(229)  评论(0编辑  收藏  举报

导航