一条记录有300字节一小时的量有500万,每秒有1400多的记录,要插入库
这个数据库同时还要 支持其它的一些应用这个设计,这个些记录是先存在文件里,然后每小时分析库入库里,还是每向几分钟一个批处理存入库里
哪种设计效率会更好,或者还有什么其它的方法这些记录就算用分区数据量也这个表的量也会很大,有什么好方法数据库是oralce
这个数据库同时还要 支持其它的一些应用这个设计,这个些记录是先存在文件里,然后每小时分析库入库里,还是每向几分钟一个批处理存入库里
哪种设计效率会更好,或者还有什么其它的方法这些记录就算用分区数据量也这个表的量也会很大,有什么好方法数据库是oralce
当然是在每天的晚上或者固定的一段时间进行系统备份,但同时也要向数据库插入数据。
楼上说的很好,对于你这种插入频率搞,量大的选手一定要分清几个地方、再插入。
1.这些记录生成文件后,是否存在当天对这些数据查询的实时性要求 =》决定入库是否的实时性
2.数据库的忙闲时间如何:高峰时段,空闲时段,其它时间压力情况 =》如果1)的实时性要求不高,可以考虑在非忙时入库
3.这些记录生成的文件是否有一定规则,比如按一定时间存放到相同文件等 =》作为表分区创建规则,以及并行导入的依据
4.每小时或每天产生记录是否入库到同一个表,还是有一定的分表规则 =》同上
5.这些记录入库后是否需要更新(DML),还是作为历史沉淀数据,定期清理等 =》作为是否需要建索引的依据
PS: 楼上多位同志已经提到了用sqlldr导入,按楼主提供的数据,每小时大概生成500W/1.4G的数据,sqlldr导入应该还快的(如果主机不会太差的话)
另外按楼主提供数据,在无索引情况下:数据增长速度大概为1.4G/小时,33.5G/天,一个月的增长总量将近1TB
这么大的量,应该会考虑历史数据清理机制的吧,或者容灾备份历史数据,当前生产保留最近N天或几个月的数据