大数据量的数据库设计

来源:互联网 发布:笨办法学python 元组 编辑:程序博客网 时间:2024/05/18 21:08

大数据量的数据库设计(2011-02-15 10:03:38)转载标签:大数据量数据库设计it分类: Mysql数据库1.按照月来分,每个月让系统自动建一张表,然后把这个月的数据放在这个表里面2.就是用一个备份的数据服务器,把每个月的数据都导出到那个备份服务器上去,在备份服务器上面数据的存储不按月来分,按照年来分,每年建一张新表,做报表的时候,就到备份服务器上面操作3.就是对这几张表用对象数据库,来存储一个月的数据,这数据是在内存的,操作起来,比操作关系数据库快,前段时间的数据还是放在关系数据库里面,这样就可以不用数据备份服务器了4 .定时清理数据,可以考虑用触发器或者带存储过程的作业来实现;5.是考虑数据的转换与提取,定期用程序或用事务复制导入原始/汇总数据,把数据复制到一台专门做统计的服务器上,专门做查询所用;查询的时候做相应的优化,例如索引,视图等这样查询的时候压力就会小很多;同时考虑负载平衡,在空隙时利用其cpu和内存6 .各业务系统和外部数据源传送的数据为维系挽留系统输入,这些数据分别经过数据格式检查;源数据清洗抽取转换、装载数据到收集层;对收集层中数据抽取、转换、装载到数据仓库;数据仓库中数据进行抽取、转换并结合模型算法库中的算法生成维系结果集以供输出;同时通过数据仓库接口,可将数据提供给应用系统的本地化查询使用。http://www.cnblogs.com/luluping/archive/2009/12/12/1622566.html分区,单独tbs,用如下方法建立,性能会好很多.CREATE TABLESPACE tbs_larger_160m LOGGING DATAFILE 'D:/oracle/oradata/ninedb/tbs_larger.dbf' SIZE 327688KREUSE AUTOEXTEND ON NEXT 160M MAXSIZE 4096008K EXTENT MANAGEMENT LOCAL UNIFORM SIZE 160MSEGMENT SPACE MANAGEMENT AUTO ;db_file_multiblock_read_count=32http://www.itpub.net/thread-412393-1-1.html完全可以按月、b建复合分区,几百个分区对oracle只是小case,如果你的机器内存足够,可以按月、b、a建分区。(分区很多的话,数据字典很大,必须在shared_pool中cache才行,所以内存需要多些)给你一个例子参考:-----病人每日费用清单(10000/天)drop table DAYBILL;create table DAYBILL(DAYBLDATE Date Not Null ,PATID Number(9) Not Null ,INVID Number(4) Not Null ,AMT Number(12,4))partition by range(DAYBLDATE)subpartition by hash(PATID) subpartitions 10(partition daybill_200305 values less than (to_date( '20030601 ', 'yyyymmdd ')),partition daybill_200306 values less than (to_date( '20030701 ', 'yyyymmdd ')),partition daybill_200307 values less than (to_date( '20030801 ', 'yyyymmdd ')),partition daybill_200308 values less than (to_date( '20030901 ', 'yyyymmdd ')),partition daybill_200304 values less than (to_date( '20031001 ', 'yyyymmdd ')),)pctfree 5 pctused 60initrans 10 maxtrans 255storage( initial 10M next 10M FreeLists 2)tablespace his_part;create index in_daybill_daybldate on daybill(DAYBLDATE,PATID,INVID) local pctfree 0 tablespace his_indx;alter table DAYBILL add constraint PK_DAYBILL primary key(DAYBLDATE,PATID,INVID);create index in_DAYBILL_patid on DAYBILL(PATID) globalhttp://topic.csdn.net/t/20040319/10/2860626.html大数据量的数据库设计准则:1、分区 (list、range、hash)。2、根据where条件来决定分区策略。http://www.javaeye.com/topic/174263

原创粉丝点击