Pregunta sobre integracion bases de datos

Hola
Tengo en mi institucion varias bases de datos dando vuelta, la mayoria
en mysql y otras para bibliotecas digitales como greenstone ,isis etc,
todos base de datos para bibliotecas …
Ahora bien quiero integrarlas todas con sqlite…
la pregunta es puedo hacerlo con sqlite o me recomiendan que trabaje con
mysql…

gracias
gustavo

Gustavo U. Navarro wrote:

Hola
Tengo en mi institucion varias bases de datos dando vuelta, la mayoria
en mysql y otras para bibliotecas digitales como greenstone ,isis etc,
todos base de datos para bibliotecas …
Ahora bien quiero integrarlas todas con sqlite…
la pregunta es puedo hacerlo con sqlite o me recomiendan que trabaje con
mysql…

gracias
gustavo

MySQL es el “default choice”, así que si encima ya estás ahí, sería la
solución lógica… deberías tener una muy buena razón para preferir
pasarlo todo a sqlite. Pero obviamente, sí que puedes hacerlo… a costa
de un trabajo adicional de dudosa utilidad.

s2

Gustavo U. Navarro dijo [Mon, May 04, 2009 at 06:11:56PM -0300]:

Hola
Tengo en mi institucion varias bases de datos dando vuelta, la mayoria
en mysql y otras para bibliotecas digitales como greenstone ,isis etc,
todos base de datos para bibliotecas …
Ahora bien quiero integrarlas todas con sqlite…
la pregunta es puedo hacerlo con sqlite o me recomiendan que trabaje con
mysql…

Si bien el default de Rails es hoy en día SQLite, esto no significa
que sea una mejor base de datos - sencillamente es una más sencilla
de montar (porque sólo tienes que crear un archivito y punto). Sin
embargo, SQLite adolesce de fuertes problemas, y debes usarla sólo
para desarrollo (NO para producción). Asómate al FAQ de SQLite. Un par
de puntos ejemplo

  • SQLite tiene problemas de bloqueo. En una aplicación con muchas
    instancias corriendo puedes tener pérdida de datos). Citando del FAQ
    (punto 5, 6):

    Multiple processes can have the same database open at the same
    time. Multiple processes can be doing a SELECT at the same
    time. But only one process can be making changes to the database
    at any moment in time, however.
    (…)
    But use caution: this locking mechanism might not work correctly
    if the database file is kept on an NFS filesystem. This is because
    fcntl() file locking is broken on many NFS implementations.

  • SQLite no sabe de tipos de datos, y aunque te deja definirlos, es
    meramente declarativo. Puedes meter cadenas en campos enteros… Y
    claro, eso va a confundir a cualquier aplicación. (puntos 3 y 4 del
    FAQ)

  • SQLite hace muchas maromas para darte un soporte completo dentro de
    una aplicación mínima - y es tremendamente exitoso. Sin embargo, no
    implementa el conjunto completo de SQL. Por ejemplo, no puedes
    borrar una columna de una tabla (punto 11). Esto te puede llevar a
    migraciones fallidas.

  • SQLite no maneja integridad referencial (22)

Claro, no digo que MySQL sea una buena base de datos (que
definitivamente no lo es)… Y hay muchas razones para preferir SQLite
en entornos específicos. Pero no te vayas por SQLite sólo por ser el
default de Rails.

[1] SQLite Frequently Asked Questions


Gunnar W. - [email protected] - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF