2008-11-07 16 views
32

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

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

Respuesta

20

depende de lo que quiere decir con 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? Voy a 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 

el DBS son de 1 mesa 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 con 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.

+1

Es útil. ¡Gracias! –

26

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

+0

Voy a intentarlo pronto. ¡Gracias! –

2

SQLite será lo que está buscando

4

Howabout SQL Server 3.5/2008 Compact Edition? Una buena versión integrada de SQL Server.

http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx

funciona bastante agradable con .NET, y por supuesto todas sus herramientas y scripts SQL Server regulares funcionan bien.

+0

Lo intenté hoy. Desafortunadamente no admite vistas como lo hace el motor Access JET, pero gracias de todos modos. –

+0

Sí, para obtener más funciones de SQL completas, se requiere pasar a Express y una instalación mucho más compleja. http://download.microsoft.com/download/e/8/8/e8859616-e95d-41fe-9f81-ff88388d772b/SQLServer%202008CompareComapctExpress.pdf Tiene una comparación detallada de los dos productos. – stephbu

3

SQLite es genial.

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

4

Puede mirar VistaDB si está 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 hosting compartido asp.net bajo confianza media, y en dominios de directorio activo como invitado (sin permisos locales) también.

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

Soporte de 32/64 bits 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.

Consulte el subproceso Advantages of VistaDB SO para obtener más información.

http://www.vistadb.net

2

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

+0

LiteDB es bastante genial –

Cuestiones relacionadas