To sem byl ja, kdo to rekl.
Musite rozlisovat data ktera jsou urcena pocitaci a nikoliv uzivatelum. Je jasny ze data, do kterych leze i uzivatel, musej bejt uzpusobeny jemu. Je na pytel, kdyz vyvojovy nastroje ukladaj zdrojaky binarne, treba powerbuilder, nebo jeste nedavno Delphi 5 formy.
Jenze kdyz potrebujete od compu nejakej vykon, tak proc mu to ztezovat.
Nedovedu si predstavit databazi jako oracle postavenou nad xml a nikoliv nad binarem.
Tak to já si ji představit dovedu.
Horror, že by Hitchcock s jekotem zdrhnul.
Pochopitelně ne, pokud někdo potřebuje uložit pár set výsledků z koňských dostihů. Ale když máte miliony záznamů a potřebujete k nim v reálném čase... To i SQL často zdržuje a člověk má cukání, že by to přece šlo...
Tohle platí, když jde o tu stranu "ven" - k uživateli. Když si povídají procesy, jde to taky, ale ale dře to.
Zažil jsem naprosto strašný případ. Šlo o propojení jakéhosi externího zdroje dat s naším žroutem. On vše kódoval do XML. Takže pár dat se zakódovalo, přeneslo, dekódovalo, dvoubajtový integer pochopitelně do 5 znaků, <blablabla> před </blablabla> za...
Furt ještě žádná hrůza. Jenže po nás se chtělo, aby to bylo rychlý! A když říkám rychlý, tak se chtělo fakt rychlý!
No, udělat to šlo, ale rychlý to nebylo ani náhodou. Nakonec bylo jednodušší vysvětlit a dokázat manažerům, že to, co zdržuje není naše část. Kdo někdy něco takového šéfům vykládal, pochopí, ostatním vyložit nelze.
Na něco jsou zkrátka proprietální binární formáty nenahraditelný. Je s tím víc práce, ale někdy to jinak nejde. Stejně jako když potřebuju opravdu rychlost, tak jdu do C nebo assembleru.
To máte jako se zavírací kudlou se spoustou želízek. Může se hodit, ale buď to nebude ani pořádná kudla, ani šroubovák, nůžky, vývrtka a padesát jinejch bazmeků, nebo to bude vážit tak 3 kila a urve vám kapsu.
Ale na strukturování textu, zápis masivně nehomogenních dat, údajů, u kterých prostě od začátku nemůžete strukturu znát detailně, tam XML patří.
Nahrazovat jím relační DB, je blbost. Nehospodárná a zbytečná blbost.
Ad rychlost čtení XML. Existuje mnoho parserů, a některé jsou rychlejší a některé pomajelší. Mnohdy jde aplikace, které se starají o zpracování velkého množství zpráv v XML, výrazně zrychlit použitím rychlejšího parseru.
Většina XML parserů je dnes psána tak, že se parser ručně naprogramoval. Existují však parsery automaticky vygenerované pomocí nástrojů jako bison/flex a jsou několikrát rychlejší než klasické parsery. Mají třeba omezenou funkčnost -- neumí validovat, nedoplňují defaultní hodnoty atributů,zahazují komentáře apod., ale v kontrolovaném prostředí nemusí vadit, že parser podporuje jen podmnožinu XML.
To je fajn. Ale když 1) jsem skutečně v kontrolovaném prostředí a 2) potřebuju skutečně rychle něco předávat, tak zdržuje každý parser.
Žádný parser bude vždycky rychlejší. Už jen převod integer-string-integer zdržuje. Stejně musí parser vyhledat úvodní tag, koncový tag, zjistit, jestli to má převádět nebo nechat tak...
I ta kudla může být švýcarská s křížkem, takže lepší než většina jiných krámů. Ale pořádnej pajzák to stejně nikdy nebude.
To, co jsem uváděl, je podle mě právě příklad toho, kam XML neé. Což neznamená, že na jiné věci by se XML nehodilo. Bublina to není, nesplaskne stejně jako nesplasklo ASN.1.
Když jsem kdysi študoval databáze, byla tam zmínka o vojenských, heterogenních DB, kde se pracuje s proměnnou délkou věty. XML podle mě ideální řešení.