Me han encargado que escriba una pequeña aplicación para ser utilizada por un solo usuario. Esta aplicación obtendrá ~ 500 nombres/departamentos de empleados de nuestro DB maestro de empleados. Luego, el usuario ingresará como 5 campos para cada empleado. Esos 5 campos generalmente solo cambiarán una vez al año, pero podría ser el peor caso una vez al mes. Solo se supone que debo hacer un seguimiento de 2 años en cualquier momento dado.¿Es malo no usar un DB pero usarlo en objetos de memoria?
He mirado SQLite y SQL CE y no me entusiasman ninguno de ellos. SQL CE no quiere permitir que el archivo de datos resida en un recurso compartido de red. (Solo un usuario único, pero almacenan todos sus documentos en su recurso compartido privado que se respalda diariamente).
Parece que SQLite encajaría mejor pero no se integra tan bien en Visual Studio sin envoltorios ni nada.
La otra cosa a tener en cuenta es que nuestra gente está versada en MS SQL Server y poco más, por lo que tener algo que entiendan frente a SQLlite será algo importante para mi jefe.
Así que mi pregunta es: ¿Qué sucede si guardo los datos en Objetos en la memoria y los serializo en el disco al guardarlos? Hice una prueba rápida y con 10k personas (nuestro uso será solo 500-1000 máximo) y 10 años cada uno (o 10 meses si actualizan sus datos cada mes, muy poco probable) solo causó que mi aplicación de demostración usara 30 MB de memoria. También llenando esos datos fue instantáneo incluso con el uso de GUID's para llenar aleatoriamente todas las cadenas. ¿Es una mala idea? Es una aplicación bastante simple y en este caso me parece bien.
Cuanto más fácil es de leer, más fácil es ayudar. Por favor usa puntuación - párrafos al menos. –
Soy un fan de los párrafos también. ¿Cuál es la razón detrás de no usar el DB del empleado maestro (al menos una vista en su base de datos maestra) como su fuente de datos? –
sqlite se puede integrar muy bien a VS ... – Amirshk