Tietojen tii­vis­tä­mis­me­ne­tel­miä voidaan käyttää fyy­si­ses­ti tal­len­net­ta­van tie­to­mää­rän vä­hen­tä­mi­seen. Tämä säästää tal­len­nus­ti­laa ja kus­tan­nuk­sia.

Mitä tietojen vä­hen­tä­mi­nen tar­koit­taa?

Termi ”tietojen tiivistys” kattaa erilaisia me­ne­tel­miä, joita käytetään ka­pa­si­tee­tin op­ti­moin­tiin. Näiden me­ne­tel­mien ta­voit­tee­na on vähentää tal­len­net­ta­van datan määrää. Koska tie­to­mää­rät kasvavat maa­il­man­laa­jui­ses­ti, tietojen tiivistys on vält­tä­mä­tön­tä re­surs­sien ja kus­tan­nus­ten te­hok­kuu­den var­mis­ta­mi­sek­si tietojen tal­len­nuk­ses­sa.

Tie­to­mää­rää voidaan vähentää tietojen pak­kauk­sel­la ja pääl­lek­käi­syyk­sien pois­ta­mi­sel­la. Kun häviötön pakkaus hyödyntää tiedoston sisäisiä toistuvia osia tietojen pak­kaa­mi­seen, pääl­lek­käi­syyk­sien pois­ta­mi­sal­go­rit­mit vertaavat eri tie­dos­to­jen tietoja keskenään toistojen vält­tä­mi­sek­si.

Mitä on pääl­lek­käi­syyk­sien poisto?

De­dupli­kaa­tio on tie­to­mää­rän vä­hen­tä­mi­seen tähtäävä prosessi, joka perustuu pää­asias­sa tietojen pääl­lek­käi­syyk­sien es­tä­mi­seen tal­len­nus­jär­jes­tel­mäs­sä. Se voidaan toteuttaa joko tal­len­nus­koh­tees­sa tai tie­to­läh­tees­sä. Käytössä on de­dupli­kaa­tio-oh­jel­mis­to, joka tunnistaa ja poistaa pääl­lek­käi­set tiedostot tai da­ta­loh­kot eri­tyis­ten al­go­rit­mien avulla. De­dupli­kaa­tion pää­asial­li­nen käyt­tö­alue on tietojen var­muus­ko­pioin­ti.

Tietojen tii­vis­tä­mi­sen ta­voit­tee­na on tallentaa pysyville tal­len­nus­vä­li­neil­le vain niin paljon tietoa kuin tarvitaan tiedoston me­net­tä­mät­tö­mään pa­laut­ta­mi­seen. Mitä enemmän pääl­lek­käi­siä tietoja pois­te­taan, sitä pienempi on tal­len­net­ta­va tai siir­ret­tä­vä tie­to­mää­rä.

Kak­sois­kap­pa­lei­den tun­nis­ta­mi­nen voidaan suorittaa esi­mer­kik­si tie­dos­to­ta­sol­la Gitin tai Dropboxin avulla. Te­hok­kaam­pi menetelmä on kuitenkin käyttää kak­sois­kap­pa­lei­den pois­ta­mi­seen tar­koi­tet­tu­ja al­go­rit­me­ja, jotka toimivat tie­dos­to­jen osa­ta­sol­la. Tätä varten tiedostot jaetaan ensin da­ta­loh­koi­hin (chunk­kei­hin), joille annetaan yk­si­löl­li­set tar­kis­tus­sum­mat eli hash-arvot. Seu­ran­ta­tie­to­kan­ta, joka sisältää kaikki tar­kis­tus­sum­mat, toimii kes­ki­tet­ty­nä val­von­tayk­sik­kö­nä.

Loh­ko­poh­jai­set de­dupli­kaa­tio­me­ne­tel­mät voidaan jakaa kahteen tyyppiin:

  • Kiinteä lohkon pituus: Tiedostot jaetaan täs­mäl­leen sa­man­pi­tui­sik­si osioiksi tiedoston tai RAID-jär­jes­tel­män klus­te­ri­koon pe­rus­teel­la (yleensä 4 kt)
  • Muuttuva lohkon pituus: Algoritmi jakaa tiedot eri lohkoihin, joiden pituus vaihtelee kä­si­tel­tä­vän datan tyypin mukaan.

Lohkojen jakotapa vaikuttaa rat­kai­se­vas­ti tietojen de­dupli­koin­nin te­hok­kuu­teen. Tämä on erityisen ha­vait­ta­vis­sa, kun de­dupli­koi­tu­ja tie­dos­to­ja muokataan myöhemmin. Kun käytetään kiinteitä loh­ko­ko­ko­ja, tiedoston muut­tues­sa de­dupli­koin­nin algoritmi luo­kit­te­lee myös kaikki sitä seuraavat segmentit uusiksi loh­ko­ra­jo­jen siir­ty­mi­sen vuoksi. Tämä lisää las­ken­ta­kuor­mi­tus­ta ja kais­tan­le­vey­den käyttöä.

