| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
|
Ahojte mam taky "mensi" problem s databazou. Nejedna sa ani tak o problem taky, ze by mi nieco nefungovalo, ale jedna sa skor o optimalizacny problem. Dajme tomu, ze mam daky suborovy system. Aplikacia ktora bezi na tom pocitaci strukturu suboroveho systemu mapuje a uklada ju do databazy. Problem je ten, ze ak mam na disku niekolko milionov suborov, vyhladavanie v takejto tabulke si prakticky neviem predstavit. Dajme to mu ze mam priecinok test_dir: Kód: test_dir----dir1 -dir2------file1 -file2 -file3
Mojou snahou je takuto strukturu co najoptimalnejsie ulozit napr. do MySQL databazy a na zaklade regularneho vyrazu byt schopny v nej vyhladavat a zobrazit vsetky najdene zhody. Samozrejme co najrychlejsie. PS: Preco to tak robim. Snazim sa vyhladavat na vzdialenom pocitaci ... Bez databazy by to bolo X-krat zdlhavejsie. Zaujimalo by ma ako by ste vy postupovali pri navrhu databazy. Hladal som aj na googly, ale nic som nenasiel Dakujem za rady.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 11.02.2013 16:01 | |
|
Kazdy zaznam v tabulke ti reprezentuje jeden subor alebo adresar-- pointa je vytvorit si pre kazdy nejake unikatne ID a ku kazdemu okrem korenoveho suboru si navyse priradit ID nadradeneho adresara. Takze napr. bezna adresarova struktura v Unixu sa tak moze reprezentovat ako Kód: id | name | parent_id --------------------- 1 | / | NULL -- / 2 | bin | 1 -- /bin 3 | home | 1 -- /home 4 | etc | 1 -- /etc 5 | duri | 3 -- /home/duri Toto je bezny sposob ukladania stromovych struktur do DB. Co sa tyka nejakeho strukturovaneho vypisu, uplne zazraky vie robit CONNECT BY, pogoogli. Ostatne ale naozaj neviem, o co sa presne pokusas. Simulovat FS nad DB urcite nebude rychlejsie ako samotny FS. http://meta.stackoverflow.com/questions ... xy-problem
|
|
| Napísal autor témy Ivan11114: 11.02.2013 17:16 | |
|
Ahoj dik za odpoved uz som si myslel ze mi nik neodpise. No ten tvoj navrh je nieco podobne tomu ako som to navrhol aj ja. 10 milionov zaznamov je dost velke cislo tak mam o tom pochybnosti (hlavne ked nehladam jeden vyraz, ale hned niekolko pomocou regularneho vyrazu). Ja uz som rozmyslal ako by som to cez binarne stromy dako zefentivnil ,... neviem no vyskusam ako rychlo to pojde som zvedavy ... Len som mal pochybnosti o tom ci narvat tolko zaznamov do jednej tabulky Ja som to navrhod dako takto: Kód: Table USERS __________________________________ ID / IP address / name / status 0 192.168.1.1 test1 online 1 192.168.1.2 test2 offline
Table DATA __________________________________________________________________________________ ID / name / NoteDepth / UserID / fullPath / lastModification / size / file / description 0 test 1 0 /home/data/ 1.2.2000 56 false ----- 1 da 1.1 0 /home/data/test/ 1.2.2000 56 false ----- 2 db 1.2 0 /home/data/test/ 1.2.2000 80 false ----- 3 db.xml 1.2.1 0 /home/data/test/db/ 1.2.2000 80 true ----- 4 df 1.2.2 0 /home/data/test/db/ 1.2.2000 99 false ----- 5 gh.txt 1.2.2.1 0 /home/data/test/db/df/ 1.2.2000 15 true -----
Struktura:
test ---- da |-- db ---- db.xml |-- df ----gh.txt
nie nie simulovat FS nad DB neplanujem
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|