Ob­jekt­lag­ring och block­lag­ring är två lag­ringsar­ki­tek­tu­rer som skiljer sig avsevärt åt i struktur, åtkomst och syfte. Den vik­ti­gas­te skill­na­den mellan ob­jekt­lag­ring och block­lag­ring är att den först­nämn­da lagrar data som objekt med metadata via ett API, medan den senare delar upp data i adres­ser­ba­ra block som hanteras direkt via ope­ra­tiv­sy­ste­met.

Vad är objekt- och block­lag­ring?

Ob­jekt­lag­ring är en modern lag­ringsar­ki­tek­tur där data lagras som objekt. Varje objekt består av den faktiska datan, metadata och en unik iden­ti­fi­e­ra­re. Dessa objekt lagras i ett platt namn­om­rå­de. Det innebär att alla lagrade objekt är or­ga­ni­se­ra­de på samma nivå. Det finns ingen hi­e­rar­kisk struktur som mappar eller kataloger, som i filsystem. Da­ta­ob­jek­ten i ob­jekt­lag­ring är van­ligt­vis till­gäng­li­ga via ett HTTP-baserat API.

Block­lag­ring å andra sidan delar upp data, som namnet antyder, i lika stora, fasta block med var och en en unik adress. Varje block in­ne­hål­ler endast rådata, utan yt­ter­li­ga­re metadata eller kon­tex­tin­for­ma­tion. Systemet som har åtkomst till dessa data – van­ligt­vis ett ope­ra­tiv­sy­stem eller en vir­tu­a­li­se­rings­platt­form – ansvarar för att tolka struk­tu­ren och in­ne­bör­den av de lagrade data. Ur ope­ra­tiv­sy­ste­mets per­spek­tiv fungerar block­lag­ring som en fysisk hårddisk eller SSD: Den kan par­ti­tio­ne­ras, for­ma­te­ras och användas för olika ap­pli­ka­tio­ner.

Objekt- och block­lag­ring i korthet

I följande tabell hittar du en översikt över de vik­ti­gas­te skill­na­der­na mellan ob­jekt­lag­ring och block­lag­ring i en direkt jäm­fö­rel­se:

Funktion Ob­jekt­lag­ring Block­lag­ring
Da­ta­struk­tur Objekt med metadata Datablock utan sam­man­hang
Åtkomst HTTP(S) (REST API:er) Direkt via ope­ra­tiv­sy­ste­met
Latens Hög Låg
Skal­bar­het Hög (idealisk för molnet) Begränsad, främst lokal eller via SAN
Metadata Om­fat­tan­de, an­vän­dar­de­fi­ni­e­ra­de Knappast eller inte alls
An­vänd­nings­fall Sä­ker­hetsko­pi­or, media, big data Databaser, ope­ra­tiv­sy­stem, VM-diskar
Kostnad Billigare per TB för stora da­ta­mäng­der Dyrare, särskilt för hög­pre­ste­ran­de system
Flex­i­bi­li­tet Bra för ostruk­tu­re­ra­de data som sällan används Bra för struk­tu­re­ra­de data som används ofta

Hur objekt- och block­lag­ring fungerar

Ob­jekt­lag­ring sparar data som tredelade objekt:

  • faktiska an­vän­dar­da­ta (t.ex. en bild eller en video)
  • metadata (yt­ter­li­ga­re in­for­ma­tion som ska­pan­de­da­tum, filtyp eller anpassade taggar)
  • unik nyckel som fungerar som adress

Dessa objekt lagras i ett platt namn­om­rå­de. Tekniskt sett är detta enklare och mer skalbart eftersom det inte finns något behov av att hantera en komplex ka­ta­logs­truk­tur. Åtkomst sker via HTTP-pro­to­kol­let, van­ligt­vis genom REST. API:er. Ap­pli­ka­tio­ner in­te­ra­ge­rar med lag­rings­ut­rym­met som en webb­tjänst. Många moln­tjäns­ter, såsom Amazon S3 eller Google Cloud Storage, baseras på denna teknik. Ob­jekt­lag­ring kan dis­tri­bue­ras över hela världen, vilket gör att data kan lagras på flera platser samtidigt. Detta för­bätt­rar både fel­to­le­ran­sen och den globala till­gäng­lig­he­ten.

Block­lag­ring fungerar mer som en tra­di­tio­nell enhet eller hårddisk. Här delas data upp i block av samma storlek, som var och en tilldelas en adress. Dessa block in­ne­hål­ler inga metadata. Det innebär att det är ope­ra­tiv­sy­ste­met eller en ap­pli­ka­tion ovanpå (t.ex. ett filsystem eller en databas) som ansvarar för att veta vilka block som hör ihop. Block­lag­ring till­han­da­hålls ofta via ett Storage Area Network (SAN) eller via iSCSI-nät­verks­pro­to­kol­let. Lagringen visas då för ope­ra­tiv­sy­ste­met som en lokal enhet och kan par­ti­tio­ne­ras, for­ma­te­ras och skrivas till normalt.

