datakomprimering är en minskning av antalet bitar som behövs för att representera data. Komprimera data kan spara lagringskapacitet, påskynda filöverföring och minska kostnaderna för lagringshårdvara och nätverksbandbredd.

hur komprimering fungerar

komprimering utförs av ett program som använder en formel eller algoritm för att bestämma hur man krymper storleken på data., Till exempel kan en algoritm representera en sträng bitar — eller 0s och 1s — med en mindre sträng av 0s och 1s genom att använda en ordbok för konverteringen mellan dem, eller formeln kan infoga en referens eller pekare till en sträng av 0s och 1s som programmet redan har sett.

textkomprimering kan vara så enkelt som att ta bort alla onödiga tecken, infoga ett enda upprepat tecken för att indikera en sträng med upprepade tecken och ersätta en mindre bitsträng för en ofta förekommande bitsträng., Datakomprimering kan minska en textfil till 50% eller en betydligt högre andel av sin ursprungliga storlek.

för dataöverföring kan komprimering utföras på datainnehållet eller på hela överföringsenheten, inklusive rubrikdata. När information skickas eller tas emot via internet kan större filer, antingen ensamma eller med andra som en del av en arkivfil, överföras i ett ZIP -, gzip-eller annat komprimerat format.

Varför är datakomprimering viktigt?

datakomprimering kan dramatiskt minska mängden lagring en fil tar upp., Till exempel, i ett kompressionsförhållande 2: 1, tar en 20 megabyte (MB) – Fil upp 10 MB utrymme. Som ett resultat av komprimering spenderar administratörer mindre pengar och mindre tid på lagring.

komprimering optimerar säkerhetskopieringslagringsprestanda och har nyligen visats i primärlagringsdatareducering. Komprimering kommer att vara en viktig metod för datareduktion som data fortsätter att växa exponentiellt.

praktiskt taget alla typer av filer kan komprimeras, men det är viktigt att följa bästa praxis när du väljer vilka som ska komprimeras., Till exempel kan vissa filer redan komma komprimerade, så komprimering av dessa filer skulle inte ha någon signifikant inverkan.

datakomprimeringsmetoder: förlustfri och förstörande komprimering

komprimering av data kan vara en förlustfri eller förstörande process. Förlustfri komprimering gör det möjligt att återställa en fil till sitt ursprungliga tillstånd, utan förlust av en enda bit data, när filen är okomprimerad. Förlustfri komprimering är det typiska tillvägagångssättet med körbara filer, samt text-och kalkylarkfiler, där förlusten av ord eller siffror skulle ändra informationen.,

förstörande komprimering eliminerar permanent bitar av data som är överflödiga, obetydliga eller omärkliga. Förstörande komprimering är användbar med grafik, ljud, video och bilder, där avlägsnandet av vissa databitar har liten eller ingen märkbar effekt på representationen av innehållet.


Professor David Brailsford, med skolan för
datavetenskap vid University of Nottingham,
diskuterar komprimering av text och bilder.

grafik bildkomprimering kan vara förstörande eller förlustfri., Grafiska bild filformat är vanligtvis utformade för att komprimera information eftersom filerna tenderar att vara stora. JPEG är ett bildfilformat som stöder förstörande bildkomprimering. Format som GIF och PNG använder förlustfri komprimering.

komprimering vs. data deduplication

komprimering jämförs ofta med data deduplication, men de två teknikerna fungerar annorlunda. Deduplication är en typ av komprimering som letar efter överflödiga bitar av data över ett lagrings-eller filsystem och ersätter sedan varje duplicerad bit med en pekare till originalet., Datakomprimeringsalgoritmer minskar storleken på bitsträngarna i en dataström som är mycket mindre i omfattning och kommer i allmänhet inte ihåg mer än den sista megabyte eller mindre av data.

Taneja Group analytiker Mike Matchett diskuterade fördelarna med kompression och deduplication och hur de två skiljer sig åt.

filnivå deduplication eliminerar överflödiga filer och ersätter dem med stubbar som pekar på den ursprungliga filen. Blocknivå deduplication identifierar dubbla data på underfilnivå., Systemet sparar unika instanser av varje block, använder en hashalgoritm för att bearbeta dem och genererar en unik identifierare för att lagra dem i ett index. Deduplication ser vanligtvis för större bitar av dubbla data än komprimering, och system kan deduplicera med hjälp av en fast eller variabel storlek bit.

Deduplication är mest effektiv i miljöer som har en hög grad av redundanta data, till exempel virtual Desktop infrastructure eller storage backup systems., Datakomprimering tenderar att vara effektivare än deduplication för att minska storleken på unik information, såsom bilder, ljud, videor, databaser och körbara filer. Många lagringssystem stöder både kompression och deduplicering.

datakomprimering och säkerhetskopiering

komprimering används ofta för data som inte nås mycket, eftersom processen kan vara intensiva och sakta ner system. Administratörer kan dock sömlöst integrera komprimering i sina säkerhetskopieringssystem.

Backup är en redundant typ av arbetsbelastning, eftersom processen fångar samma filer ofta., En organisation som utför fullständiga säkerhetskopior kommer ofta att ha nära samma data från säkerhetskopiering till säkerhetskopiering.

