Mondi su mondi, sistemi di sistemi.

DBMS per XML: lo stato dell’arte

Sempre a pro­po­sito dei limiti dei data­base rela­zio­nali, ecco un post inte­res­sante di Elliotte Rusty Harold in cui, facendo una car­rel­lata sull’offerta dei data­base XML dice:

IMHO, native XML data­ba­ses are now rou­ghly where rela­tio­nal data­ba­ses were circa 1994: solid, pro­ven tech­no­logy that gets the job done but only if you pay big bucks to do it.

e più oltre:

The sim­ple truth is that while much data and many appli­ca­tions fit very nea­tly into tables, even more data doesn’t. Books, ency­clo­pe­dias, web pages, legal briefs, poe­try, and more is not prac­ti­cally nor­ma­li­za­ble. SQL will con­ti­nue to rule supreme for accoun­ting, human resour­ces, taxes, inven­tory mana­ge­ment, ban­king, and other tra­di­tio­nal systems where it’s done well for the last twenty years. However, many other appli­ca­tions in fields like publi­shing have not even had a data­base bac­kend. It’s not that they didn’t need one. It’s just that the data­ba­ses of the day couldn’t handle their needs, so con­tent was sim­ply sto­red in Word files in a file system. It is these appli­ca­tions that are going to be revo­lu­tio­ni­zed by XQuery and XML.

Tuttavia non sono ancora con­vinto che que­sto sia vero. La que­stione, secondo me, gira sem­pre intorno alla fatto di con­si­de­rare l’XML un data type o meno: se sì, allora gli RDBMS potreb­bero tran­quil­la­mente inte­grarne la gestione, altri­menti serve qualcos’altro, come i pro­dotti che il post citato elenca.

Aggiungo anche che la prima pos­si­bi­lità – l’XML come data type – vale solo se l’ipotesi per cui il modello rela­zio­nale e i data types sono real­mente orto­go­nali; cosa di cui non sono sicu­ris­simo. È vero, la teo­ria dice così ma ci sono diverse altre que­stioni che non pos­sono essere igno­rate: il fatto che i data­base attuali, basati sull’SQL, non sono imple­men­ta­zioni fedeli del modello rela­zio­nale; il fatto che ci sono pro­blemi di ordine stret­ta­mente pra­tico che vanno tenuti in considerazione.

L’esempio clas­sico è l’eterno dilemma del “dove–salvo–le–foto” e ogni volta ven­gono fatti elen­chi di pro e con­tro le solu­zioni basate su data­base e su file system. Non basta solo l’ortogonalità (pre­sunta) a diri­mere la que­stione, biso­gna con­si­de­rare anche que­stioni come il bac­kup e le pre­sta­zioni nel ser­vire le foto. Credo che la rispo­sta for­mal­mente cor­retta è quella che non basta defi­nire un data type BLOB e but­tarci den­tro quello che si vuole; ser­vono anche degli ope­ra­tori ade­guati e la cosa non è affatto banale.

Lo stesso potrebbe valere per l’XML inteso come data type: è pra­tico pen­sare di sal­vare in solo campo un testo di 250 pagine? Quali cri­teri usiamo?

Per proseguire

Commenti e trackback sono disabilitati.