我正在將一個複雜的過程從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