我正在进行一些性能比较,无论是序列化数据还是将它们存储在数据库中.该应用程序收到大量数据(x GB)的地狱,需要以最低18mb/s的速度持续存在(现在)
在DB中存储可以在以后搜索和访问数据,数据快照,数据迁移等方面提供更简单的功能,但到目前为止我的测试显示了性能时间的巨大差异.
该测试可以节省1000个物体(每个物体大约7个数百kb).通过将它们保存为通用列表,将它们分别放到表中的各个列或磁盘上.(SQLite最后会有更多数据)
我没有对SQLite进行任何性能调整,只需使用Fluent nHibernate和SQLite.Data适配器(没有事务)开箱即用,但起初认为这是一个巨大的差异.
显然我知道,与序列化相比,通过ORM映射器和DB写入磁盘会产生开销,但这很多.
另外考虑的是在收到数据时立即保留数据.如果出现电源故障,我需要收到最后的数据.
有什么想法吗?
-----更新(我继续研究解决方案)------