Necesito escribir un servicio C# (podría ser un servicio de Windows o una aplicación de consola) que necesita procesar grandes cantidades de datos (100 000 registros) almacenados en una base de datos. Procesar cada registro es también una operación bastante compleja. Necesito realizar muchas inserciones y actualizaciones como parte del proceso.Procesando grandes cantidades de datos usando multiprocesamiento
Estamos utilizando NHibernate como el ORM.
Una forma es cargar todos los registros y procesarlos secuencialmente ... lo que podría ser bastante lento. Estaba buscando opciones de múltiples subprocesos y estaba pensando en tener múltiples hilos procesando trozos de registros simultáneamente.
Podría alguien darme algunos consejos sobre cómo debería abordar este .. teniendo en cuenta que estoy usando NHibernate y cuáles son las posibles trampas como estancamiento etc
muchas gracias.
Pequeño punto no relacionado: su pregunta no es realmente una pregunta 'C#', por lo que probablemente elimine esa etiqueta; y ya que mencionaste NHibernate y debido a la naturaleza de la pregunta, probablemente agregaría eso como una etiqueta. Si desea transmitir que está en .NET, agregue una etiqueta .NET. – DuckMaestro
Gracias ... punto tomado :) – Sennin
¿Dónde está almacenando los datos que ha procesado? 100.000 declaraciones de actualización separadas matarán tu base de datos. –