Cloudera lanserade nyligen CDH 6.2 som inkluderar två nya nyckelfunktioner i Apache HBase:
- Seriell replikering
- Bucket cache stöder nu Intels Optane-minne
Seriell replikering
HBase har en sofistikerad asynkron replikeringsmekanism som stöder komplexa topologier idag som inkluderar globala round-robin-, tvåvägs-, span-in- och span-out-topologier.
Den här replikeringsmöjligheten, till dags dato, ger eventuell konsistens – vilket innebär att ordningen i vilken uppdateringar replikeras inte nödvändigtvis är densamma som den ordning i vilken de tillämpades på databasen. Även om detta fungerade för många kunder var uppdateringsordningen för replikeringsslutpunkten viktig för många användningsfall.
Seriereplikeringsfunktionen ger tidslinjekonsistens för replikering. Med andra ord, uppdateringsordningen bevaras genom replikering till destinationsklustret. Det finns en liten kostnad för denna konsekvens och i vissa fall kan användare upptäcka att replikeringen är något långsammare än standardreplikeringsmetoden.
Konfigurationen av detta alternativ är ganska enkel (ställ SERIAL-flaggan till true) och kan tillämpas vid tidpunkten för replikeringsinställningen eller när som helst därefter på tabellnivå, namnområdesnivå eller för en peer som replikerar alla tabeller i HBase.
HBase bucket cache
HBases bucket-cache är en 2-lagers cache som är designad för att förbättra prestandan i en mängd olika användningsfall. Det första lagret finns i Java-högen och det andra lagret i cachen kan finnas på ett antal olika platser, inklusive:off-heap-minne, Intel Optane-minne, SSD:er eller hårddiskar.
Den rekommenderade konfigurationen för hinkcachens andra lager för de flesta kunder har varit off-heap. Utplaceringar i den här konfigurationen kan skalas upp till mycket större minnesstorlekar än vad som är möjligt med den inbyggda on-heap-cachen, eftersom off-heap-motorn undviker JVM-sopsamlingstrycket. Den större cachestorleken ger avsevärt förbättrad HBase-läsprestanda.
Från och med CDH 6.2 inkluderar Cloudera nu möjligheten att använda Intels nyligen släppta Optane Memory som en alternativ destination för den andra nivån av bucket-cachen. Denna distributionskonfiguration gör att du kan ha ~3x storleken på cachen för konstant kostnad (jämfört med off-heap cache på DRAM). Det medför viss ytterligare latens jämfört med den traditionella off-heap-konfigurationen, men våra tester indikerar att genom att låta mer (om inte alla) av datans arbetsuppsättning passa in i cachen, resulterar inställningen i en nettoprestandaförbättring när datan lagras slutligen på HDFS (med hårddiskar).
När du distribuerar till molnet eller använder on-prem objektlagring kommer prestandaförbättringen att bli ännu bättre eftersom objektlagring tenderar att bli mycket dyr för slumpmässig läsning av små mängder data. Tabellen nedan ger en uppfattning om kostnaden, storleken och latensavvägningen som krävs när man planerar hur man konfigurerar den andra nivån i bucket-cachen.
Lagring | $ Kostnad/GB | Storlek (konstant kostnad) | Latens |
Off-heap DRAM | 35 | 1,0 GB | ~70 ns |
Intel Optane¹ | 13 | 2,7 GB | 180-340 ns |
SSD | 0,15 | 233,3 GB | 10-100 µs |
HDD² | 0,027 | 1,3 TB | 4-10 ms |
Objektlagring³ | 0,006 | 5,8 TB | 10-100 ms |
Läs den här bloggen för att lära dig mer om Intels och Cloudera-samarbetet för att utnyttja Optane DC Persistent Memory för prestandaförbättringar.
Referenser:
- Optane DC Persistent Memory Performance Overview (https://www.youtube.com/watch?v=UTVt_AZmWjM) – minut 6:53,
https:// www.pcper.com/news/Storage/Intels-Optane-DC-Persistent-Memory-DIMMs-Push-Latency-Closer-DRAM,
https://www.tomshardware.com/news/intel-optane- dimm-pricing-performance,39007.html - https://www.backblaze.com/blog/hard-drive-cost-per-gigabyte/,
https://www.westerndigital.com/ products/data-center-drives#hard-disk-hdd - https://www.qualeed.com/en/qbackup/cloud-storage-comparison/, https://www.dellemc.com/en-us/collaterals/ unauth/analyst-reports/products/storage/esg-ecnomic-value-audi-dell-emc-elastic-cloud-storage.pdf