海量数据库的设计要点。

 1. 分门别类术

 

一个基本原则就是,要想降低数据量必须注意数据的存放位置,尽量做到,数据的分门别类。比如说,针对罚金的例子,有Case表存放罚金的基本信息,还有PermitCase表是存放的Permit的基本信息(比如说Permit编号等基本的,跟业务有关的几个字段,通常不会采取存放一个Permit表的ID,要不然又要去连接permit的表,根据需要,能做到独立的尽量独立,比如说这样的permit编号等基本信息),然后还要存放case表的id---需要连接去case表,这样就可以咯。

 

相应地,还可以建立WMRSCase表,MRSACase表。

 

为什么不建立一个统一的Case表,然后加一个栏位叫做(CaseType)呢?假如这样做的话,就把三张表的数据放到一张表里了。三千万条记录,为什么分配到三张表里呢?呵呵,希望你能理解。

在我们的vizia项目里也有大量的这种设计,比如说issue Stock,有两种类型(by job 和by stock),分成两张表-----不是一张表里多加张“issue_type”栏位.

 

2.选择合适的数据库产品

 

除此以外就是需要注意采用何时的数据库产品,我们一般认为Oracle和DB2这样的企业级别才可以,因为产品本身的架构(比如说Oracle的表空间设计,多磁盘阵列的配置,分散数据聚集区)。

你可能感兴趣的:(海量数据库的设计要点。)