hbase: extreme makeover

Download HBase: Extreme Makeover

Post on 10-May-2015

761 views

Category:

Software

1 download

Embed Size (px)

DESCRIPTION

Speaker: Vladimir Rodionov (bigbase.org) This talks introduces a totally new implementation of a multilayer caching in HBase called BigBase. BigBase has a big advantage over HBase 0.94/0.96 because of an ability to utilize all available server RAM in the most efficient way, and because of a novel implementation of a L3 level cache on fast SSDs. The talk will show that different type of caches in BigBase work best for different type of workloads, and that a combination of these caches (L1/L2/L3) increases the overall performance of HBase by a very wide margin.

TRANSCRIPT

  • 1.HBase:Extrememakeover VladimirRodionov Hadoop/HBasearchitect FounderofBigBase.org HBaseCon2014 Features&InternalTrack

2. Agenda 3. Aboutmyself PrincipalPlaKormEngineer@CarrierIQ,Sunnyvale,CA PriortoCarrierIQ,Iworked@GE,EBay,Plumtree/BEA. HBaseusersince2009. HBasehackersince2013. AreasofexperTseinclude(butnotlimitedto)Java, HBase,Hadoop,Hive,large-scaleOLAP/AnalyTcs,andin- memorydataprocessing. FounderofBigBase.org 4. What? 5. BigBase=EM(HBase) 6. BigBase=EM(HBase) EM(*)=? 7. BigBase=EM(HBase) EM(*)= 8. BigBase=EM(HBase) EM(*)= Seriously? 9. BigBase=EM(HBase) EM(*)= Seriously? forHBase ItsaMulT-LevelCachingsoluTon 10. RealAgenda WhyBigBase? BriefhistoryofBigBase.orgproject BigBaseMLChighlevelarchitecture(L1/L2/L3) Level1-RowCache. Level2/3-BlockCacheRAM/SSD. YCSBbenchmarkresults UpcomingfeaturesinR1.5,2.0,3.0. Q&A 11. HBase STlllackssomeoriginalBigTablesfeatures. STllnotabletouTlizeecientlyallRAM. Nogoodmixedstorage(SSD/HDD)support. SingleLevelCachingonly.Simple. HBase+LargeJVMHeap(MemStore)=? 12. BigBase AddsRowCacheandblockcachecompression. UTlizesecientlyallRAM(TBs). Supportsmixedstorage(SSD/HDD). HasMulTLevelCaching.Notthatsimple. WillmoveMemStoreoheapinR2. 13. BigBaseHistory 14. Koda(2010) Koda-Javaoheapobjectcache,similarto TerracolasBigMemory. Delivers4xTmesmoretransacTons 10xTmesbelerlatenciesthanBigMemory4. Compression(Snappy,LZ4,LZ4HC,Deate). Diskpersistenceandperiodiccachesnapshots. Testedupto240GB. 15. Karma(2011-12) Karma-JavaoheapBTreeimplementaTonto supportfastinmemoryqueries. Supportsextralargeheaps,100smillionsbillions objects. Stores300Mobjectsinlessthan10GofRAM. BlockCompression. Testedupto240GB. OHeapMemStoreinR2. 16. Yamm(2013) YetAnotherMemoryManager. Pure100%Javamemoryallocator. ReplacedjemallocinKoda. NowKodais100%Java. Karmaisthenext(sTllonjemalloc). Similartomemcachedslaballocator. BigBaseprojectstarted(Summer2013). 17. BigBaseArchitecture 18. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache 19. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache HBase0.96 Disk JVMRAM Bucketcache Onelevelofcaching: RAM(L2) 20. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache HBase0.96 Bucketcache JVMRAM Onelevelofcaching: RAM(L2) OrDISK(L3) 21. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache HBase0.96 Disk JVMRAM Bucketcache BigBase1.0 BlockCacheL3 SSD JVMRAM RowCacheL1 BlockCacheL2 22. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache HBase0.96 Disk JVMRAM Bucketcache BigBase1.0 JVMRAM RowCacheL1 BlockCacheL2 BlockCacheL3 Network 23. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache HBase0.96 Disk JVMRAM Bucketcache BigBase1.0 JVMRAM RowCacheL1 BlockCacheL2 BlockCacheL3 memcached 24. MLCMulT-LevelCaching HBase0.94 Disk JVMRAM LRUBlockCache HBase0.96 Disk JVMRAM Bucketcache BigBase1.0 JVMRAM RowCacheL1 BlockCacheL2 BlockCacheL3 DynamoDB 25. BigBaseRowCache(L1) 26. WhereisBigTablesScanCache? ScanCachecacheshotrowsdata. ComplimentarytoBlockCache. STllmissinginHBase(asof0.98). ItsveryhardtoimplementinJava(oheap). MaxGCpauseis~0.5-2secper1GBofheap G1GCinJava7doesnotresolvetheproblem. WecallitRowCacheinBigBase. 27. RowCachevs.BlockCache HFileBlock HFileBlockHFileBlockHFileBlockHFileBlock 28. RowCachevs.BlockCache 29. RowCachevs.BlockCache BLOCKCACHE ROWCACHE 30. RowCachevs.BlockCache ROWCACHE BLOCKCACHE 31. RowCachevs.BlockCache ROWCACHE BLOCKCACHE 32. BigBaseRowCache OHeapScanCacheforHBase. Cachesize:100sofGBstoTBs. EvicTonpolicies:LRU,LFU,FIFO, Random. Pure100%-compaTbleJava. Sub-millisecondlatencies,zeroGC. ImplementedasRegionObserver coprocessor. RowCache YAMM Codecs Kryo SerDe KODA 33. BigBaseRowCache Readthroughcache. Itcachesrowkey:CF. InvalidateskeyoneverymutaTon. Canbeenabled/disabledpertable andpertable:CF. NewROWCACHEalribute. Bestforsmallrows(