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

790

    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. Oletko kertonut jo muille tunteistasi?

      Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.
      Ikävä
      77
      4612
    2. Olisin ottanut sinusta akan itselleni

      Mutta olitkin aika itsepäinen ja hankala luonne.
      Ikävä
      180
      1877
    3. Ei sua pysty unohtamaan

      Ei vaan yksinkertaisesti pysty
      Ikävä
      124
      1580
    4. Kerro todelliset motiivit

      kaivattuasi kohtaan?
      Ikävä
      123
      1110
    5. Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan

      Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️
      Ikävä
      16
      1031
    6. Hei, huomenta komistus

      Yllättääkö, että olet heti mielessä. Mukavaa päivää upea ❤️
      Ikävä
      35
      1026
    7. Sunnuntain terveiset kaivatulle

      Mitä ajattelet hänestä tänään? Mitä haluaisit sanoa hänelle?
      Ikävä
      78
      933
    8. Miks et tahtonut

      Enää nähdä? Haluaisin ymmärtää
      Ikävä
      52
      876
    9. Hyvää huomenta!

      Mietin miten suhtaudut minuun, jos kerron tunteista. Voinko enää sen jälkeen olla samassa paikassa kanssasi, jos koet as
      Ikävä
      78
      862
    10. Mulla on tarkat korvat

      Kuulin sun äänen ihan selvästi.
      Ikävä
      4
      818
    Aihe