SlideShare a Scribd company logo
1 of 43
Meet (upcoming) HBase-
2.0
Enis Soztutar
Expected EOY 2017
About Me
Enis Söztutar
HBase PMC since 2012
Release Manager for 1.0
@enissoz
Hbase dev @Hortonworks
Outline
Recent releases
Versioning / Compatibility
Changes in behavior
Major Features in HBase-2.0
Phoenix-5.0
Outline
Recent releases
Versioning / Compatibility
Changes in behavior
Major Features in HBase-2.0
Phoenix-5.0
GIANT DISCLAIMER!!!
HBase-2.0.0 is NOT released yet (as of March 2017)
Community is working hard on this release
Expected to arrive before end of year 2017
Keep an eye out for scheduled alpha and beta releases
2017 H1 (repo and releases)
(master) 3.0.0-SNAPSHOT
(branch-1) 1.4.0-SNAPSHOT
(branch-1.3)
1.3.0
1.2.51.2.0
(branch-1.2)
1.1.0 1.1.9
1.0.0 1.0.3
(branch-1.1)
(branch-1.0 – EOL’ed)
…
…
(branch-2) 2.0.0-SNAPSHOT
2.0.0-beta1
(expected)
2.0.0-alpha1
(expected)
2.0.0
(expected)
…
How to choose a release (H1 2017)
• If you are on 0.98.x or earlier, time to upgrade!
• 1.0 is EOL’ed. Use 1.1.x at least
• Both 1.1 and 1.2 are pretty stable
• Starting from scratch, use 1.2 or 1.3
• Moving between minor versions is easy for 1.x
• Start testing out 2.0 with alpha and beta
releases
Outline
Recent releases
Versioning / Compatibility
Changes in behavior
Major Features in HBase-2.0
Phoenix-5.0
Semantic Versioning
Starting with the 1.0 release, HBase works toward
Semantic Versioning
MAJOR.MINOR.PATCH[-identifiers]
PATCH: only BC bug fixes.
MINOR: BC new features
MAJOR: Incompatible changes
To be, or not to be (Compatible)
To be, or not to be (Compatible)
• Compatibility is NOT a simple yes or no
• Many dimensions
• source, binary, wire, command line, dependencies etc
• Read
https://hbase.apache.org/book.html#upgrading
• What is client interface?
HBase API surface
Client API
Explicitly marked with InterfaceAudience.Public
Get/Put/Table/Connection, etc
LimitedPrivate API
Explicitly marked with InterfaceAudience.LimitedPrivate
Coprocessors, replication APIs
Private API
Explicitly marked with InterfaceAudience.Private
All other classes not marked
Also InterfaceAudience.{Stable,Evolving,Unstable}
Major Minor Patch
Client-Server Wire Compatibility
✗ ✓ ✓
Server-Server Compatibility
✗ ✓ ✓
File Format Compatibility
✗* ✓ ✓
Client API Compatibility
✗ ✓ ✓
Client Binary Compatibility
✗ ✗ ✓
Server Side Limited API
Compatibility ✗ ✗*/✓* ✓
Dependency Compatibility
✗ ✓ ✓
Operation Compatibility
✗ ✗ ✓
Outline
Recent releases
Versioning / Compatibility
Changes in behavior
Major Features in HBase-2.0
Phoenix-5.0
Changes in behavior – HBase-2.0
• JDK-8+ only
• Likely Hadoop-2.7+ and Hadoop-3 support
• Filter and Coprocessor changes
• Managed connections are gone.
• Target is “Rolling upgradable” from 1.x
• Updated dependencies
• Deprecated client interfaces are gone
Client API Overview
HBase 0.98 Name(s) HBase 1.x + 2.x name(s)
HConnectionManager, ConnectionManager ConnectionFactory
HConnection, ClusterConnection Connection
HBaseAdmin Admin
HTable Table
RegionLocator
BufferedMutator
How to prepare for HBase-2.0
• 2.0 contains more API clean up
• Cleanup PB and guava “leaks” into the API
• Some deprecated APIs (HConnection,
HTable, HBaseAdmin, etc) going away
• Start using JDK-8 (and G1). You will like it.
• 1.x client should be able to do read / write /
scan against 2.0 clusters
• Some DDL / Admin operations may not work
Outline
Recent releases
Versioning / Compatibility
Changes in behavior
Major Features in HBase-2.0
Phoenix-5.0
Offheaping Read Path
• Goals
• Make use of all available RAM
• Reduce temporary garbage for reading
• Make bucket cache as fast as LRU cache
• HBase block cache can be configured as L1 / L2
• “Bucket cache” can be backed by onheap, off-heap or
SSD
• Different sized buckets in 4MB slices
• HFile blocks placed in different buckets
• Cell comparison only used to deal with byte[]
• Copy the whole block to heap
https://www.slideshare.net/HBaseCon/offheaping-the-apache-hbase-read-path
Offheaping Read Path
https://blogs.apache.org/hbase/entry/offheaping_the_read_path_in1
Offheaping Read Path
Offheap Read-Path in Production - The Alibaba story (https://blogs.apache.org/hbase/)
Offheaping Write Path
• Reduce GC, improve throughput predictability
• Use off-heap buffer pools to read RPC requests
• Remove garbage created in Codec parsing,
MSLAB copying, etc
• MSLAB is used for heap fragmentation
• Now MSLAB can allocate offheap pooled
buffers [2MB]
Offheaping Write Path
• Allows bigger total memstore space
• Cell data goes off-heap
• Cell metadata (and CSLM#Entry, etc) is on-
heap (~100 byte overhead)
• Async WAL is used to avoid copying Cells
into heap
• Works with new “Compacting Memstore”
https://docs.google.com/document/d/1fj5P8JeutQ-Uadb29ChDscMuMaJqaMNRI86C4k5S1rQ/edit#
Compacting Memstore
In memory flushes
• Reduce index overhead per cell
• Gains proportional to cell size
In memory compaction
• Eliminate duplicates
• Gains are proportional to duplicates
Reduce flushes to disk
• Reduce file creation
• Reduce write amplification
Compacting Memstore
https://www.slideshare.net/HBaseCon/apache-hbase-accelerated-inmemory-flush-and-compaction
https://www.slideshare.net/HBaseCo
n/apache-hbase-accelerated-
inmemory-flush-and-compaction
Region Assignment
• Region assignment is one of the pain points
• Complete overhaul of region assignment
• Based on the internal “Procedure V2” framework
• Series of operations are broken down into states in
State Machine
• State’s are serialized to durable storage
• Uses a WAL on HDFS
• Backup master can recover the state from where left off
Async Client
• A complete new client maintained in HBase
• Different than OpenTSDB/asynchbase
• Fully async end to end
• Based on Netty and JDK-8 CompletableFutures
• Includes most critical functionality including Admin /
DDL
• Some advanced functionality (read replicas, etc) are not
done yet
• Have both sync and async client.
Async Client
C++ Client
• -std=c++14
• Synchronous client built fully on async client
• Uses folly and wangle from FB (like Netty,
JDK-8 Futures)
• Follow the same architecture as the async
client
• Gets / Puts / Multi-Gets are working. Scan
next
C++ Client
Backup / Restore
Need a reliable native Backup mechanism
Backup / Restore
• Full backups and Incremental backups
• Backup destination to a remote FS
• HDFS, S3, ADLS, WASB, and any Hadoop-
compatible FS
• Full backup based on “snapshots”
• Incremental backup ships Write-Ahead-Logs
• Backup + Replication are complimentary (for
a full DR solution)
Backup / Restore
Flexible restore options
FileSystem Quotas
• HBase supports quotas
• Request count or size per sec,min,hour,day (per server)
• Num tables / num regions in namespace
• New work enables quotas for disk space usage
• Master periodically gathers info about disk space usage
• Regionservers enforce limit when notified from master
• Limits per table or per namespace (not per user)
• Violation policy: {DISABLE, NO_WRITES_COMPACTIONS, NO_WRITES,
NO_INSERTS}
FileSystem Quotas
• Much more complex when snapshots are in the picture
(similar to quotas with hard links in FS)
• Snapshot usage is counted against the originating table
• A File is only counted once (even original table, or
snapshot or restored table refers to it)
• More info: HBASE-16961
hbase> set_quota TYPE => SIZE,
VIOLATION_POLICY =>DELETES_WITH_COMPACTIONS,
NAMESPACE => ‘prod_website’, LIMIT =>
‘7125GB’
Will be released for the first time
• These will be released for the first time in
Apache (although other backports exist)
• Medium Object Support
• Region Server groups
• Favored Nodes enhancements
• HBase-Spark module
• WAL’s and data files in separate
FileSystems
Misc
NettyRpcClient
NettyRpcServer
API Cleanup
Replication V2
New metrics API
Metrics API for Coprocessors
Tons of other improvements
Outline
Recent releases
Versioning / Compatibility
Changes in behavior
Major Features in HBase-2.0
Phoenix-5.0
Apache Phoenix-5.0
• Expect similar timeframe for Phoenix-5.0
• We are working for HBase-2.0 support
• Re-write internals using Apache Calcite
• SQL-parser, planner and optimizer
• Cost based Optimizer used by Hive, Drill, etc
• Pluggable rules with default rules, and
Phoenix specific ones
• SQL-92 support
Questions
Thanks for listening *.
*Here is a picture of a cat for your suffering!

More Related Content

What's hot

Cross-Site BigTable using HBase
Cross-Site BigTable using HBaseCross-Site BigTable using HBase
Cross-Site BigTable using HBaseHBaseCon
 
HBaseCon 2013: Apache HBase Table Snapshots
HBaseCon 2013: Apache HBase Table SnapshotsHBaseCon 2013: Apache HBase Table Snapshots
HBaseCon 2013: Apache HBase Table SnapshotsCloudera, Inc.
 
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon
 
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...HBaseCon
 
Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0enissoz
 
HBaseCon 2015: HBase 2.0 and Beyond Panel
HBaseCon 2015: HBase 2.0 and Beyond PanelHBaseCon 2015: HBase 2.0 and Beyond Panel
HBaseCon 2015: HBase 2.0 and Beyond PanelHBaseCon
 
HBase Application Performance Improvement
HBase Application Performance ImprovementHBase Application Performance Improvement
HBase Application Performance ImprovementBiju Nair
 
HBase Blockcache 101
HBase Blockcache 101HBase Blockcache 101
HBase Blockcache 101Nick Dimiduk
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0enissoz
 
HBase 0.20.0 Performance Evaluation
HBase 0.20.0 Performance EvaluationHBase 0.20.0 Performance Evaluation
HBase 0.20.0 Performance EvaluationSchubert Zhang
 
HBaseCon 2015: HBase Operations at Xiaomi
HBaseCon 2015: HBase Operations at XiaomiHBaseCon 2015: HBase Operations at Xiaomi
HBaseCon 2015: HBase Operations at XiaomiHBaseCon
 
HBaseCon 2013: Apache HBase Replication
HBaseCon 2013: Apache HBase ReplicationHBaseCon 2013: Apache HBase Replication
HBaseCon 2013: Apache HBase ReplicationCloudera, Inc.
 
Hadoop World 2011: Advanced HBase Schema Design - Lars George, Cloudera
Hadoop World 2011: Advanced HBase Schema Design - Lars George, ClouderaHadoop World 2011: Advanced HBase Schema Design - Lars George, Cloudera
Hadoop World 2011: Advanced HBase Schema Design - Lars George, ClouderaCloudera, Inc.
 
Apache HBase Performance Tuning
Apache HBase Performance TuningApache HBase Performance Tuning
Apache HBase Performance TuningLars Hofhansl
 
Intro to HBase Internals & Schema Design (for HBase users)
Intro to HBase Internals & Schema Design (for HBase users)Intro to HBase Internals & Schema Design (for HBase users)
Intro to HBase Internals & Schema Design (for HBase users)alexbaranau
 
HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...
HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...
HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...Cloudera, Inc.
 
hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践HBaseCon
 
The State of HBase Replication
The State of HBase ReplicationThe State of HBase Replication
The State of HBase ReplicationHBaseCon
 

What's hot (18)

Cross-Site BigTable using HBase
Cross-Site BigTable using HBaseCross-Site BigTable using HBase
Cross-Site BigTable using HBase
 
HBaseCon 2013: Apache HBase Table Snapshots
HBaseCon 2013: Apache HBase Table SnapshotsHBaseCon 2013: Apache HBase Table Snapshots
HBaseCon 2013: Apache HBase Table Snapshots
 
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ Salesforce
 
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
 
Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0
 
HBaseCon 2015: HBase 2.0 and Beyond Panel
HBaseCon 2015: HBase 2.0 and Beyond PanelHBaseCon 2015: HBase 2.0 and Beyond Panel
HBaseCon 2015: HBase 2.0 and Beyond Panel
 
HBase Application Performance Improvement
HBase Application Performance ImprovementHBase Application Performance Improvement
HBase Application Performance Improvement
 
HBase Blockcache 101
HBase Blockcache 101HBase Blockcache 101
HBase Blockcache 101
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0
 
HBase 0.20.0 Performance Evaluation
HBase 0.20.0 Performance EvaluationHBase 0.20.0 Performance Evaluation
HBase 0.20.0 Performance Evaluation
 
HBaseCon 2015: HBase Operations at Xiaomi
HBaseCon 2015: HBase Operations at XiaomiHBaseCon 2015: HBase Operations at Xiaomi
HBaseCon 2015: HBase Operations at Xiaomi
 
HBaseCon 2013: Apache HBase Replication
HBaseCon 2013: Apache HBase ReplicationHBaseCon 2013: Apache HBase Replication
HBaseCon 2013: Apache HBase Replication
 
Hadoop World 2011: Advanced HBase Schema Design - Lars George, Cloudera
Hadoop World 2011: Advanced HBase Schema Design - Lars George, ClouderaHadoop World 2011: Advanced HBase Schema Design - Lars George, Cloudera
Hadoop World 2011: Advanced HBase Schema Design - Lars George, Cloudera
 
Apache HBase Performance Tuning
Apache HBase Performance TuningApache HBase Performance Tuning
Apache HBase Performance Tuning
 
Intro to HBase Internals & Schema Design (for HBase users)
Intro to HBase Internals & Schema Design (for HBase users)Intro to HBase Internals & Schema Design (for HBase users)
Intro to HBase Internals & Schema Design (for HBase users)
 
HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...
HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...
HBaseCon 2012 | Mignify: A Big Data Refinery Built on HBase - Internet Memory...
 
hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践
 
The State of HBase Replication
The State of HBase ReplicationThe State of HBase Replication
The State of HBase Replication
 

Similar to Meet HBase 2.0

HBaseCon 2015: Meet HBase 1.0
HBaseCon 2015: Meet HBase 1.0HBaseCon 2015: Meet HBase 1.0
HBaseCon 2015: Meet HBase 1.0HBaseCon
 
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseHBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseCloudera, Inc.
 
Meet HBase 2.0 and Phoenix-5.0
Meet HBase 2.0 and Phoenix-5.0Meet HBase 2.0 and Phoenix-5.0
Meet HBase 2.0 and Phoenix-5.0DataWorks Summit
 
Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0DataWorks Summit
 
Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0Ankit Singhal
 
[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)baggioss
 
Facebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconFacebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconYiwei Ma
 
Facebook Messages & HBase
Facebook Messages & HBaseFacebook Messages & HBase
Facebook Messages & HBase强 王
 
支撑Facebook消息处理的h base存储系统
支撑Facebook消息处理的h base存储系统支撑Facebook消息处理的h base存储系统
支撑Facebook消息处理的h base存储系统yongboy
 
HBase New Features
HBase New FeaturesHBase New Features
HBase New Featuresrxu
 
Large-scale Web Apps @ Pinterest
Large-scale Web Apps @ PinterestLarge-scale Web Apps @ Pinterest
Large-scale Web Apps @ PinterestHBaseCon
 
Apache HBase 1.0 Release
Apache HBase 1.0 ReleaseApache HBase 1.0 Release
Apache HBase 1.0 ReleaseNick Dimiduk
 
HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...
HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...
HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...Cloudera, Inc.
 
HBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project StatusHBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project StatusMichael Stack
 
Hortonworks HBase Meetup Presentation
Hortonworks HBase Meetup PresentationHortonworks HBase Meetup Presentation
Hortonworks HBase Meetup PresentationHortonworks
 
Hypertable Distilled by edydkim.github.com
Hypertable Distilled by edydkim.github.comHypertable Distilled by edydkim.github.com
Hypertable Distilled by edydkim.github.comEdward D. Kim
 
Hw09 Practical HBase Getting The Most From Your H Base Install
Hw09   Practical HBase  Getting The Most From Your H Base InstallHw09   Practical HBase  Getting The Most From Your H Base Install
Hw09 Practical HBase Getting The Most From Your H Base InstallCloudera, Inc.
 
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...Yahoo Developer Network
 

Similar to Meet HBase 2.0 (20)

HBaseCon 2015: Meet HBase 1.0
HBaseCon 2015: Meet HBase 1.0HBaseCon 2015: Meet HBase 1.0
HBaseCon 2015: Meet HBase 1.0
 
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseHBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
 
Meet HBase 2.0 and Phoenix-5.0
Meet HBase 2.0 and Phoenix-5.0Meet HBase 2.0 and Phoenix-5.0
Meet HBase 2.0 and Phoenix-5.0
 
Apache HBase: State of the Union
Apache HBase: State of the UnionApache HBase: State of the Union
Apache HBase: State of the Union
 
Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0
 
Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0
 
[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)
 
Facebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconFacebook keynote-nicolas-qcon
Facebook keynote-nicolas-qcon
 
Facebook Messages & HBase
Facebook Messages & HBaseFacebook Messages & HBase
Facebook Messages & HBase
 
支撑Facebook消息处理的h base存储系统
支撑Facebook消息处理的h base存储系统支撑Facebook消息处理的h base存储系统
支撑Facebook消息处理的h base存储系统
 
HBase New Features
HBase New FeaturesHBase New Features
HBase New Features
 
Large-scale Web Apps @ Pinterest
Large-scale Web Apps @ PinterestLarge-scale Web Apps @ Pinterest
Large-scale Web Apps @ Pinterest
 
Apache HBase 1.0 Release
Apache HBase 1.0 ReleaseApache HBase 1.0 Release
Apache HBase 1.0 Release
 
HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...
HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...
HBaseCon 2012 | HBase Coprocessors – Deploy Shared Functionality Directly on ...
 
HBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project StatusHBaseConAsia2018 Keynote1: Apache HBase Project Status
HBaseConAsia2018 Keynote1: Apache HBase Project Status
 
Hbase 20141003
Hbase 20141003Hbase 20141003
Hbase 20141003
 
Hortonworks HBase Meetup Presentation
Hortonworks HBase Meetup PresentationHortonworks HBase Meetup Presentation
Hortonworks HBase Meetup Presentation
 
Hypertable Distilled by edydkim.github.com
Hypertable Distilled by edydkim.github.comHypertable Distilled by edydkim.github.com
Hypertable Distilled by edydkim.github.com
 
Hw09 Practical HBase Getting The Most From Your H Base Install
Hw09   Practical HBase  Getting The Most From Your H Base InstallHw09   Practical HBase  Getting The Most From Your H Base Install
Hw09 Practical HBase Getting The Most From Your H Base Install
 
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...
 

Recently uploaded

Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 

Recently uploaded (20)

Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 

Meet HBase 2.0

  • 1. Meet (upcoming) HBase- 2.0 Enis Soztutar Expected EOY 2017
  • 2. About Me Enis Söztutar HBase PMC since 2012 Release Manager for 1.0 @enissoz Hbase dev @Hortonworks
  • 3. Outline Recent releases Versioning / Compatibility Changes in behavior Major Features in HBase-2.0 Phoenix-5.0
  • 4. Outline Recent releases Versioning / Compatibility Changes in behavior Major Features in HBase-2.0 Phoenix-5.0
  • 5. GIANT DISCLAIMER!!! HBase-2.0.0 is NOT released yet (as of March 2017) Community is working hard on this release Expected to arrive before end of year 2017 Keep an eye out for scheduled alpha and beta releases
  • 6. 2017 H1 (repo and releases) (master) 3.0.0-SNAPSHOT (branch-1) 1.4.0-SNAPSHOT (branch-1.3) 1.3.0 1.2.51.2.0 (branch-1.2) 1.1.0 1.1.9 1.0.0 1.0.3 (branch-1.1) (branch-1.0 – EOL’ed) … … (branch-2) 2.0.0-SNAPSHOT 2.0.0-beta1 (expected) 2.0.0-alpha1 (expected) 2.0.0 (expected) …
  • 7. How to choose a release (H1 2017) • If you are on 0.98.x or earlier, time to upgrade! • 1.0 is EOL’ed. Use 1.1.x at least • Both 1.1 and 1.2 are pretty stable • Starting from scratch, use 1.2 or 1.3 • Moving between minor versions is easy for 1.x • Start testing out 2.0 with alpha and beta releases
  • 8. Outline Recent releases Versioning / Compatibility Changes in behavior Major Features in HBase-2.0 Phoenix-5.0
  • 9. Semantic Versioning Starting with the 1.0 release, HBase works toward Semantic Versioning MAJOR.MINOR.PATCH[-identifiers] PATCH: only BC bug fixes. MINOR: BC new features MAJOR: Incompatible changes
  • 10. To be, or not to be (Compatible)
  • 11. To be, or not to be (Compatible) • Compatibility is NOT a simple yes or no • Many dimensions • source, binary, wire, command line, dependencies etc • Read https://hbase.apache.org/book.html#upgrading • What is client interface?
  • 12. HBase API surface Client API Explicitly marked with InterfaceAudience.Public Get/Put/Table/Connection, etc LimitedPrivate API Explicitly marked with InterfaceAudience.LimitedPrivate Coprocessors, replication APIs Private API Explicitly marked with InterfaceAudience.Private All other classes not marked Also InterfaceAudience.{Stable,Evolving,Unstable}
  • 13. Major Minor Patch Client-Server Wire Compatibility ✗ ✓ ✓ Server-Server Compatibility ✗ ✓ ✓ File Format Compatibility ✗* ✓ ✓ Client API Compatibility ✗ ✓ ✓ Client Binary Compatibility ✗ ✗ ✓ Server Side Limited API Compatibility ✗ ✗*/✓* ✓ Dependency Compatibility ✗ ✓ ✓ Operation Compatibility ✗ ✗ ✓
  • 14. Outline Recent releases Versioning / Compatibility Changes in behavior Major Features in HBase-2.0 Phoenix-5.0
  • 15. Changes in behavior – HBase-2.0 • JDK-8+ only • Likely Hadoop-2.7+ and Hadoop-3 support • Filter and Coprocessor changes • Managed connections are gone. • Target is “Rolling upgradable” from 1.x • Updated dependencies • Deprecated client interfaces are gone
  • 16. Client API Overview HBase 0.98 Name(s) HBase 1.x + 2.x name(s) HConnectionManager, ConnectionManager ConnectionFactory HConnection, ClusterConnection Connection HBaseAdmin Admin HTable Table RegionLocator BufferedMutator
  • 17. How to prepare for HBase-2.0 • 2.0 contains more API clean up • Cleanup PB and guava “leaks” into the API • Some deprecated APIs (HConnection, HTable, HBaseAdmin, etc) going away • Start using JDK-8 (and G1). You will like it. • 1.x client should be able to do read / write / scan against 2.0 clusters • Some DDL / Admin operations may not work
  • 18. Outline Recent releases Versioning / Compatibility Changes in behavior Major Features in HBase-2.0 Phoenix-5.0
  • 19. Offheaping Read Path • Goals • Make use of all available RAM • Reduce temporary garbage for reading • Make bucket cache as fast as LRU cache • HBase block cache can be configured as L1 / L2 • “Bucket cache” can be backed by onheap, off-heap or SSD • Different sized buckets in 4MB slices • HFile blocks placed in different buckets • Cell comparison only used to deal with byte[] • Copy the whole block to heap
  • 22. Offheaping Read Path Offheap Read-Path in Production - The Alibaba story (https://blogs.apache.org/hbase/)
  • 23. Offheaping Write Path • Reduce GC, improve throughput predictability • Use off-heap buffer pools to read RPC requests • Remove garbage created in Codec parsing, MSLAB copying, etc • MSLAB is used for heap fragmentation • Now MSLAB can allocate offheap pooled buffers [2MB]
  • 24. Offheaping Write Path • Allows bigger total memstore space • Cell data goes off-heap • Cell metadata (and CSLM#Entry, etc) is on- heap (~100 byte overhead) • Async WAL is used to avoid copying Cells into heap • Works with new “Compacting Memstore”
  • 26. Compacting Memstore In memory flushes • Reduce index overhead per cell • Gains proportional to cell size In memory compaction • Eliminate duplicates • Gains are proportional to duplicates Reduce flushes to disk • Reduce file creation • Reduce write amplification
  • 29. Region Assignment • Region assignment is one of the pain points • Complete overhaul of region assignment • Based on the internal “Procedure V2” framework • Series of operations are broken down into states in State Machine • State’s are serialized to durable storage • Uses a WAL on HDFS • Backup master can recover the state from where left off
  • 30. Async Client • A complete new client maintained in HBase • Different than OpenTSDB/asynchbase • Fully async end to end • Based on Netty and JDK-8 CompletableFutures • Includes most critical functionality including Admin / DDL • Some advanced functionality (read replicas, etc) are not done yet • Have both sync and async client.
  • 32. C++ Client • -std=c++14 • Synchronous client built fully on async client • Uses folly and wangle from FB (like Netty, JDK-8 Futures) • Follow the same architecture as the async client • Gets / Puts / Multi-Gets are working. Scan next
  • 34. Backup / Restore Need a reliable native Backup mechanism
  • 35. Backup / Restore • Full backups and Incremental backups • Backup destination to a remote FS • HDFS, S3, ADLS, WASB, and any Hadoop- compatible FS • Full backup based on “snapshots” • Incremental backup ships Write-Ahead-Logs • Backup + Replication are complimentary (for a full DR solution)
  • 36. Backup / Restore Flexible restore options
  • 37. FileSystem Quotas • HBase supports quotas • Request count or size per sec,min,hour,day (per server) • Num tables / num regions in namespace • New work enables quotas for disk space usage • Master periodically gathers info about disk space usage • Regionservers enforce limit when notified from master • Limits per table or per namespace (not per user) • Violation policy: {DISABLE, NO_WRITES_COMPACTIONS, NO_WRITES, NO_INSERTS}
  • 38. FileSystem Quotas • Much more complex when snapshots are in the picture (similar to quotas with hard links in FS) • Snapshot usage is counted against the originating table • A File is only counted once (even original table, or snapshot or restored table refers to it) • More info: HBASE-16961 hbase> set_quota TYPE => SIZE, VIOLATION_POLICY =>DELETES_WITH_COMPACTIONS, NAMESPACE => ‘prod_website’, LIMIT => ‘7125GB’
  • 39. Will be released for the first time • These will be released for the first time in Apache (although other backports exist) • Medium Object Support • Region Server groups • Favored Nodes enhancements • HBase-Spark module • WAL’s and data files in separate FileSystems
  • 40. Misc NettyRpcClient NettyRpcServer API Cleanup Replication V2 New metrics API Metrics API for Coprocessors Tons of other improvements
  • 41. Outline Recent releases Versioning / Compatibility Changes in behavior Major Features in HBase-2.0 Phoenix-5.0
  • 42. Apache Phoenix-5.0 • Expect similar timeframe for Phoenix-5.0 • We are working for HBase-2.0 support • Re-write internals using Apache Calcite • SQL-parser, planner and optimizer • Cost based Optimizer used by Hive, Drill, etc • Pluggable rules with default rules, and Phoenix specific ones • SQL-92 support
  • 43. Questions Thanks for listening *. *Here is a picture of a cat for your suffering!

Editor's Notes

  1. HConnectionManager is the most important HBase class that users don’t actively use. It’s used under the covers to create Connections. Most times users will create a new HTable or HBaseAdmin which will in turn call HConnectionManager. HConnectionManager creates HConnections. It also has a deprecated option to use a pool of connections. ConnectionFatory replaces HConnectionManager. It’s very simple and only has static methods that are variations of createConnection. HConnection has a lot of overlap with Admin. It also had a handful of region related methods. It needed streamlining. Connection is relatively straightforward. HConnection still has deprecated Admin methods, but Connection does not. All Admin methods are in Admin. all of Region functionality moved to RegionLocator. HBaseAdmin is pretty consistent with Admin. HTable is huge. It needed to be broken up. Table - it has most of the methods of HTable. get, put, delete, increment and etc. Region functionality moved to RegionLocator. Notably, autoflush functionality has been moved to BufferedMutator RegionLocator - lightweight management of start/end keys and region locations BufferedMutator - replacement for the autoflush false. Adds in capability to buffer more than Puts… It allows all mutations. Deceptively simple. NOTE: The name of a table was represented through 3 different types: TableName, String and byte[]. The Connection and Admin only use TableName to avoid confusion.