我正在将一个复杂的过程从SQL移动到一个.NET应用程序。我只是通过拉下SQL所需的数据,然后将数据存储在数据表中来采取暴力方法。通过使用流水线模式,我打破了可以并行处理的流程(不依赖于其他流程,也不处理相同的数据位)。在内存替代数据集
一切都很好,但我想知道是否有内存中的SQL解决方案比DataSet/DataTable结构执行更好。我们一次谈论50k行,最多支持1m支持数据行(读取5b行)。 1行(所有支持的数据行)的行大小可能在1K左右(由于大字符串)。
我的问题是具体关于数据集的性能,内存开销和持久性。为了恢复目的,我需要将每个阶段的数据序列化到磁盘。
将行映射到强类型模型会更好吗?我不需要任何关系或数据集的其他好处;我用自己的并行处理替换了大多数搜索功能。
数据只使用基本类型,没有斑点,溪流,地理等
只要将它转换为强类型模型,我会说它取决于您所代表的数据。另外,你在内存中试图对数据做什么/一次?了解这可能会帮助我和他人确定最佳方法/最佳建议。 – JesseBuesking 2011-12-14 23:57:07
需要发生大约100个不同的过程。检查重复记录,数据计算和聚合,更新,删除等。所得到的最终数据集被推回到SQL。一些进程需要连接和组功能。 – 2011-12-14 23:59:10