Pregunta

¿Cuáles son las diferencias entre SQLite y DISQLite y por qué iba a querer elegir uno sobre el otro?

Mi contexto es que estoy tratando con una base de datos grande (podría ser de hasta 10 GB), la parte crítica de que está en una mesa muy simple, con un solo campo indexado y un campo de texto hasta unos pocos KB de tamaño . Mi herramienta de desarrollo es Delphi 2009 y la base de datos se integrará en mi .exe.

Mi principal criterio es la velocidad. Esto sería para una aplicación de software que se ejecuta en un ordenador típico de Windows, por ejemplo con Windows 7 y 4 GB de RAM.

Si desea sugerir una herramienta de base de datos, por favor, dígame por qué sería mejor que estos dos para mi aplicación, especialmente en la frontera de velocidad.

¿Fue útil?

Solución

AFAIR, DISQLite utiliza los archivos OBJ de SQLite, y compilar con Delphi y producir más características que el original, y utilizando el mismo formato SQLite DB, por lo tanto, se puede leer el archivo de base de datos DISQLite por ella por otros idiomas que tiene apoyo para los conductores SQLite.

También otra característica más que con DISQLite que no tiene que distribuir el DLL SQLite.

DISQLite soporte base de datos de tamaño de hasta 2 TB, por lo que podía manejar su requiere sin problemas.

Otra de las opciones que consideraría es Firebird versión integrada, y si desea modificar la escala más, se puede cambiar a servidor Firebird completa sin mucho esfuerzo.

Sin embargo, creo que ambos SQLite y DISQLite se obtienen mejores resultados que Firebird.

Audcom componentes Sqlite para acceder a bases de datos SQLite, y se puede compilar con el archivo de SQLite objs por lo que no tendrá que implementar DLL SQLite.

Otros consejos

puedo sugerir que escribir su propia implementación. Si usted no necesita consultas SQL complejas, la más simple (y probablemente el más rápido) es la implementación de almacenamiento basado en archivos.

DISQLLite tiene dos versiones con el libre limitado al uso personal y no comercial. Por lo que este podría ser uno de los factores para decidir como SQLite es la implementación de código abierto libre sin versiones libres / pagados.

Tanto de la base de datos sería capaz de manejar los datos que van en el SGB. SQLite está disponible en pre-compilado binario DLL es decir que puede ser distribuido a lo largo de su aplicación. Sin embargo, con el código fuente disponible también puede compilar dentro de su aplicación y utilizarlo sin la necesidad de DLL.

La ventaja de utilizar el módulo de DLL (a veces) es cuando algunos de los errores se resuelven simplemente se verá obligado a reemplazar el archivo DLL en la máquina cliente en lugar de recompilar la aplicación.

Me siento SQLite sería una mejor opción para yor requisito. Velocidad de la base de datos no está enteramente basado en el tipo de base de datos. Hardware como velocidad de acceso a disco duro, potencia de procesamiento disponible, RAM, etc también juegan un papel importante en la aceleración de la base de datos.

Tenga en cuenta que la versión personal DISQLLite tiene algunas limitaciones y no creo que el precio de la versión profesional (Euro 149.99 sin fuente) vale la pena cuando cualquiera puede aplicar una envoltura de SQLite de forma gratuita.

Yo estaba usando DISQLite personal para un producto gratuito y tuvo que implementar un cambio de base de datos en un nuevo lanzamiento de la versión. La versión personal no soporta 'ALTER' por lo que me enfrentaba a tener que comprar la versión completa. Así que abandoné DISQLite y fuimos con un buen envoltorio SQLite. Sólo ir para DISQLite si está dispuesto a pagar por la versión completa.

SQLite4Delphi podría ser una mejor opción, o al menos que apuntan a una solución más rentable.

Tome un vistazo a nuestra SynBigTable unidad . Es será mucho más rápido que SQLite , y parece encajar exactamente su propósito .

Y si necesita una implementación nativa SQLite, echar un vistazo a nuestra SQLite3 marco : es gratuito y Open Source, sin ninguna DLL externa. Y tiene algunas características más que el DiSQLite cerrado (como clases nativas de Delphi para implementar funciones de SQL o tablas virtuales).

Para el POV rendimiento, el cuello de botella no será la envoltura que está utilizando, pero el acceso al disco, y cómo configurar su base de datos. No se olvide de usar para recuperar sus datos lo más rápido posible. Entonces, incluso 10 GB de datos no será un problema para SQLite, cualquiera que sea la envoltura que está utilizando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top