abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 00:11 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.85 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.85 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | Komunita Ladislav Hagara | Komentářů: 2
    včera 13:22 | Komunita

    Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Byla vydána nová stabilní verze 3.19.0, tj. první z nové řady 3.19, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou podporu Raspberry Pi 5.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý software

    Altap Salamander (Wikipedie), dvoupanelový správce souborů pro Windows, byl uvolněn jako open source pod názvem Open Salamander. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.

    Ladislav Hagara | Komentářů: 2
    včera 07:00 | IT novinky

    Společnost JetBrains představila (YouTube) svou umělou inteligenci JetBrains AI a nástroj AI Assistant v IDE.

    Ladislav Hagara | Komentářů: 7
    6.12. 22:33 | Nová verze

    Byla vydána nová verze 255 správce systému a služeb systemd (GitHub, NEWS). Z novinek lze vypíchnout například novou službu systemd-bsod.service.

    Ladislav Hagara | Komentářů: 0
    6.12. 18:44 | IT novinky

    Google představil Gemini, svůj největší a nejschopnější model umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    6.12. 16:44 | Komunita

    openSUSE komunita vybírá nová loga. Jedním z cílů je odlišit se od SUSE. Aktuálně probíhá hlasování o logu openSUSE a čtyř distribucí Tumbleweed, Leap, Slowroll a Kalpa.

    Ladislav Hagara | Komentářů: 6
    6.12. 13:22 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2023-12-05. Přehled novinek v příspěvku na blogu a poznámkách k vydání. Nově jej lze používat také s tmavým tématem.

    Ladislav Hagara | Komentářů: 1
     (35%)
     (13%)
     (52%)
    Celkem 83 hlasů
     Komentářů: 2, poslední 6.12. 22:12
    Rozcestník

    Dotaz: Soubory MySQL vs. Filesystem

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

    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.