Berkeley DB [Was: Re: Algo de bases de datos en Linux...]
Aldrin Gonzalo Martoq Ahumada
amartoq en dcc.uchile.cl
Vie Jul 27 22:44:16 CLT 2007
On 7/27/07, Horst H. von Brand <vonbrand en inf.utfsm.cl> wrote:
> Aldrin Gonzalo Martoq Ahumada <amartoq en dcc.uchile.cl> wrote:
> > On 7/26/07, Horst H. von Brand <vonbrand en inf.utfsm.cl> wrote:
> > > BerkeleyDB [...] tambien hay que considerarlo... y nunca olvidar
> > > SQLite <http://www.sqlite.org>.
> > Siempre he tenido encuentros malos con bdb y similares:
> > - RPM corruptos obligandote a hacer magia o reinstalar todo [DEB usa
> > archivos planos]
> No es RPM corruptos, es base de datos de RPM corrupta. Y eso era en
> encarnaciones previas de BDB, que no manejaba transacciones y
> rollback.
Es lo mismo, queda inusable. Si pierdo mi /var/lib/dpkg, se muere
dpkg, apt y toda la vaina.
> Hace /mucho/ que ya no pasa.
Si, porque ya no lo uso ;)
> > - Subversion destrozados (SI, el historial y trabajo de meses de
> > codigo a punto de desaparecer) [Ahora FSFS es el backend por omision]
> Mejor usa un SCM de verdad, como git ;-)
> > - LDAP corrupto y sin poder leer ningun maldito registro [menos mal
> > hay un backend sql, espero enchufarlos a un postgresql desde ahora]
> BDB sigue siendo lejos mas rapido... aunque probablemente no haga
> diferencia. En todo caso, LDAP es un /directorio/, no una /base de
> datos/, los requisitos son parecidos pero no iguales.
> > - ... y otros ejemplos que no recuerdo ...
> > En definitiva: siempre que una aplicacion con backend BDB falla he
> > tenido que rezar para recuperar los datos y rehacer lo que quedo fuera
> > del respaldo, como dijo Daniel Serpell.
> > Con mi historial de dramas, yo dejaria fuera cualquier sistema que use BDB.
> Mira las ultimas versiones de esa cosa.
A ver:
- LDAP se murio el 2006 (no recuerdo la fecha). Ahi no pudimos
recuperar nada, tuvimos que limpiar /var/lib/ldap, recrear y subir el
ultimo ldif que teniamos respaldado y crear algunas cuentas que
faltaban. La version era el ultimo ubuntu-server del momento.
- El SVN se murio en octubre del 2006. Se bloqueaba y no respondia.
Afortunadamente pude rescatar la mayor parte, habia un comando SVN que
permitia hacer un dump; este se quedaba pegado al llegar a las ultimas
revisiones... Asi que con ese pedazo de dump (sin las ultimas
versiones) cree un nuevo SVN con FSFS como backend y subimos los
ultimos cambios desde las estaciones de desarrollo. La version de la
distro tambien era reciente.
Me parece que en ambos casos se usaron "las ultimas versiones de esa
cosa". De los otros encontrones con bdb, no pude salvar nada... no
recuerdo ya las aplicaciones. Quizas BerkeleyDB no tenga la culpa y
las aplicaciones no utilizan bien la API que provee.... pero de que se
mueren los datos, se mueren :(
--
Aldrin Martoq
Más información sobre la lista de distribución Linux