Efektivita MySQL při uložení velkého XML

Re:Efektivita MySQL při uložení velkého XML
« Odpověď #15 kdy: 05. 06. 2017, 08:09:02 »
Raději to uloži do databáze ve formě key, value.
No, a tady bacha: EAV je právem považováno za antipattern, a právem. Dnes už je opravdu lepší použít XML nebo JSON, pokud mají nativní podporu (vlastně EAV byl jeden důvod proč se přidávala). Když relační databáze, tak pokud možno nějaká rozumná normální forma (tj. sloupečky).


Ivan

Re:Efektivita MySQL při uložení velkého XML
« Odpověď #16 kdy: 05. 06. 2017, 10:01:04 »
Pokud netrvas na SQL. Tak zkus eXistdb http://exist-db.org/exist/apps/homepage/index.html.

Je to noSQL database z doby kdy jeste noSQL nebylo kuuul a lide verili, ze kazdy problem se vyresi pomoci XML.
Je to vlastne takove Mongo, akorat misto JSON je tu XML a misto javascriptu je tu JAVA/XPATH

Ivan

Re:Efektivita MySQL při uložení velkého XML
« Odpověď #17 kdy: 05. 06. 2017, 10:06:46 »
PS: jestli chces pouzit relacni db a XML tak pouzij PostreSQL (popr. Oracle XE) ty maji podporu pro XQUERY. MySQL si jde vlastni cestou.

Re:Efektivita MySQL při uložení velkého XML
« Odpověď #18 kdy: 05. 06. 2017, 12:28:37 »
PS: jestli chces pouzit relacni db a XML tak pouzij PostreSQL (popr. Oracle XE) ty maji podporu pro XQUERY. MySQL si jde vlastni cestou.
Rozhodně, Postgresql je jedna z nejlepších nosql databází :-)

PS: nosql = not only sql :-)

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Efektivita MySQL při uložení velkého XML
« Odpověď #19 kdy: 05. 06. 2017, 22:21:44 »
Raději to uloži do databáze ve formě key, value.
No, a tady bacha: EAV je právem považováno za antipattern, a právem. Dnes už je opravdu lepší použít XML nebo JSON, pokud mají nativní podporu (vlastně EAV byl jeden důvod proč se přidávala). Když relační databáze, tak pokud možno nějaká rozumná normální forma (tj. sloupečky).


EAV je o dvě míle dál než jsem měl na mysli :). Použití nativních struktur v XML/JSON bude antipattern za pět let, to si člověk moc nepomůže.

Akademická diskuze tady asi nemá smysl, nějaká normalizace dat v relačních databázím klukům asi moc neřiká. Ukládat celou strukturu v jednom atributu vypadá lákavě, ale chtěl bych upozornit na dost pastí, které se v budoucnu mohou vymstít (upgrade/downgrade, transformace, konzistence, integrita, backup/restore, transakce atd.).

Normalizovat data do tabulky je pro podobnou hru nejlepší, nosql může sloužit jako cache nebo píseček na hraní, data budou ale pod kontrolou v db.


BrainLess

Re:Efektivita MySQL při uložení velkého XML
« Odpověď #20 kdy: 06. 06. 2017, 11:49:13 »
Ach jo ...  pokud si chce nekdo hrat, potud OK. Jinak je XML/JSON v DB totalni zhovadilost. Proc? Protoze efektivita.
Asi jsem uz prilis stary a muj pohled kde porad pocitam kazdy tik CPU a kazdy bajt se prilis nenosi. Holt je asi dneska v mode porad CPU trapit zbytecnym parsovanim XML sem a tam .. ;-)

Kit

Re:Efektivita MySQL při uložení velkého XML
« Odpověď #21 kdy: 06. 06. 2017, 12:25:49 »
Ach jo ...  pokud si chce nekdo hrat, potud OK. Jinak je XML/JSON v DB totalni zhovadilost. Proc? Protoze efektivita.
Asi jsem uz prilis stary a muj pohled kde porad pocitam kazdy tik CPU a kazdy bajt se prilis nenosi. Holt je asi dneska v mode porad CPU trapit zbytecnym parsovanim XML sem a tam .. ;-)

Obvykle máme zato, že XML/JSON nesplňuje ani 1NF. Existuje však několik případů kdy je ukládání těchto formátů výhodné a splňuje i 3NF. Nejspíš to nebude uvedený příklad a proto nelze ukládání XML/JSON do databáze obecně doporučit.