Video: Nintendo Switch Lite Unboxing! 2025
Komprimering , processen, hvorved HBase rydder op efter sig selv, kommer i to varianter: større og mindre. Store komplikationer kan være en big deal, men først skal du forstå mindre komplikationer.
Mindre kompakanter kombinerer et konfigurerbart antal mindre HFiler i en større HFile. Du kan indstille antallet af HFiles til kompakt og hyppigheden af en mindre komprimering. Mindre komplikationer er vigtige, fordi uden dem kan læsning af en bestemt række kræve, at mange diske læser og forårsager langsom overordnet ydeevne.
Figuren, som illustrerer hvordan dette koncept fungerer, kan hjælpe dig med at visualisere, hvordan følgende tabel kan vedblive på HDFS.
Rækkefølge | Kolonnefamilie: {Kolonnekvalificering: Version: Værdi} |
---|---|
00001 | Kundenavn: {'FN':
1383859182496: ' John ', ' LN ': 1383859182858:' Smith ', ' MN ': 1383859183001:' Timothy ', ' MN ': 1383859182915:' T '} KontaktInfo: {' EA ': 1383859183030:' John. Smith @ xyz. com ', ' SA ': 1383859183073:' 1 Hadoop Lane, NY 11111 '} |
00002 | Kundenavn: {' FN ':
1383859183103:' Jane ', 'LN': 1383859183163: 'Doe', KontaktInfo: { 'SA': 1383859185577: '7 HBase Ave, CA 22222'} |
Bemærk, hvordan kolonnen FamilyName-kolonne blev skrevet til HDFS med to MemStore-flusher, og hvordan dataene i ContactInfo-kolonnefamilien var vedvarende til disk med kun én MemStore-flush. Dette eksempel er hypotetisk, men det er et sandsynligt scenario afhængigt af tidens skrivning.
Billede et servicevirksomhed, der får flere og flere kundekontaktoplysninger over tid. Servicevirksomheden kan kende sin kundes for- og efternavn, men ikke lære om dens mellemnavn til timer eller uger senere i efterfølgende serviceanmodninger. Dette scenario vil medføre, at dele af række 00001 vedbliver ved HDFS i forskellige HFiles.
Indtil HBase-systemet udfører en mindre komprimering, vil læsning fra række 00001 kræve, at der læses tre disker for at hente det relevante HFile-indhold! Mindre komplikationer søger at minimere systemets overhead, samtidig med at antallet af HFiles styres. HBase-designere var særlig opmærksomme på at give HBase-administratoren så meget tuningkontrol som muligt for at få systemets indvirkning "mindre". "
Som navnet antyder, er en større komprimering forskellig fra perspektivet af en systempåvirkning. Komprimeringen er imidlertid ret vigtig for HBase systemets overordnede funktionalitet. En stor komprimering søger at kombinere alle HFiles i en stor HFile.
Derudover udfører en større komprimering oprydning efter at en bruger sletter en rekord. Når en bruger udsender et Slet opkald, placerer HBase-systemet en markør i nøgleværdiparret, så det kan fjernes permanent under den næste større komprimering.
Da store samlinger kombinerer alle HFiles i en stor HFile, er tiden også korrekt for systemet at gennemgå versionerne af dataene og sammenligne dem med TTL-ejendommen. Værdier ældre end TTL renses.
Tid til live henviser til variablen i HBase, du kan indstille for at definere, hvor lang tid data med flere versioner vil forblive i HBase.
Du har muligvis gættet, at en større komprimering påvirker systemets responstid betydeligt. Brugere, der forsøger at tilføje, hente eller manipulere data i systemet under en større komprimering, kan muligvis se dårlig systemrespons tid.
Hertil kommer, at HBase-klyngen måske skal opdele regioner samtidig med at en større komprimering finder sted og balancerer regionerne på tværs af alle RegionServers. Dette scenario vil resultere i en betydelig mængde netværkstrafik mellem RegionServers.
Derfor skal din HBase-administrator have en stor komprimeringsstrategi for din implementering.