Objektitallennus vs. lohkotallennus
Objektitallennus ja lohkotallennus ovat kaksi tallennusarkkitehtuuria, jotka eroavat toisistaan merkittävästi rakenteeltaan, käytöltään ja tarkoitukseltaan. Objektitallennuksen ja lohkotallennuksen keskeinen ero on se, että edellinen tallentaa tiedot objektina metatiedoilla API:n kautta, kun taas jälkimmäinen jakaa tiedot osoitteellisiksi lohkoiksi, joita hallitaan suoraan käyttöjärjestelmän kautta.
Mitä ovat objektien ja lohkojen tallennus?
Objektitallennus on moderni tallennusarkkitehtuuri, jossa data tallennetaan objekteina. Jokainen objekti koostuu varsinaisesta datasta, metadatasta ja yksilöllisestä tunnisteesta. Nämä objektit tallennetaan tasaisessa nimitilassa. Tämä tarkoittaa, että kaikki tallennetut objektit on järjestetty samalle tasolle. Siinä ei ole tiedostojärjestelmien kaltaista hierarkkista rakennetta, kuten kansioita tai hakemistoja. Objektitallennuksen dataobjekteihin pääsee tyypillisesti HTTP-pohjaisen sovellusliittymän kautta.
Block storage puolestaan jakaa tiedot, kuten nimikin kertoo, samankokoisiksi, kiinteiksi lohkoiksi, joilla jokaisella on oma osoite. Jokainen lohko sisältää vain raakadataa ilman lisämetatietoja tai kontekstitietoja. Tietoja käyttävä järjestelmä – yleensä käyttöjärjestelmä tai virtualisointialusta – vastaa tallennettujen tietojen rakenteen ja merkityksen tulkinnasta. Käyttöjärjestelmän näkökulmasta lohkotallennus toimii kuten fyysinen kiintolevy tai SSD: se voidaan osioida, alustaa ja käyttää erilaisissa sovelluksissa.
Objekti- ja lohkotallennustilan vertailu yhdellä silmäyksellä
Seuraavassa taulukossa on yhteenveto tärkeimmistä eroista objektitallennuksen ja lohkotallennuksen välillä suorassa vertailussa:
| Ominaisuus | Objektien tallennus | Lohkotallennus |
|---|---|---|
| Tietorakenne | Metatiedon sisältävät objektit | Tietolohkot ilman kontekstia |
| Pääsy | HTTP(S) (REST-rajapinnat) | Suoraan käyttöjärjestelmän kautta |
| Viive | Korkea | Matala |
| Skaalautuvuus | Korkea (ihanteellinen pilvipalveluille) | Rajoitettu, pääasiassa paikallinen tai SAN-verkon kautta |
| Metatiedot | Laaja, käyttäjän määrittämä | Hädin tuskin tai ei lainkaan |
| Käyttötapaukset | Varmuuskopiot, media, big data | Tietokannat, käyttöjärjestelmät, VM-levyt |
| Kustannukset | Halvempi teratavua kohti suurille tietomäärille | Kalliimpi, erityisesti korkean suorituskyvyn järjestelmissä |
| Joustavuus | Hyvä rakenteettomille, harvoin käytetyille tiedoille | Hyvä jäsennellyille, usein käytetyille tiedoille |
Kuinka objekti- ja lohkotallennus toimivat
Objektitallennus tallentaa tiedot kolmiosaisina objekteina:
- todelliset käyttäjätiedot (esim. kuva tai video)
- metatiedot (lisätietoja, kuten luontipäivä, tiedostotyyppi tai mukautetut tunnisteet)
- ainutlaatuinen avain, joka toimii osoitteena
Nämä objektit tallennetaan tasaisessa nimitilassa. Teknisesti tämä on yksinkertaisempaa ja skaalautuvampaa, koska monimutkaista hakemistorakennetta ei tarvitse hallita. Pääsy tapahtuu HTTP-protokollan kautta, yleensä REST-rajapintojen avulla. Sovellukset ovat vuorovaikutuksessa tallennustilan kanssa kuten verkkopalvelu. Monet pilvipalvelut, kuten Amazon S3 tai Google Cloud Storage, perustuvat tähän tekniikkaan. Objektitallennus voidaan jakaa maailmanlaajuisesti, jolloin data voi sijaita useissa paikoissa samanaikaisesti. Tämä parantaa sekä vikasietoisuutta että globaalia saatavuutta.
Lohkotallennus toimii enemmän kuin perinteinen asema tai kiintolevy. Tässä tapauksessa data jaetaan samankokoisiin lohkoihin, joille kullekin annetaan osoite. Nämä lohkot eivät sisällä metatietoja. Tämä tarkoittaa, että käyttöjärjestelmän tai sen päällä toimivan sovelluksen (esim. tiedostojärjestelmä tai tietokanta) vastuulla on tietää, mitkä lohkot kuuluvat yhteen. Lohkotallennus tarjotaan usein tallennusalueverkon (SAN) tai iSCSI-verkkoprotokollan kautta. Tallennustila näkyy käyttöjärjestelmälle paikallisena asemana, ja se voidaan osioida, alustaa ja kirjoittaa normaalisti.
Objektitallennuksen ja lohkotallennuksen erot ja yhtäläisyydet
Vaikka objektitallennus ja lohkotallennus palvelevat molemmat tietojen tallennustarkoituksia, ne eroavat toisistaan perustavanlaatuisesti rakenteeltaan, käytettävyydeltään ja käyttötarkoitukseltaan. Suurin ero on siinä, miten tiedot on järjestetty. Viiveen ja suorituskyvyn osalta lohkotallennuksella on muutamia etuja, koska se mahdollistaa nopean, lohkotason käytön. Objektitallennus puolestaan on erinomainen skaalautuvuuden ja pitkäaikaisen tietojen säilyttämisen kannalta.
Molemmat tallennustyypit ovat yleisiä pilvipalveluympäristöissä, ja ne voivat erityisominaisuuksiensa ansiosta tukea tehokkaasti erilaisia työkuormia. Molemmat voivat olla osa yhdistettyä tallennusratkaisua. Luotettavuuden ja vikasietoisuuden kannalta molempien teknologioiden nykyaikaiset toteutukset tarjoavat tärkeitä mekanismeja, kuten replikointia ja redundanssia. Lohkotallennus on suorituskyky- ja suorakontrollipainotteisempaa, kun taas objektitallennus tarjoaa joustavan ja kustannustehokkaan ratkaisun suurille tietomäärille. Nykyaikaisissa IT-ympäristöissä molempia tallennustyyppejä yhdistellään usein, jotta niiden edut voidaan hyödyntää parhaalla mahdollisella tavalla.
Tyypillisiä käyttötapauksia
Objektien tallennuksen käyttötapauksia
Objektitallennustilaa käytetään usein varmuuskopiointi- ja arkistointiratkaisuissa. Sen korkea skaalautuvuus ja kustannustehokas tallennustila tekevät tästä tallennusratkaisusta ihanteellisen pitkäaikaiseen tietojen säilyttämiseen. Se on suosittu myös sisällönjakeluverkoissa (CDN), koska suuria mediatiedostoja voidaan jakaa helposti ja tehokkaasti.
Toinen tärkeä käyttötapaus on suurten tietomäärien, kuten lokitiedostojen, anturitietojen tai videotallenteiden, tallentaminen, koska objektit voidaan tallentaa ja käsitellä itsenäisesti. Nykyaikaiset verkkosovellukset ja mobiilisovellukset käyttävät myös objektitallennusta käyttäjien tiedostojen, kuvien ja asiakirjojen tallentamiseen.
Lohkotallennuksen käyttötapauksia
Lohkotallennus on suositeltava ratkaisu tietokannoille ja transaktiojärjestelmille. Mahdollisuus käyttää lohkoja suoraan takaa korkean suorituskyvyn ja pienen viiveen. Nämä ominaisuudet ovat erityisen tärkeitä sovelluksissa, joissa tietoja luetaan ja kirjoitetaan usein samanaikaisesti.
Myösvirtuaalikoneet ja käyttöjärjestelmät hyötyvät lohkotallennustilan käytöstä, koska ne tarvitsevat nopeaa ja luotettavaa tallennustilaa. Lohkotallennustilaa käytetään edelleen laajalti myös perinteisissä datakeskuksissa, joissa deterministinen suorituskyky on ratkaisevan tärkeää.
Edut ja haitat
Objektitallennuksen ja lohkotallennuksen suorassa vertailussa edut ja haitat ovat tärkeässä roolissa.
Objektitallennus tarjoaa korkean skaalautuvuuden, helpon integroinnin web-API:n kautta ja mahdollisuuden tallentaa laajaa metatietoa jokaisesta objektista. Tämä tekee siitä erityisen sopivan rakenteettomille tiedoille ja pilvipohjaisille sovelluksille. Käyttö on kuitenkin suhteellisen hidasta, joten objektitallennus ei ole yhtä sopiva sovelluksille, joissa matala viive on tärkeää.
Block-tallennus puolestaan tarjoaa huomattavasti pienemmän viiveen ja erityisen vaikuttavan suorituskyvyn. Suora integrointi virtuaalikoneisiin tai kontteihin tekee block-tallennuksesta myös ensisijaisen valinnan perinteisille IT-infrastruktuureille. Tähän liittyy kuitenkin korkeammat kustannukset ja vähemmän joustavuutta suurten, hajautettujen tietojoukkojen käsittelyssä.