Jos algoritmi sen sijaan käyttää vaih­te­le­via loh­ko­ra­jo­ja, yk­sit­täi­sen da­ta­loh­kon muutokset eivät vaikuta seu­raa­viin seg­ment­tei­hin. Sen sijaan muutettua da­ta­loh­koa yk­sin­ker­tai­ses­ti laa­jen­ne­taan ja tal­len­ne­taan uusilla tavuilla. Tämä keventää verkon kuor­mi­tus­ta. Tie­dos­to­muu­tos­ten jous­ta­vuus vaatii kuitenkin enemmän las­ken­ta­te­hoa, sillä al­go­rit­min on ensin sel­vi­tet­tä­vä, miten palaset on jaoteltu.

Mitä on tie­don­pak­kaus?

Tie­don­pak­kauk­ses­sa tiedostot muun­ne­taan toiseen muotoon, joka on al­ku­pe­räis­tä te­hok­kaam­pi. Tällaisen tie­don­pak­kauk­sen ta­voit­tee­na on vähentää tar­vit­ta­vaa tal­len­nus­ti­laa sekä tie­don­siir­toai­kaa. Tällainen pak­kaus­hyö­ty voidaan saavuttaa kahdella eri me­ne­tel­mäl­lä:

  • Re­dun­dans­si­pak­kaus: Hä­viöt­tö­mäs­sä tie­don­pak­kauk­ses­sa tiedot voidaan purkaa tarkasti pak­kauk­sen jälkeen. Syöttö- ja tu­los­tie­dot ovat siten ident­ti­set. Tällainen pakkaus on mah­dol­lis­ta vain, jos tiedosto sisältää re­dun­dant­tia tietoa.
  • Ir­re­le­vans­si­pak­kaus: Hä­viöl­li­ses­sä pak­kauk­ses­sa tiedostoa pakataan pois­ta­mal­la ir­re­le­vant­tia tietoa. Tähän liittyy aina tietojen menetystä. Ir­re­le­vans­si­pak­kauk­sen jälkeen al­ku­pe­räi­set tiedot voidaan palauttaa vain li­ki­mää­räi­ses­ti. Tietojen luo­kit­te­lu ir­re­le­van­tik­si on har­kin­nan­va­rais­ta. Esi­mer­kik­si MP3-ää­ni­pak­kauk­ses­sa pois­te­taan taa­juus­ku­viot, joiden oletetaan olevan ih­mis­kor­val­le tuskin tai lainkaan kuul­ta­vis­sa.

Vaikka tal­len­nus­jär­jes­tel­män tasolla tapahtuva pakkaus on pe­ri­aat­tees­sa hä­viö­tön­tä, muilla alueilla, kuten kuvien, videoiden ja ää­ni­tie­dos­to­jen siirrossa, hy­väk­sy­tään tietojen me­ne­tyk­set tar­koi­tuk­sel­la tie­dos­to­koon pie­nen­tä­mi­sek­si.

Sekä tiedoston pak­kaa­mi­nen että pur­ka­mi­nen vaativat las­ken­ta­te­hoa. Tämä riippuu en­si­si­jai­ses­ti käy­te­tys­tä pak­kaus­me­ne­tel­mäs­tä. Jotkut tekniikat pyrkivät esit­tä­mään al­ku­pe­räi­set tiedot mah­dol­li­sim­man tiiviisti, kun taas toiset kes­kit­ty­vät tar­vit­ta­van las­ken­ta­jan ly­hen­tä­mi­seen. Pak­kaus­me­ne­tel­män valinta riippuu siis aina sen projektin tai tehtävän vaa­ti­muk­sis­ta, johon sitä käytetään.

Mikä tietojen tii­vis­tä­mis­me­ne­tel­mä on parempi?

Var­muus­ko­pioin­ti­me­net­te­ly­jen to­teut­ta­mi­sek­si tai tal­len­nus­ti­lan op­ti­moi­mi­sek­si ta­val­li­sis­sa tie­dos­to­jär­jes­tel­mis­sä yritykset tur­vau­tu­vat yleensä pääl­lek­käi­syyk­sien poistoon. Tämä johtuu pää­asias­sa siitä, että pääl­lek­käi­syyk­sien pois­to­jär­jes­tel­mät ovat erittäin te­hok­kai­ta, kun ident­ti­siä tie­dos­to­ja on tal­len­net­ta­va.

Tie­don­pak­kaus­me­ne­tel­mät puo­les­taan ai­heut­ta­vat yleensä suurempia las­ken­ta­kus­tan­nuk­sia ja vaativat siksi mo­ni­mut­kai­sem­pia alustoja. Te­hok­kaim­min voidaan hyödyntää tal­len­nus­jär­jes­tel­miä, joissa yh­dis­ty­vät molemmat tiedon vä­hen­tä­mis­me­ne­tel­mät. Ensin tal­len­net­ta­vis­ta tie­dos­tois­ta pois­te­taan pääl­lek­käi­syy­det de­dupli­kaa­tion avulla, ja sen jälkeen jäljelle jäänyt data pakataan.

Siirry pää­va­lik­koon