mssql sql .net database ms-access

mssql - Base de datos SQL liviana que no requiere instalación



grafana ssas (7)

¿Podría recomendar una base de datos SQL liviana que no requiera que la instalación en una computadora cliente funcione y que se pueda acceder fácilmente desde la aplicación .NET? Solo se necesitan capacidades SQL básicas.

Ahora estoy usando la base de datos de Access en proyectos simples y distribuyo archivos .MDB y .EXE juntos. Buscando alguna alternativa.



Compruebe SQLite , es una biblioteca de software que implementa un motor de base de datos SQL transaccional autónomo, sin servidor y de configuración cero.

Tiene muchas wrappers para .NET


Depende de lo que quieras decir con peso ligero. Fácil en Ram? O un archivo db más ligero? ¿O un conector más ligero para conectar a db? O menos archivos sobre todo? Daré una comparación de lo que sé:

no of files cumulative size of files db size Firebird 2.5 5 6.82 MB 250 KB SqlServerCe 4 7 2.08 MB 64 KB Sqlite 3.7.11.0 1 0.83 MB 15 KB VistaDb 4.3.3.34 1 1.04 MB 48 KB no of files - includes the .net connector and excludes the db file

Los dbs son de 1 tabla con 2 columnas y 2 filas. Tome el tamaño de db con una pizca de sal ya que las dbs podrían crecer de manera diferente con el uso posterior. Por ejemplo, SqlServerCe aunque inicialmente estaba en 64 KB, no creció en absoluto después de agregar unos cientos de registros, mientras que VistaDb creció fácilmente de 48 a 72 a 140 KB. SQLite fue el mejor en ese aspecto que comenzó desde el más bajo y creció linealmente.

Pocas anécdotas: mejor desempeño utilicé SqlServerCe con la configuración de fábrica, lo que significa que es el más fácil de poner en marcha sin configuración, mientras que Firebird fue un poco más difícil de poner en marcha debido a la falta de materiales en línea. Firebird, como podía leer, tenía la más amplia compatibilidad con SQL estándar. Si bien VistaDb está escrito en C # completamente administrado, lo que significa que puede fusionarse con el ensamblado de su aplicación para tener un único archivo, me pareció que era más lento. De todos, considerando rendimiento, facilidad y tamaño, elegí SQLite. SqlServerCe sería mi segunda opción.

En resumen, cada uno tiene sus ventajas y desventajas. De nuevo, toma mi diatriba con una pizca de sal, es solo mi experiencia personal.


Podrías mirar VistaDB si estás escribiendo en .NET. Es un código administrado al 100%, contiene integridad referencial verdadera, procs almacenados tsql, procs clr y mucho más en un único ensamblaje que puede implementar xcopy.

VistaDB se ejecuta en sitios de asp.net de hosting compartido bajo confianza media, y en dominios de directorio activo como invitado (sin permisos locales) también.

No se requieren registros ni otras configuraciones en la máquina en la que despliega el motor, y el tiempo de ejecución es libre de regalías.

El soporte de 32/64 bits está incluido en el conjunto único. Los motores de modo mixto con código no administrado generalmente requieren que envíe más de 1 versión del código no administrado para admitir 32 y 64 bits, o para recompilar para objetivos de CPU específicos.

Vea las ventajas del hilo VistaDB SO para más información.

http://www.vistadb.net


Puede almacenar sus datos como archivos JSON. Si necesita que sea independiente, existen soluciones dll como IODB y LiteDB.


SQLite es genial.

También echa un vistazo a Firebird embedded. Podría ser una mejor opción si varios usuarios necesitan acceder a la base de datos en el futuro.