我需要能够将每秒数千个事务插入到某种形式的存储中,并能够快速查询它。
我想要做的是记录所有TCP请求(密钥是源或目标IP地址)。 然后当另一个请求进入时,检查IP的先前请求是否在存储/数据库/缓存中并执行适当的操作。
SQLExpress,SQLCompact,SQLIte,MongoDB,Firebird?这些中的任何一个都足够快吗?
我应该只使用某种描述的内存数据结构吗?
商店需要同时由多个线程访问...
请提出任何建议......
更新:RaptorDB?这有什么好处吗?值得考虑上面的其他Databases / noSQL吗? http://www.codeproject.com/KB/database/RaptorDB.aspx
答案 0 :(得分:0)
在这些速度下,你的瓶颈可能就是你的磁盘;标准SATA驱动器每秒只能执行几十次事务。要补充磁盘,请在其中放入大量RAM,以便数据库主要存储在内存中。
或者,通过滚动自己使用关联数组的记录器,在内存中完成所有操作。您是否需要记录所有正在发送的数据,或者只是记录PC A向PC B发送数据的事实?