私はSQLから複雑なプロセスを.NETアプリケーションに移行しています。私は、SQLから必要なデータだけをプルダウンしてから、データテーブルに格納することによって、強引なアプローチを取っています。ステッピングを伴うパイプラインパターンを使用して、私は並行して実行できるプロセスを打ち出しました(他のプロセスに依存せず、同じデータビットで作業する)。データセットの代わりにメモリ
すべてうまくいっていますが、DataSet/DataTable構造よりも優れたパフォーマンスを示すメモリ内SQLソリューションがあるかどうかを知りたいと思います。私たちは一度に50k行をサポートしており、最大1mのデータ行をサポートしています(5b行を読む)。 1行(すべてのデータ行をサポート)の行サイズはおそらく約1K avg(大きな文字列のため)です。
私の質問は、特にDataSets、メモリのオーバーヘッドと永続性のパフォーマンスに関するものです。復旧の目的で、各ステージのデータをディスクにシリアル化する必要があります。
強く型付けされたモデルに行をマッピングする方が良いでしょうか?私は、データセットの関係やその他の利点は必要ありません。私は検索機能のほとんどを自分自身で並列処理を使って置き換えました。
データはSQLiteのを見て、プリミティブ型、無塊、ストリーム、地理などのローカルのSQL操作について
強く型付けされたモデルに変える限り、あなたが表現しているデータによって異なります。また、あなたはメモリで一度データとやりとりをしようとしていますか?これを知ることは、自分自身や他の人が状況に対する最良のアプローチ/最良のアドバイスを判断するのに役立ちます。 – JesseBuesking
約100種類のプロセスが必要です。重複、データ計算、集計、更新、削除などのレコードをチェックします。最終的なデータセットはSQLにプッシュバックされます。プロセスによっては、結合やグループのような機能が必要なものもあります。 –