目前的卡用户近500万,每天的消费记录(分月票消费,普通卡消费)为近700万,其中月票消费和普通卡消费各将近300万左右,现在的入库平均速度约为180000条每小时,也就是本日的数据不能及时入库,这是有几个原因造成,
- 目前的数据结构设计不合理,普通卡的消费记录和月票卡的消费记录分别为各一个表,对于数据库oracle8i上亿条的数据,很难及时处理过来,
- 数据入库时是分拣入库,对每条数据都是解析后再入库,造成数据库的运算量加大。
- 数据库硬盘设备老化,造成I/O速度下降。
- 对于海量数据服务器的性能是个重要指标。
在本次改造中,首先更改数据库的表结构,为保证平台的平滑过渡,在目前的数据库服务器上新建出个库,供本次平台改造用,在割接完全后,再删除目前的老库。在数据结构上,为普通卡和月票卡的消费记录,每天建一个表,对于普通卡的消费记录保留近3个月的历史数据,月票卡的消费记录保留近1个月的数据。数据的加载程序采用入库时不解析原始数据,根据测试每小时入库量估算为150万,这样能保证每天的消费数据能当天入完库,根据卡的发行量和消费数据比可以满足1000万卡的消费数据当天入完库,能够解决用户的及时查询。
CTI论坛编辑