作者asklove (是问爱不是要爱b)
看板Database
标题[系统] 很多资料时
时间Sat Mar 7 01:56:41 2009
不知道有没有人遇过或想过这个问题
如果有一个线上交易系统,平均每天都会产生30多万笔交易资料,暂定大约50MB好了
如果就这样放任不管让资料都放在同一张交易资料表的话,那麽这张表将会增长得很快
一个月就会有将近1000万笔交易资料,占去硬碟空间约1.5G
长此以往,有可能会超出DBMS或OS的档案系统限制吗? (顺便问一下 MySQL 的限制是?)
而且可想而知,对这个资料表进行搜寻时将会越来越慢、
资料表的维护、建立索引等工作也将越来越困难
当发生这种情形,又不可以将以前的交易资料舍弃,在面对日益增多的交易资料时,
DBA应该要采取哪种措施,来让使用者可以正常进行交易资料的查询、每日新资料的进入,
并维持DB不至於崩溃呢?
1.将一定时间以前(如六个月前)的资料全部备份到另一台离线主机上。
(缺点,查询时只能查到一部份资料,且备份主机依然会有上述的问题,
而使用者还是有需要查询以前的交易资料)
2.将固定时间范围内的资料(如半年)分散放到多台主机DB,顺便分散loading(有钱的作法)
需要搜寻时就用程式去判断需要的资料是什麽月份,再去那个主机DB寻找。
(不过要在查询时将不同DB资料合在一起,我还没学会怎麽纯下SQL而不需程式流程
辅助...有人会吗?)
3.一个月建立一张新的交易资料表在备份主机,且每日备份资料,
需要搜寻时就用程式去判断需要的资料是什麽月份,再去那个资料表寻找。
(同一个资料库下比较好下SQL)
4.禁止使用者存取一定时间以前的资料。(超烂的方法,会被打死吧 XD)
5.其他我还没想到的方法。
请高手分享一下资料库的管理心得....谢谢。
--
答答的马蹄声
我不是归人,也不是过客,
我.........................................是马......>"<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.6.201
※ 编辑: asklove 来自: 118.171.6.201 (03/07 02:03)