系统业务处理完成之后,会将处理的结果存放在数据库日志表中。如果在高并发的环境中,日志数据插入操作是系统效率的一个瓶颈,大家有什么好的办法解决?
解决方案 »
- Hibernate拆分多对多关系
- SSH getHibernateTemplate()=null的问题
- 解压版tomcat和安装版tomcat默认的根目录不一致啊,可不可以修改?
- Generated servlet error:
- resin启动错误
- 关于JAVAMAIL的问题,作过大批量邮件持续发送的朋友进来看下!!谢了
- Hibernate+Spring的openSessionInView问题
- JMX 管理 (高手请…)
- HIBERNATE醒目.请问为什么总是会出现"事务不再活动"的错误呢?
- 请问看不懂英文的java文档,怎么学习java的类库呀!
- super.getSession为null
- 关于hibernate多表查询的问题
将数据写入到block(文本、内存)中,当block容量到达一定值的时候。再申请一个新的block,继续记录数据。同时启用一个daemon服务来处理“容量满”的block到数据库?
区别:将日志记录的log中,会有io消费(当然会比直接访问数据好多了);将日志记录在内存中,在系统突然down掉的时候后,会出现数据丢失的情况。
权衡之下,记录 在log中,更好?!
2、主要是在数据插入业务比较高。并发访问的情况极少。这种日志(资金流水),主要是做汇总的。
3、如上,怕内存数据库出现数据丢失的情况……
另:在je上看到有人说嵌入式数据库对于C/S模式下的效率很高,如果在高并且的应用中,会是一个瓶颈,因为这种数据只是一个实例来处理所有的请求……我没有实际的应用经验(我主要用于Demo)
2.插入数据库多,那么你对响应速度有没有要求,没什么要求,那就用数据库表,没问题。
3.嵌入数据库和内存数据库不是一回事,berkerlyDB经测试证明,抗至少三千万的量没什么问题。而且用嵌入数据库,那么转换成关系数据库的数据也好转,呵呵,不用分析日志