Myslim, ze zakladnim problemem je chapat XML jako metodu na ulozeni dat. To je pochopitelne pri vetsich objemech naprosto neefektivni a desitky let existuji vyrazne lepsi zpusoby (treba ruzne DB). XML ale muze byt perfektnim zpusobem pro komunikaci, popis a vkladani dat do ruznych systemu a vnitrne muze tento system mit organizova data naprosto jinak a efektivneji. Umim si predstavit Linuxove "XML registry" s konfiguraci systemu kde XML bude jen na disku, ale vnitrne si bude nejaky konfiguracni server udrzovat data v nejakem pro nej efektivnejsim formatu a pouzivat jine vnitrni na praci s daty efektivnejsi API nez DOM/SAX ...
Já si teda svoje konfiguráky bashe, procmailu, Vimu nebo Fvwm2 v XML představit neumím. Leda jako jednolitý CDATA ;-)
Jedna věc jsou přímočaré konfiguráky typických GUI aplikací. To asi není tak velký problém převést do XML -- ostatně ,,Linuxové registry`` už existují, v Gnome to zařizuje GConf a v KDE se to taky nějak jmenuje. Pojem konfigurák je ale v Unixu podstatně širší a víceméně splývá s pojmem program.
Myslim si, ze nemate uplne pravdu. Proc by nemelo XML slouzit k ulozeni velkeho mnozstvi dat? XML muzeme chapat jako nove (tedy jiz 5 let stare) paradigma pro modelovani dat, ktery diky stromove strukture nabizi vetsi moznosti nez relacni ci objektove-relacni databazovy model. Je to vsechno zalezitost casu, kdy se podari najit vhodne datove struktury pro ulozeni velkych XML dokumentu. Podivejte se jak dlouho trvalo vypilovani RSRBD do dnesni podoby.
Na teto diskusi je patrne v cem tkvi sila XML. Pokud ho vnimame jako paradigma, ktere modeluje strukturu dat jako strom, pak muze slouzit jako ulozeni ruznych konfiguraci (obecne dat), prenaseni dat a po zapojeni ruznych indexovacich technik i pro ulozeni velkych kolekci dat. Spousta takovych veci existuje, ale jak zaznelo jiz v clanku a diskusi, XML je na zacatku a da se ocekavat jeste bourlivy vyvoj (dotazovaci jazyky, indexovani, atd.), prechod od DTD k XML Schema je toho dukazem.
Prave velky objem dat je slabina xml. Bud se to musi parsovat cely najednou, takze se obludne szira pamet, nebo parsovat streamove (SAX) a pak je to zase co dotaz, to parsovani, takze to jede jako lemra. To ze bylo xml urceno primarne pro vymeny webovych dat mi s odstupem prijde jako pekna hovadina, protoze xml sezere mnohem vetsi pasmo na prenos nez binar a taktez parsovani je mnohem pomalejsi nez binar, tudiz 2 zasady pro web - rychla odezva a malej tok je v cudu. A neznam pocitac (mozna ze existuje :), kterej dokaze lip parsovat textovy data nez binarni. Xml lze celkem uspesne pouzit na mistech jako je jednoduchej konfiguracni soubor, kterej cas od casu musi prohlidnout clovek, v jinych pripadech je pouziti textovyho tagovyho zaznamu dat znacne neefektivni.
Tech moznosti je samozrejme vice. Proc si myslite ze neni mozne vytvorit index nad XML dokumentem (dokumenty), aby bylo v XML dokumentu mozne efektivne vyhledavat? Relacni tabulku si taky umim predstavit jako textovy soubor, ale byl vymyslen B-strom, ktery nam umozni efektivny vyhledavani v relacnich databazich a nikdo o tom takto neuvazuje. Problem indexovani XML je stale otevreny, za vsechny bych jmenoval alespon reseni XPath Accelerator od Torstena Grusta.
Stejne je to s velikosti souboru. Znovu rikam, ze XML je nutne chapat jako paradigma modelujici strukturu dokumentu jako strom. Existuji komprese XML dokumentu jako je napr. xmi. Vysledkem je kompaktni binarni soubor obsahujici XML dokument.
Index nad xml samozrejme pouzit jde (a b-tree lze snadno implementovat v xml podobe) ale zase to ma nevyhody xml, coz je velikost souboru a rychlost zpracovani. Pravda, mohu pouzit binarni b-tree, ale pak, kdeze je textovy xml ze...
S tou kompresi mate pravdu, nicmene tim opet ziskam binarni soubor a to uz radeji pouziju primy binarni soubor nez toto. Zkousel jsem i pouziti bin-xml v implementaci oracle-java a svete div se, velikost souboru o 30% menzi a rychlost zpracovani 2x mensi.
Kazdopadne stojim si za tim, ze pokud data jsou urcena primarne pro pocitacove zpracovani, maji byt taktez uspusobeny pocitaci a nikoliv human-readable. Pokud se ovsem pocita s lidskym pristupem do techto souboru, pak neni co resit. Myslim ze databazovy servery si firmy nikdy nedovolej prevezt na xml (nemyslim tim podporu xml pro vymenu dat ale primo format db v xml), protoze by okamzite dostali na frak od konkurence z hlediska vykonu a velikosti.
Jak to myslíte, že XML můžeme chápat jako nové paradigma pro modelování dat? Stromové struktury i onen způsob značkování už tu máme pěknou řádku desetiletí. Snad jen ten nápad je zkombinovat pro obecnou externí reprezentaci dat je nového ražení, a hlavně skutečnost, že někdo takový nápad vůbec vzal vážně...