大数据量的数据库设计

大数据量的数据库设计 (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 327688K REUSE AUTOEXTEND ON NEXT 160M MAXSIZE 4096008K EXTENT MANAGEMENT LOCAL UNIFORM SIZE 160M SEGMENT SPACE MANAGEMENT AUTO ; db_file_multiblock_read_count=32 http://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 60 initrans 10 maxtrans 255 storage( 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) global http://topic.csdn.net/t/20040319/10/2860626.html 大数据量的数据库设计准则: 1、分区 (list、range、hash)。 2、根据where条件来决定分区策略。 http://www.javaeye.com/topic/174263

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值