我们拥有使用JMS服务器发送日志记录消息的日志系统。一旦消息到达Queue,Queue接收者就会解析消息并插入到Oracle DB中。由客户端进程生成的消息非常多,查询DB需要很长时间。根本原因是数据库插入与消息生成相比非常慢(消息生成量很大 - 平均每天130万条消息)。 我想检查一下MongoDB是否适合这个系统而不是Oracle。记录/例外模式非常简单,每个记录有10/15列。对于每个日志记录消息,我们附加了事务数据(平均大小为50到100KB)。 如果存储和搜索(以及后来的清除)是记录涉及的唯一三个活动和例外,是MongoDB更好的选择? (我也曾在这里阅读,使用JMS日志记录是不是一个很好的设计。但它已位于到位并发挥!因此,只有后端IM考虑MongoDB的更大的作用)MongoDB日志记录选项
-1
A
回答
0
如果你的数据将增加每个大那么当然,你可以考虑MongoDB。
这主要有两个原因。
根据您的要求,您根本不必太担心数据,因为它只是一条日志消息,即使您丢失了一些消息也可能不那么重要。重点在于,如果您尝试在文档中进行事务处理,那么在MongoDB中默认情况下不会发生这种事务。如果您没有任何此类事务,那么您可以使用MongoDB并且不会丢失任何消息。但请记住,MongoDB操作在文档中本质上是原子的。
由于它是一个日志记录,您可能希望添加一些真正适合MongoDB的列,因为这些列完全是无模式的,您可以在需要时添加新元素而无需修补旧数据(不必要)。
随着数据增长,您可以添加与Shard服务器一样多的数据,并且您应该可以跨节点进行扩展(以水平方式)。
祝你好运!
+0
非常感谢。我们没有在这里查看交易。即使缺少10万个日志,如果有10个日志丢失,我们仍然可以(业务流程/主程序必须已经运行)。但是日志记录应该快速发生,并且搜索特定日志条件(比如/ select查询等)应该很快返回结果。 – Chirota
相关问题
- 1. MongoDB日志记录
- 2. Mono Touch日志记录选项
- 3. Python日志记录 - logrotate选项
- 4. Rails3自定义日志记录选项?
- 5. Spring数据MongoDB连接日志记录
- 6. MongoDB的日志记录可疑流量
- 7. Mongodb日志记录 - 文件非常大
- 8. 如何MongoDB的日志记录工作
- 9. Heroku的日志记录选项:Amazon SimpleDB,MongoHQ,其他选项?
- 10. Java日志记录:它是日志还是日志记录器?
- 11. Couchdb日志记录
- 12. SynchronizationLockException +日志记录
- 13. NHibernate:日志记录
- 14. Sugarcrm日志记录
- 15. Eazfuscator.NET日志记录?
- 16. WebService日志记录
- 17. Javascript日志记录
- 18. opennms日志记录
- 19. 无记录日志
- 20. Solr日志记录
- 21. 日志记录iisreset
- 22. 日志记录web.ctx
- 23. BlackBerry日志记录
- 24. Apache日志记录日
- 25. 用最新的日志选择记录
- 26. python日志记录筛选器
- 27. JBoss日志记录 - 日志依赖项目
- 28. JavaScript日志记录库(日志级别)
- 29. django日志记录:未创建日志
- 30. java日志记录/日志服务器
这不是一个研究网站。您需要进行更多的调查,如果您遇到特定技术问题,请随时发布具体问题。 –