Mitä on datan tiivistäminen?
Tietojen tiivistämismenetelmiä voidaan käyttää fyysisesti tallennettavan tietomäärän vähentämiseen. Tämä säästää tallennustilaa ja kustannuksia.
Mitä tietojen vähentäminen tarkoittaa?
Termi ”tietojen tiivistys” kattaa erilaisia menetelmiä, joita käytetään kapasiteetin optimointiin. Näiden menetelmien tavoitteena on vähentää tallennettavan datan määrää. Koska tietomäärät kasvavat maailmanlaajuisesti, tietojen tiivistys on välttämätöntä resurssien ja kustannusten tehokkuuden varmistamiseksi tietojen tallennuksessa.
Tietomäärää voidaan vähentää tietojen pakkauksella ja päällekkäisyyksien poistamisella. Kun häviötön pakkaus hyödyntää tiedoston sisäisiä toistuvia osia tietojen pakkaamiseen, päällekkäisyyksien poistamisalgoritmit vertaavat eri tiedostojen tietoja keskenään toistojen välttämiseksi.
Mitä on päällekkäisyyksien poisto?
Deduplikaatio on tietomäärän vähentämiseen tähtäävä prosessi, joka perustuu pääasiassa tietojen päällekkäisyyksien estämiseen tallennusjärjestelmässä. Se voidaan toteuttaa joko tallennuskohteessa tai tietolähteessä. Käytössä on deduplikaatio-ohjelmisto, joka tunnistaa ja poistaa päällekkäiset tiedostot tai datalohkot erityisten algoritmien avulla. Deduplikaation pääasiallinen käyttöalue on tietojen varmuuskopiointi.
Tietojen tiivistämisen tavoitteena on tallentaa pysyville tallennusvälineille vain niin paljon tietoa kuin tarvitaan tiedoston menettämättömään palauttamiseen. Mitä enemmän päällekkäisiä tietoja poistetaan, sitä pienempi on tallennettava tai siirrettävä tietomäärä.
Kaksoiskappaleiden tunnistaminen voidaan suorittaa esimerkiksi tiedostotasolla Gitin tai Dropboxin avulla. Tehokkaampi menetelmä on kuitenkin käyttää kaksoiskappaleiden poistamiseen tarkoitettuja algoritmeja, jotka toimivat tiedostojen osatasolla. Tätä varten tiedostot jaetaan ensin datalohkoihin (chunkkeihin), joille annetaan yksilölliset tarkistussummat eli hash-arvot. Seurantatietokanta, joka sisältää kaikki tarkistussummat, toimii keskitettynä valvontayksikkönä.
Lohkopohjaiset deduplikaatiomenetelmät voidaan jakaa kahteen tyyppiin:
- Kiinteä lohkon pituus: Tiedostot jaetaan täsmälleen samanpituisiksi osioiksi tiedoston tai RAID-järjestelmän klusterikoon perusteella (yleensä 4 kt)
- Muuttuva lohkon pituus: Algoritmi jakaa tiedot eri lohkoihin, joiden pituus vaihtelee käsiteltävän datan tyypin mukaan.
Lohkojen jakotapa vaikuttaa ratkaisevasti tietojen deduplikoinnin tehokkuuteen. Tämä on erityisen havaittavissa, kun deduplikoituja tiedostoja muokataan myöhemmin. Kun käytetään kiinteitä lohkokokoja, tiedoston muuttuessa deduplikoinnin algoritmi luokittelee myös kaikki sitä seuraavat segmentit uusiksi lohkorajojen siirtymisen vuoksi. Tämä lisää laskentakuormitusta ja kaistanleveyden käyttöä.
Jos algoritmi sen sijaan käyttää vaihtelevia lohkorajoja, yksittäisen datalohkon muutokset eivät vaikuta seuraaviin segmentteihin. Sen sijaan muutettua datalohkoa yksinkertaisesti laajennetaan ja tallennetaan uusilla tavuilla. Tämä keventää verkon kuormitusta. Tiedostomuutosten joustavuus vaatii kuitenkin enemmän laskentatehoa, sillä algoritmin on ensin selvitettävä, miten palaset on jaoteltu.
Mitä on tiedonpakkaus?
Tiedonpakkauksessa tiedostot muunnetaan toiseen muotoon, joka on alkuperäistä tehokkaampi. Tällaisen tiedonpakkauksen tavoitteena on vähentää tarvittavaa tallennustilaa sekä tiedonsiirtoaikaa. Tällainen pakkaushyöty voidaan saavuttaa kahdella eri menetelmällä:
- Redundanssipakkaus: Häviöttömässä tiedonpakkauksessa tiedot voidaan purkaa tarkasti pakkauksen jälkeen. Syöttö- ja tulostiedot ovat siten identtiset. Tällainen pakkaus on mahdollista vain, jos tiedosto sisältää redundanttia tietoa.
- Irrelevanssipakkaus: Häviöllisessä pakkauksessa tiedostoa pakataan poistamalla irrelevanttia tietoa. Tähän liittyy aina tietojen menetystä. Irrelevanssipakkauksen jälkeen alkuperäiset tiedot voidaan palauttaa vain likimääräisesti. Tietojen luokittelu irrelevantiksi on harkinnanvaraista. Esimerkiksi MP3-äänipakkauksessa poistetaan taajuuskuviot, joiden oletetaan olevan ihmiskorvalle tuskin tai lainkaan kuultavissa.
Vaikka tallennusjärjestelmän tasolla tapahtuva pakkaus on periaatteessa häviötöntä, muilla alueilla, kuten kuvien, videoiden ja äänitiedostojen siirrossa, hyväksytään tietojen menetykset tarkoituksella tiedostokoon pienentämiseksi.
Sekä tiedoston pakkaaminen että purkaminen vaativat laskentatehoa. Tämä riippuu ensisijaisesti käytetystä pakkausmenetelmästä. Jotkut tekniikat pyrkivät esittämään alkuperäiset tiedot mahdollisimman tiiviisti, kun taas toiset keskittyvät tarvittavan laskentajan lyhentämiseen. Pakkausmenetelmän valinta riippuu siis aina sen projektin tai tehtävän vaatimuksista, johon sitä käytetään.
Mikä tietojen tiivistämismenetelmä on parempi?
Varmuuskopiointimenettelyjen toteuttamiseksi tai tallennustilan optimoimiseksi tavallisissa tiedostojärjestelmissä yritykset turvautuvat yleensä päällekkäisyyksien poistoon. Tämä johtuu pääasiassa siitä, että päällekkäisyyksien poistojärjestelmät ovat erittäin tehokkaita, kun identtisiä tiedostoja on tallennettava.
Tiedonpakkausmenetelmät puolestaan aiheuttavat yleensä suurempia laskentakustannuksia ja vaativat siksi monimutkaisempia alustoja. Tehokkaimmin voidaan hyödyntää tallennusjärjestelmiä, joissa yhdistyvät molemmat tiedon vähentämismenetelmät. Ensin tallennettavista tiedostoista poistetaan päällekkäisyydet deduplikaation avulla, ja sen jälkeen jäljelle jäänyt data pakataan.