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

833

    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. Mitkä asiat

      tekevät vaikeaksi kohdata kaivattusi?
      Ikävä
      74
      904
    2. Miltä se tuntuu

      Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s
      Ikävä
      104
      768
    3. 60
      752
    4. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      43
      704
    5. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      49
      654
    6. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      45
      653
    7. En mahda sille mitään

      Olet ihanin ja tykkään sinusta todella paljon.
      Ikävä
      31
      629
    8. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      34
      577
    9. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      50
      570
    10. Sinunkin pitää jättää

      Se kaivattusi rauhaan.
      Ikävä
      38
      516
    Aihe