对超大数量数据的处理
有张基础数据表,如下:
CREATE TABLE if not exists business_monitor_table(
dev_num varchar(15) not null, // 设备编号
statistical_code varchar(10) not null, // 统计码
response_code varchar(8) not null, // 应答码
out_account varchar(25), // 出款方账户
transit_account varchar(25), // 中转账户
in_account varchar(25), // 入款方账户
trade_money decimal(7,2), // 交易金额
admin_account varchar(25), // 管理员账号
trade_time datetime not null, // 交易时间
statistical_time datetime not null, // 统计时间
currency_code varchar(3) not null, // 货币代码
accept_bank_code varchar(20), // 受理行机构代码
accept_bank_inf varchar(20), // 受理行信息
sendout_bank_code varchar(20), // 发卡行机构代码
admin_num varchar(8) not null, // 管理员号
card_type varchar(3), // 卡种类型
foreign key(dev_num) references dev_register_table (dev_num) on update cascade on delete cascade,
foreign key(statistical_code) references statistical_code_table(statistical_code) on update cascade on delete cascade); // 外键约束
按需求设计,这张表每天大约产生70万--700万的数据,每月产生2000万--2亿的大量数据,当然这是极端情况,就目前的情况,每天最多产生70万、每月产生2000万的数据,我用的是MySQL5.1,我的设计方法是先分表后分区,就是每月自动生成一个表,然后每个表生成31个区,每天会自动结算,将当天的数据整理到其他的表中,现在有以下问题:
1。目前我不清楚MySQL5.1的分区是否稳定。
2。分区不支持外键,我有两个外键就得去掉,对这个表而言,外键是有好啊,还是没有好。
3。这个设计方法是否可行,MySQL能存储这么大的数据吗。
4。怎样设计大数据量的数据库,有没有其他的方法或者其他注意的地方,请高手指点。