Skill­na­der och likheter mellan ob­jekt­lag­ring och block­lag­ring

Även om både ob­jekt­lag­ring och block­lag­ring används för da­ta­lag­ring, skiljer de sig åt i grunden när det gäller struktur, åtkomst och an­vänd­ning. Den största skill­na­den ligger i hur data or­ga­ni­se­ras. När det gäller latens och prestanda har block­lag­ring några fördelar eftersom den möjliggör snabb åtkomst på blocknivå. Ob­jekt­lag­ring utmärker sig däremot när det gäller skal­bar­het och lång­sik­tig da­ta­lag­ring.

Båda lag­rings­ty­per­na har det gemensamt att de ofta används i moln­mil­jö­er och, genom sina re­spek­ti­ve spe­ci­a­li­se­ring­ar, effektivt kan stödja olika ar­bets­be­last­ning­ar. Båda kan ingå i en blandad lag­rings­stra­te­gi. När det gäller till­för­lit­lig­het och fel­to­le­rans erbjuder moderna im­ple­men­ta­tio­ner av båda tek­ni­ker­na viktiga me­ka­nis­mer som re­pli­ke­ring och redundans. Medan block­lag­ring är mer pre­sta­tions- och di­rekt­kon­trol­l­o­ri­en­te­rad, erbjuder ob­jekt­lag­ring en flexibel och kost­nads­ef­fek­tiv lösning för stora da­ta­mäng­der. I moderna IT-miljöer kom­bi­ne­ras ofta båda lag­rings­ty­per­na för att dra maximal nytta av deras re­spek­ti­ve fördelar.

Typiska an­vänd­nings­fall

An­vänd­nings­fall för ob­jekt­lag­ring

Ob­jekt­lag­ring används ofta för sä­ker­hetsko­pi­e­ring och ar­ki­ve­ring. Den höga skal­bar­he­ten och kost­nads­ef­fek­ti­va lagringen gör denna lag­rings­lös­ning idealisk för lång­sik­tig da­ta­lag­ring. Den är också populär i in­ne­hållsle­ve­rans­nät­verk (CDN), eftersom stora me­di­e­fi­ler kan dis­tri­bue­ras enkelt och effektivt.

Ett annat viktigt an­vänd­nings­om­rå­de är lagring av stora da­ta­mäng­der, såsom loggfiler, sensor­da­ta eller vi­de­o­in­spel­ning­ar, eftersom objekten kan lagras och bearbetas oberoende av varandra. Moderna webbappar och mo­bi­lap­pli­ka­tio­ner använder också ob­jekt­lag­ring för att lagra an­vän­dar­fi­ler, bilder och dokument.

An­vänd­nings­fall för block­lag­ring

Block­lag­ring är den fö­re­drag­na lösningen för databaser och trans­ak­tions­sy­stem. Möj­lig­he­ten att direkt komma åt block ga­ran­te­rar hög prestanda och låg latens. Dessa egen­ska­per är särskilt viktiga för ap­pli­ka­tio­ner som kräver frekvent läsning och skrivning av data samtidigt.

Virtuella maskiner och ope­ra­tiv­sy­stem drar också nytta av att använda block­lag­ring, eftersom de är beroende av snabb och till­för­lit­lig lagring. Även i tra­di­tio­nel­la da­ta­cen­ter, där de­ter­mi­nis­tisk prestanda är avgörande, används block­lag­ring fort­fa­ran­de i stor ut­sträck­ning.

Fördelar och nackdelar

I en direkt jäm­fö­rel­se mellan ob­jekt­lag­ring och block­lag­ring spelar för­de­lar­na och nack­de­lar­na en viktig roll.

Ob­jekt­lag­ring erbjuder hög skal­bar­het, enkel in­teg­ra­tion via webb-API:er och möj­lig­he­ten att lagra om­fat­tan­de metadata för varje objekt. Detta gör den särskilt väl lämpad för ostruk­tu­re­ra­de data och moln­ba­se­ra­de ap­pli­ka­tio­ner. Åtkomsten är dock relativt långsam, vilket gör att ob­jekt­lag­ring inte är lika lämplig för ap­pli­ka­tio­ner där låg latens är viktigt.

Block­lag­ring å andra sidan erbjuder betydligt lägre latens och särskilt im­po­ne­ran­de prestanda. Den direkta in­teg­ra­tio­nen med virtuella maskiner eller con­tain­rar gör också block­lag­ring till första­handsva­let för tra­di­tio­nel­la IT-in­fra­struk­tu­rer. Detta medför dock högre kostnader och mindre flex­i­bi­li­tet vid hantering av stora, dis­tri­bu­e­ra­de da­ta­mäng­der.

Gå till huvudmeny