04 de desembre 2009

Berkeley DB XML

Us presento el meu mal de cap actual: Berkeley DB XML

I us puc dir que... és una merda seca punxada amb un bastó!

I direu, si és una merda seca punxada amb un bastó, perquè nassos et mates en fer-ho servir? Doncs perquè:

-És una base de dades que fa servir fitxers xml
-No fa servir els fitxers xml a pèl (cosa que seria realment lent) si no, que crea uns arxius auxiliars que li permeten guardar informació necessària de tots i cadascun dels fitxers xml que se'n fa càrrec [això vol, que si jo tinc fitxers xml a on hi guardo, per exemple, les dades de tres usuaris, el fitxer aquest em diu: a la posisció x del fitxer 1 tens el nom del primer usuari... Amb lo qual agilitza el procés].
-Accepta xquery i Xpath per accedir a les dades [és com el sql però per a fitxer xml].
-No funciona com MySQL que ḉes un servidor i tu tens els clients, si no que és més com un sistema de fitxers normal i corrents: tu tens els teus fitxers, tu tens les funcions per fer-hi operacions i prou.
-Té suport per multithreading, transaccions i aquestes coses frikis tretes de SQL.
-Té una API en C++ i una altre en Java [vol dir que si tu fas un programa escrit en C++ o en Java pots fer servir la Berkeley DB XML] i també s'ha habilitat per Python, php i haskell.

I si fa tot això, perquè és una merda seca punxada amb un bastó? Doncs perquè:
-L'API (les funcions que has de fer servir per poder utilitzar la Berkeley dbXML)està escrita en C++ i jo ho voldria en C.
-L'API és una puta merda, les funcions que donen són complexes, els seus 4 exemples no compilen (per això els haurien de tallar els ous).
-No és una base de dades gaire extesa més que res perquè quan es tracta d'XML la gent fa servir eXist (que és en Java) i no sé quina altre eina que em sembla que és o també amb Java o en Php.
-La documentació és terrible infumable i desesperant!(bé potser no tant.... errr... bé potser sí).

Uns punts interessants que no ajuden, però tampoc perjudiquen:
-El projecte té origen a la universitat de Berkeley i la seva bdb. Després Oracle es va convertir amb el mantenidor de bdb i ara ha fet la Berkeley DB XML junt amb uns que es fan dir sleepycat, que diria que no és altre cosa que un departament d'Oracle que fa coses amb software lliure.
-Hi ha la versió de pagament i la versió lliure. Que és exactament la mateixa versió però si fas servir la versió lliure has de publicar el codi font del que estiguis fent sota una llicència lliure. I amb la versió de pagament et deixen que et guardis el codi font... Aix això em recorda aquell dia que l'església no deixava (deixa, encara?) menjar carn, però que si pagaves un tant podies menjar carn igualment.


En fi, que ara estic fent la meva pròpia API en C que cridi a l'API en C++ de Berkeley DB XML... Sé que no és gaire eficient, però és la manera més ràpida de tindre una cosa que funcioni. Encara que de moment tot va com el cul.

2 comentaris:

Spiegel ha dit...

bla bla bla, bla bla bla...

en fin...

no hi ha imatges no entenc res de res... :P

Neioo ha dit...

xDD ja en voldria veure d'imatges ja...