Autor Zpráva
TFSi
Profil
Zdravím,
spíš než problém s PHP řeším dilema s ukládáním dat. Moje situace:

mám desetitisíce souborů. K těmto souborům si potřebuji vést poznámky (co soubor to 0 - 200 znaků) a ještě potřebuji tyto soubory dělit do několika kategorií (podle specifického řetězce v názvu). Veškeré tyto poznámky ale musí být ve více jazycích. Bude lepší pro ukládání těchto poznámek použít XML s nějakou takovouhle strukturou:
<xml>
 <file=p_abc123_155>Desc</file>
 <file=p_abc126_126>Desc</file>
</xml>

s tím že co jazyk co jeden soubor, nebo raději databázi a kupu tabulek?

Pracovat s XML i s databázemi není problém (už nejsem začátečník ;)), ale poprvé mě čeká práce s jazyky typu čínština, ruština, takže nevím jak s kódováním. Jestli to všechno pobere UTF-8? Jestli to zvládnou XML, nebo jestli s kódováním nebudou probémy v databázi,...

Já osoběně bych raději to XML, ale vůbec si nejsem jist výkonem při práci s takovým množstvím dat.

Budu rád za jakýkoliv názor.

Díky
Aleš Janda
Profil
Ohledně kódování - nebál bych se, UTF-8 je jen jedním ze způsobů reprezentace Unicode a pojme tedy všechny jeho znaky. Tady je jedno, jestli XML nebo databáze.

Obecně: XML je mnohem pomalejší než tabulky. Nejde nějak rozumně naindexovat, nahrává se celé do paměti (nebo ne?) atd. Jde o to, jak moc to vadí. Pokud jednou za hodinu vykonáš dotaz, je to jedno. Jestli to má být aplikace v reálném čase, může být problém.

Dále: XML se hodí na stromovou strukturu dat. Tahle struktura mi přijde jako typicky tabulková :-) Databáze tady tedy nevadí, XML ovšem taky ne. XML je navíc lépe čitelné a editovatelné.

Já osobně bych to dal do databáze. Je to typická tabulka, zpracování bude rychlejší a správa možná jednodušší.
Jinak nemyslím si, že by to byla "kupa tabulek" - v podstatě stačí jedna se sloupci kód jazyka, specifický řetězec a popis (primární klíč na první dva sloupce). Volitelně pak další tabulky jako název jazyka podle jeho kódu nebo popis toho specifického řetězce, ovšem i tak to více jak 3 tabulky nejsou :-)
souki
Profil
nahrává se celé do paměti
Jsou dva typy parserů. Jeden to umí zpracovávat postupně

Já bych volil databázi a zní případně exportoval do XML, pokud bude potřeba nějaká univerzálnost.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: