Forum: Rails-ES pregunta sobre integracion bases de datos

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Gustavo U. Navarro (Guest)
on 2009-05-05 01:12
(Received via mailing list)
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
Fernando C. (Guest)
on 2009-05-05 12:14
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
Gunnar W. (Guest)
on 2009-05-05 19:33
(Received via mailing list)
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] http://www.sqlite.org/faq.html

--
Gunnar W. - removed_email_address@domain.invalid - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF
This topic is locked and can not be replied to.