det finns stora fördelar med att komprimera data före säkerhetskopiering:

  • Data tar upp mindre utrymme, eftersom ett kompressionsförhållande kan nå 100:1, men mellan 2:1 och 5: 1 är vanligt.
  • Om komprimering görs på en server före överföringen minskar den tid som krävs för att överföra data och den totala nätverksbandbredden drastiskt.
  • på band kan den komprimerade, mindre filsystembilden skannas snabbare för att nå en viss fil, vilket minskar återställningslatensen.,
  • komprimering stöds av säkerhetskopieringsprogram och bandbibliotek, så det finns ett urval av datakomprimeringstekniker.

fördelar och nackdelar med komprimering

de främsta fördelarna med komprimering är en minskning av lagringshårdvara, dataöverföringstid och kommunikationsbandbredd — och de resulterande kostnadsbesparingarna. En komprimerad fil kräver mindre lagringskapacitet än en okomprimerad fil, och användningen av komprimering kan leda till en signifikant minskning av kostnaderna för disk-och/eller solid state-enheter., En komprimerad fil kräver också mindre tid för överföring, och den förbrukar mindre nätverksbandbredd än en okomprimerad fil.

den största nackdelen med datakomprimering är prestandaeffekten till följd av användningen av CPU och minnesresurser för att komprimera data och utföra dekompression. Många leverantörer har utformat sina system för att försöka minimera effekten av processorintensiva beräkningar i samband med kompression. Om komprimeringen körs inline, innan data skrivs till disk, kan systemet avlasta komprimering för att bevara systemresurser., Till exempel använder IBM ett separat hårdvaruaccelerationskort för att hantera komprimering med några av sina företagslagringssystem.

om data komprimeras efter att den har skrivits till disk, eller efterprocess, kan komprimeringen köras i bakgrunden för att minska prestandaeffekten. Även om efterprocesskomprimering kan minska svarstiden för varje ingång / utgång (i/O), förbrukar den fortfarande minne och processorcykler och kan påverka det totala antalet i/Os som ett lagringssystem kan hantera., Också, eftersom data initialt måste skrivas till disk eller flash-enheter i en okomprimerad form, är de fysiska lagringsbesparingarna inte lika stora som de är med inline-komprimering.

datakomprimeringstekniker: Filsystemkomprimering

filsystemkomprimering tar ett ganska enkelt sätt att minska datalagringens fotavtryck genom att Öppet komprimera varje fil som den är skriven.

Många av de populära Linux filsystem-inklusive Reiser4, ZFS och btrfs — och Microsoft NTFS har en komprimering alternativet., Servern komprimerar bitar av data i en fil och skriver sedan de mindre fragmenten till lagring.

read-back innebär en relativt liten latens för att expandera varje fragment, medan skrivning lägger stor belastning på servern, så komprimering rekommenderas vanligtvis inte för data som är flyktiga. Filsystemkomprimering kan försvaga prestanda, så det bör distribueras selektivt på filer som inte nås ofta.,

historiskt sett, med dyra hårddiskar av tidiga datorer, datakomprimeringsprogram, såsom DiskDoubler och SuperStor Pro, var populära och hjälpte till att etablera mainstream filsystemkomprimering.

lagringsadministratörer kan också använda tekniken för att använda komprimering och deduplicering för förbättrad datareduktion.

teknik och produkter som använder datakomprimering

komprimering är inbyggd i ett brett spektrum av tekniker, inklusive lagringssystem, databaser, operativsystem och program som används av företag och företagsorganisationer., Komprimera data är också vanligt i konsumentenheter, såsom bärbara datorer, datorer och mobiltelefoner.

många system och enheter utför komprimering transparent, men vissa ger användarna möjlighet att slå på eller stänga av komprimering. Det kan utföras mer än en gång på samma fil eller bit av data, men efterföljande kompressioner resulterar i liten eller ingen ytterligare komprimering och kan även öka storleken på filen till en liten grad, beroende på datakomprimeringsalgoritmer.

WinZip är ett populärt Windows-program som komprimerar filer när det paketerar dem i ett arkiv., Arkiv filformat som stöder komprimering inkluderar ZIP och RAR. De bzip2 och GZIP format se utbredd användning för att komprimera enskilda filer.

Andra leverantörer som erbjuder komprimering inkluderar Dell EMC med sin XtremIO all flash array, Kaminario med sin K2 all flash array och RainStor med sin programvara datakomprimering.

datadifferentiering

datadifferentiering är en allmän term för att jämföra innehållet i två dataobjekt., I samband med komprimering innebär det repetitivt att söka igenom målfilen för att hitta liknande block och ersätta dem med en hänvisning till ett biblioteksobjekt. Denna process upprepas tills den hittar inga ytterligare dubbletter objekt. Datadifferentiering kan resultera i många komprimerade filer med bara ett element i biblioteket som representerar varje duplicerat objekt.

i virtuella skrivbord kan denna teknik ha ett kompressionsförhållande på så mycket som 100:1., Processen är ofta mer i linje med deduplication, som letar efter identiska filer eller objekt, snarare än inom innehållet i varje objekt.

datadifferentiering kallas ibland deduplication.