我有一个每秒处理大量事务的ESB(5000)。它以不同类型的格式接收所有类型的请求(xml,json,csv,有些是无格式的)。正如您可以想象的那样,正在处理大量请求。
问题是由于需求,我必须记录每个数据以进行审核/解决问题。这些数据必须使用用户心中的请求数据的任何部分进行搜索。主要问题是:
数据(XML)很重,导致我们的RDBM上出现插入锁定 (SQLServer 2008)。
查询这些大数据(XML和其他非结构化数据)需要一个 很多时候,特别是当他们没有优化。 (自由文本搜索没有解决我的问题,它仍然太慢了。)
数据增长非常快(预计 - 我希望有数据库可以优化保存的数据以节省空间)。几个月的数据消耗了数百GB。
问题是,什么数据库甚至设计原则可以最好地解决我的问题:NoSQL,RDBMS,其他?我想要一些可以使用任何部分存储数据快速记录并快速搜索的东西。
答案 0 :(得分:1)
我会考虑弹性搜索:http://www.elasticsearch.org/
您的用例的好处:
我会考虑在它前面放一个队列,以防你试图写得比它能处理得快。