abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:33 | Komunita

    Dle analytics.usa.gov je za posledních 90 dnů 6,2 % přístupů k webových stránkám a aplikacím federální vlády Spojených států z Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 3
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 13
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (26%)
     (22%)
     (4%)
     (6%)
     (2%)
     (4%)
     (4%)
     (32%)
    Celkem 50 hlasů
     Komentářů: 9, poslední dnes 15:56
    Rozcestník

    Dotaz: Soubory MySQL vs. Filesystem

    18.3.2009 19:55 Smudla2
    Soubory MySQL vs. Filesystem
    Přečteno: 1500×

    Zdravím, mám takový začátečnický dotaz. Máme navrženou databázi (vytvořené tabulky naplněné daty) v MySQL. Nyní bychom rádi do jedné tabulky databáze vkládali (příslušné položce tabulky) i soubory (přes atributy FILE_ID či URI). Tyto soubory bysme chtěli uchovávat mimo databázi někde na filesystemu. Problém je v tom, že nevíme, jak toto realizovat. Co vše musíme udělat pro to, aby šli soubory vkládat a získavát? Chceme mít rozhraní v Javě na PC (např. notebook), které do příslušné položky tabulky v databázi udělá záznam o souboru (např. URI) a zároveň tento soubor uloží na filesystem (např. na jiný server než běží samotná databáze). Z tohoto rozhraní by mělo jít zároveň tento soubor získat. Databáze MySQL beží na linuxovén serveru.

    Díky za každou radu či příklad.

    Martin

    Odpovědi

    18.3.2009 20:41 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Soubory MySQL vs. Filesystem
    To, čo opisuješ, sa v praxi bežne používa. Riziká sú v zásade dve. Poprvé musí byť konzistencia väzieb medzi údajmi v databáze a na disku udržiavaná aplikačne, t.j. mimo samotnej databázy. Takáto konzistencia je krehká a je viac-menej len otázkou času, kedy bude narušená. Viac informácií Ti poskytne akákoľvek seriózna kniha o návrhu aplikácií pre relačné databázy. Podruhé je zložitejšie robiť zálohovanie, a tu sú opäť riziká dve: Poprvé treba zálohovať dve údajové úložištia, databázu a súborový systém, čo je minimálne nepohodlné. Podruhé je problém urobiť konzistentnú zálohu, t.j. transakčne konzistentný snapshot týchto dvoch nezávislých úložíšť; zvyčajne je to možné iba v offline režime. A vlastne celkovo je problém zabezpečit transakčnosť operácií nad databázou a zároveň nad súborovým systémom; distribuované transakcie sú doménou databáz značne iného rangu ako je MySQL, a transakčnosť nad súborovým systémom je jemne povedané problematická; pritom práve databáza je práve oný prvok, ktorý rieši mimoiné aj transakčnosť uloženia údajov na súborový systém.

    Takže ešte raz: to, čo opisuješ, sa v praxi bežne používa. Jedna z prvých požiadaviek na zmenu takto navrhnutého softvéru zvyčajne je umožniť ukladať kompletný obsah do databázy.
    20.3.2009 09:09 Filip Hesse | skóre: 20
    Rozbalit Rozbalit vše Re: Soubory MySQL vs. Filesystem

    Ano, tak nějak. Těch nevýhod je si myslím víc, než při ukládání souborů přímo do BLOBu v databázi.

    Hodně se mluví o zpomalení databáze při použití BLOBů. Nevím, jak to má MySQL, ale tato hlavní nevýhoda se dá eliminovat použitím jedné tabulky pro informace o souboru (z této tabulky se bude vyhledávat, bude možné ji JOINovat jinam) a druhé tabulky se samotným BLOBem, s vazbou 1:1 na první tabulku, do které se sáhne teprve při potřebě se souborem pracovat.

    Trochu by pomohlo vědět, o jaké soubory se jedná. Můj přístup se bude hodit při databázi zaměstnanců na uložení JPEG. Určitě se nebude hodit na databázi filmů, kde se bude ukládat DVD.ISO.

    Josef Kufner avatar 28.3.2009 15:41 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Soubory MySQL vs. Filesystem
    Pak je ještě možnost do DB soubory uložit a cachovat je na disku, kde bude moct httpd k datům přistupovat i bez pomoci aplikační logiky (např. php). Ale i to má své drobné mouchy...
    Hello world ! Segmentation fault (core dumped)
    28.3.2009 17:17 Michal2
    Rozbalit Rozbalit vše Re: Soubory MySQL vs. Filesystem
    Nekde delali mereni jak rychle trva vytazeni souboru ruznych velikosti z databaze (MySQL, MyISAM tabulka) vs precteni z disku (ciste select blob from tabulka where id= oproti fopen a fread, tabulka mela stejna zaznamu jako adresar souboru, merila se latence za jak dlouho bude mit v obou pripadech aplikace data nactena a zatizeni procesoru). Kdyz probehlo cteni v obou pripadech z diskove cache tak byla latence ziskani dat MySQL oproti filesystemu 50x vetsi kdyz byl mysql server na stejnem stroji jako aplikacni server, pokud to bylo na serveru jinema mysql slo pres tcp a soubory pres nfs tak to bylo z hlediska filesystemu jeste lepsi. Kdyz se data cetla z disku tak byly rozdil 1:3 ve prospech filesystemu.

    Jinak take zjistili, ze velke bloby v databazi uspesne flushuji buffery coz ostatnim operacim nad databazi moc neprospiva.

    Takze ano, pouzit se to da ale pozor na vykon.

    6.4.2009 14:44 Ivan
    Rozbalit Rozbalit vše OT: Re: Soubory MySQL vs. Filesystem

    Hmm, ja delal mereni Oracle vs. JFS na AIXu a od 10^4 souboru v jednom adresari vedl Oracle. NFS poskytovalo nekonzistentni udaje, a kdyz jsem namontoval filesystemy s parametrem noac, tak bylo NFS nepouzitelny.

    6.4.2009 15:15 Michal2
    Rozbalit Rozbalit vše Re: OT: Re: Soubory MySQL vs. Filesystem

    Njn, od nekolika stovek zaznamu se oplati udelat hierarchie treba 12/34/56.jpg. Takto narves milion souboru do struktury pricemz tam jevzdy max 100 souboru/adresaru v adresari a dvoji traverzace nestoji skoro nic.

     

    4.4.2009 08:40 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Soubory MySQL vs. Filesystem
    Ja osobne preferuji ukladat data do souboru a do databaze ukladat jen odkazy na ne (napr. nazev souboru). Myslim si, ze se to treba lepe zalohuje, kdyz je dump databaze radove mensi, na rozdilovou zalohu filesystemu existuji lepsi nastroje. Konzistentni zaloha nemusi byt problem, zalezi na tom, jak ta aplikace pracuje.

    Pokud je problem v tom, ze aplikace neni zcela pod kontrolou a nemusi nekdy dodrzet konzistenci mezi db a filesystemem, resenim je pouzit (vytvorit) aplikacni server, ktery to nahravani souboru bude obstaravat, a uzivatelske aplikaci pristup do databaze treba i zakazat :)

    V praxi se vyskytuji i pripady, kdy je jednim z prvnich pozadavku ukladat velka data do souboru misto do databaze :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.