MySQL ja binääridata

Aloittelijan kysymys

Voiko, ja kannattaako, MySQL-tietokantaan tallentaa binääridataa ilman, että suorituskyky kärsii dramaattisesti?

Ajatuksena olisi, mikäli mahdollista, tallentaa Word-asiakirjoja MySQL-kantaan.

8

814

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • olis

      En oikein näitä asioita ymmärrä mutta jotenkin tuntuisi järkevämmältä tallentaa asiakirjojen paikka eli polku kyseiseen tiedostoon niin ei hukkaannu levytilaa.

      • Rerrerer

        "jotenkin tuntuisi järkevämmältä tallentaa asiakirjojen paikka eli polku kyseiseen tiedostoon niin ei hukkaannu levytilaa"

        Kerrohan toki mihkä sitä levytilaa hukkaantuu jos tietokantaan tallentaa?

        Jokatapauksessa sinun on tallennettava tiedosto palvelimelle, ei sillä ole suurtakaan merkitystä (käytännössä ei yhtään mitään) levytilan kannalta onko tiedosto tietokannassa vai ei.

        Se että kannattaako tiedosto tallentaa tietokantaan riippuu monista asioista, eritoten tietokantapalvelimen tehokkuudesta ja käyttöasteesta. Yleensä noissa perus webhotelleissa on tietokantapalvelimilla liikaa käyttäjiä joten tietokannasta kannattaa hakea mahdollisimman vähän dataa. Mutta jos on oma palvelin jne... niin silloin tietokantaan tiedostot on yleensä nopeampi, riippuen toki tietokannasta. Ja kun tiedostot on tietokannassa niin niihin voi tehdä helposti hakuja.


      • olis
        Rerrerer kirjoitti:

        "jotenkin tuntuisi järkevämmältä tallentaa asiakirjojen paikka eli polku kyseiseen tiedostoon niin ei hukkaannu levytilaa"

        Kerrohan toki mihkä sitä levytilaa hukkaantuu jos tietokantaan tallentaa?

        Jokatapauksessa sinun on tallennettava tiedosto palvelimelle, ei sillä ole suurtakaan merkitystä (käytännössä ei yhtään mitään) levytilan kannalta onko tiedosto tietokannassa vai ei.

        Se että kannattaako tiedosto tallentaa tietokantaan riippuu monista asioista, eritoten tietokantapalvelimen tehokkuudesta ja käyttöasteesta. Yleensä noissa perus webhotelleissa on tietokantapalvelimilla liikaa käyttäjiä joten tietokannasta kannattaa hakea mahdollisimman vähän dataa. Mutta jos on oma palvelin jne... niin silloin tietokantaan tiedostot on yleensä nopeampi, riippuen toki tietokannasta. Ja kun tiedostot on tietokannassa niin niihin voi tehdä helposti hakuja.

        >...mihkä sitä levytilaa hukkaantuu...

        Olen kyllä hieman yksinkertainen ihminen mutta mielestäni Ojalan laskuopin mukaan levytilaa kuluu noin kaksinkertainen määrä jos samainen tiedosto on sekä Wordin asiakirjana että binäärinä kannassa kuten alkuperäinen kysyjä kai tarkoitti.


      • Rerrerer
        olis kirjoitti:

        >...mihkä sitä levytilaa hukkaantuu...

        Olen kyllä hieman yksinkertainen ihminen mutta mielestäni Ojalan laskuopin mukaan levytilaa kuluu noin kaksinkertainen määrä jos samainen tiedosto on sekä Wordin asiakirjana että binäärinä kannassa kuten alkuperäinen kysyjä kai tarkoitti.

        "Olen kyllä hieman yksinkertainen ihminen mutta mielestäni Ojalan laskuopin mukaan levytilaa kuluu noin kaksinkertainen määrä jos samainen tiedosto on sekä Wordin asiakirjana että binäärinä kannassa kuten alkuperäinen kysyjä kai tarkoitti."

        Mutta tuolloinhan sinulla on palvelimella kaksi identtistä tiedostoa, ja sehän ei ole järkevää tässä tapauksessa.

        Yksinkertaistettuna Wordin asiakirja on binäärimuotoista dataa jonka sitten Word muuttaa tekstiksi jne... Normaalisti tuo binääridata on tiedostona, mutta nyt tuo data laitetaan tietokantaan.

        Kun binääridata tietokannasta noudetaan niin otsikkotiedoilla kerrotaan, että kyseessä on Wordin asiakirja jolloin sen voi joko tallentaa koneelle Wordin asiakirjana tai avata Wordilla. Sivuilla kävijähän ei huomaa mitään eroa noiden tapojen välillä.


      • Sama aloittelija

        Lähinnä sen takia haluaisin tallentaa tietokantaan, kun verkkoliikenteen toimivuuden kannalta on käsittääkseni turvallisempaa ja toimivampaa siirtää dataa MySQL:n käyttämällä protokollalla, kuin perustaa levyjako ja käyttää aikansa elänyttä ja useita portteja käyttävää Microsoftin SMB-protokollaa.

        Tietokantaratkaisu mahdollistaisi myös datan siirron kryptattuna.

        Muutenkin tietokantaratkaisun etuna voisi olla parempi tietoturva. On olemassa viruksia (esim. SirCam), jotka ottavat satunnaisen asiakirjan tietokoneelta ja lähettelevät sitä maailmalle. Tietokantaratkaisussa ainakaan tätä riskiä ei olisi (tietokantapalvelin voi tietysti olla muulla tapaa haavoittuva).


      • olis
        Rerrerer kirjoitti:

        "Olen kyllä hieman yksinkertainen ihminen mutta mielestäni Ojalan laskuopin mukaan levytilaa kuluu noin kaksinkertainen määrä jos samainen tiedosto on sekä Wordin asiakirjana että binäärinä kannassa kuten alkuperäinen kysyjä kai tarkoitti."

        Mutta tuolloinhan sinulla on palvelimella kaksi identtistä tiedostoa, ja sehän ei ole järkevää tässä tapauksessa.

        Yksinkertaistettuna Wordin asiakirja on binäärimuotoista dataa jonka sitten Word muuttaa tekstiksi jne... Normaalisti tuo binääridata on tiedostona, mutta nyt tuo data laitetaan tietokantaan.

        Kun binääridata tietokannasta noudetaan niin otsikkotiedoilla kerrotaan, että kyseessä on Wordin asiakirja jolloin sen voi joko tallentaa koneelle Wordin asiakirjana tai avata Wordilla. Sivuilla kävijähän ei huomaa mitään eroa noiden tapojen välillä.

        Eli sinäkin asiantuntijana päädyit täsmälleen samaan lopputulokseen kuin minä maallikkona. Siis että kantaan tallennetaan pelkkä linkki tiedoston sijainnista. :)


    • se on siinä

      Tallenna dokkarit BLOB:ina (Binary Large Object)
      Se sitten pitäisikö tiedostot olla levyllä on vaiko kannassa on vähän maku asia. Ei mielstäni huono vaikka on kannassa. Yhdistyy esim. käyttäjään helposti.

      • rmac

        "Se sitten pitäisikö tiedostot olla levyllä on vaiko kannassa on vähän maku asia."

        Tietokantasuunnittelussa on paljon asioita jotka ovat olevinaan makuasioita. Samasta syystä toiset tietokannat ovat nopeita ja toiset hitaita.

        Ensinnäkin olennainen kysymys on se, paljonko näitä dokumenttejä syntyy eli paljonko dataa kaikkiaan esimerkiksi viiden vuoden tähtäimellä kertyy? Miten tietokannan varmuuskopiointi on hoidettu, online vai offline? Onko palvelin klusteroitu ja jos on, miten klusterin toinen puolisko pitää standby-tietokannan eheänä? Onko firmassa työntekijöitä joilla on joskus tarve ottaa dokumenttejä myös mukaansa esimerkiksi työskennellessään toimiston ulkopuolella? Liittyykö dokumentteihin myös versiohallintaa? Millaiset hakutoiminnot tietokantaan liittyvät ja miten nopeita niiden tulee olla? Onko ihan varma että prosessissa syntyy vain ja ainoastaan Word -dokumentteja?

        Isoihin tietokantoihin liittyy paljon ns. salattua tietoa. Vaikka speksissä mainostettaisiin että tietokantamoottori pystyy käsittelemään teratavujen tietokantoja käytännössä tuo saattaa edellyttää melkoisia temppuja. Myös se miten tietokantamoottori sijoittelee BLOBit ja miten query optimizer ja muut osaset kokonaisuutta tämän jälkeen hallitsevat voi tuoda mutkia matkaan. Yhtenä pienenä nyanssina kuviossa on myös se, että tietokannan hakunopeudet ovat parhaimmillaan silloin, kun koko tietokanta mahtuu palvelimen muistiin. Tämä oli joskus jopa jonkin sortin nyrkkisääntö tietokantapalvelimen rautaspeksille.

        Ehkä tässä siis ollaan lopultakin lähellä sitä perinteistä järjestelmäkehityksen miinaa: se että jokin on mahdollista ei tarkoita sitä, että niin kannattaisi tehdä. Kun kuulostaa siltä että firmassa tehdään omin voimin dokumentinhallintaa ja dbms on juuri mySQL se jo herättää joitain kysymyksiä. Ehkä kaikkein ensimmäisenä kannattaisi kuitenkin tehdä kunnollinen rekspekki, jossa aidosti käydään läpi dokumenttien käyttöön liittyvät käyttötapaukset.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. IL - Patteriauto syttyi parkkihallissa Tampereella - 50 autoa LUNASTUKSEEN!

      "Palon aikaan parkkihallissa oli 90 autoa, joista noin 50 tuhoutui palossa korjauskelvottomiksi. Lisäksi palo vaurioitti
      Maailman menoa
      239
      45198
    2. Polttomoottoriauto tulessa parkkihallissa Tampereella

      Pystyy näkemättä jo sanomaan, koska sähköautoissa ei ole palavia nesteitä lainkaan. Ihme ettei polttomoottoriautoja ole
      Maailman menoa
      123
      25976
    3. SDP palauttaa Suomen kansalle kulta-ajat

      Hyvinvointivalto on pääosin SDP:n ja osin myös Maalaisliiton rakentama. Hyvinvointivaltion ylläpito edellyttää oikeude
      Maailman menoa
      323
      15654
    4. Persut JYTKYTTÄÄ ylös, ohi kepun! +2,1 %

      Persut palasi kolmen suurimman joukkoon ja on matkalla kohti kevään 2027 eduskuntavaalivoittoa. Sosialistit ovat syöksy
      Maailman menoa
      164
      10791
    5. Älkää vassarit kuvitelko, että Marinin kulta-ajat palaavat

      Vaikka demarit voittaisivat seuraavat vaalit, se ei palauta Marinin taskut-täyteen-kelasta-aikaa takaisin, ei voi eikä h
      Maailman menoa
      122
      9707
    6. Sanna Marin saa ylistystä Hillary Clintonilta

      Jos joku ei tiedä kuka tämä rouva Hillary Clinton on, niin kerrottakoon "fun fact", eli hän on se keneltä Donald Trump
      Maailman menoa
      36
      9481
    7. Kristillisistä Siionisteista asiallista tietoa Hesarissa.

      KD ja Persut ovat kaiken takana avoimesti!
      Maailman menoa
      30
      9383
    8. Ja jälleen uusi latauksessa olleen sähköauton palo! Nyt Keravan Prisman parkkihallissa.

      IS 3.10.2025 Latauksessa ollut sähköauto syttyi yöllä tuleen Keravan Prisman parkkihallissa, Keski-Uudenmaan pelastusla
      Maailman menoa
      85
      8468
    9. 242
      6814
    10. Gallup, PS:lle JÄRISYTTÄVÄ nousu, SDP suurin laskija

      https://yle.fi/a/74-20186114 PS kovaa vauhtia nousemassa ennen 2027 vaaleja suurimmaksi puolueeksi. Nyt mennään jo etua
      Maailman menoa
      221
      6476
    Aihe