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

799

    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. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      70
      3550
    2. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      148
      3503
    3. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      46
      3322
    4. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      53
      2769
    5. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      32
      2036
    6. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      30
      1962
    7. Et siis vieläkään

      Et ilmeisesti ole vieläkään päässyt loppuun asti mun kirjoituksissa täällä. Kerro ihmeessä sit, kun valmista 😁 tuskin k
      Ikävä
      40
      1695
    8. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1676
    9. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      96
      1625
    10. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      39
      1390
    Aihe