HBase at Bloomberg: High Availability Needs for the Financial Industry

HBaseCon
HBASEATBLOOMBERG//
HBASE AT
BLOOMBERGHIGH AVAILABILITY NEEDS FOR THE FINANCIAL INDUSTRY
MAY // 05 // 2014
HBASEATBLOOMBERG//
BLOOMBERG
LEADING DATA AND ANALYTICS PROVIDER TO THE FINANCIAL INDUSTRY
2
HBASEATBLOOMBERG//
BLOOMBERG DATA – DIVERSITY
3
HBASEATBLOOMBERG//
DATA MANAGEMENT AT BLOOMBERG
• Data is our business
• Bloomberg doesn’t have a “big data” problem. It has a “medium data” problem…
• Speed and availability are paramount
• Hundreds of thousands of users with expensive requests
Among the systems we’ve built (we had to!)
• A relational database based on Berkeley DB and SQLite
• A shared-memory based key-value store
• In-memory data cubes for real time security universe screening
We are consolidating many of our systems around open platforms.
4
HBASEATBLOOMBERG//
TIME SERIES
• The Pricehistory service serves up all end of day time series data at Bloomberg
• Single security requests drive most charting functionality
• Multi security requests drive applications such as Portfolio Analytics
• > 5 billion requests a day serving terabytes of data
• 100K queries per second average and 500k per second at peak
5
SECURITY FIELD DATE VALUE
IBM VOLUME 20140321 12,535,281
VOLUME 20140320 5,062,629
VOLUME 20140319 4,323,930
GOOG CLOSE PX 20140321 1,183.04
CLOSE PX 20140320 1,197.16
HBASEATBLOOMBERG//
TIME SERIES AND HBASE
• Time series data fetches are embarrassingly parallel
• Simplistic data types and models mean we do not require rich type
support or query capabilities
• No need for joins, lookups only by [security, field, date]
• Data sets are large enough to require manual sharding…
administrative overhead
• Require a commodity framework to consolidate various disparate
systems built over time and bring about simplicity
• Frameworks bring benefit of additional analytical tools
HBase is an excellent fit for this problem domain
6
HBASEATBLOOMBERG//
OUR REQUIREMENTS FOR HBASE
• Read performance – fast with low variance
• High availability
• Operational simplicity
• Efficient use of our hardware
[16 cores, 100+ GB RAM, SSD storage]
• Bloomberg has been investing in all these aspects of HBase
• In the rest of this talk, we’ll focus on High Availability
>>>>>>>>>>>>>>
HIGH AVAILABILITY
HBASEATBLOOMBERG//
DISASTER RECOVERY – THE MODEL AT
BLOOMBERG
Like any other good engineering organization, we take service uptime very
seriously…
• Applications in multiple data centers share the workload
• Clusters must have excess capacity to absorb load from loss of a peer
data center...
• and still have excess capacity to account for failures & upgrades
• Latency penalty for failover to a different data center
• Read vs. Write Availability
9
HBASEATBLOOMBERG//
MTTR IN HBASE – THE MANY STAGES TO
RECOVERY
• Failure detection by Zookeeper
• Region re-assignment by Master
• Log split and HFile creation
10
HBASEATBLOOMBERG//
MTTR – A BRIEF HISTORY*
• Distributed log split [HBASE-1364]
• Routing around datanode failures via the hdfs stale state [HDFS-3912,
HDFS-4350]
• Assignment manager enhancements [HBASE-7247]
• Multicast notifications to clients with list of failed Region Servers
• Distributed log replay [HBASE-7006]
…
All this phenomenal work means HBase MTTR is now in
the order of 10s of seconds
11
HBASEATBLOOMBERG//
MTTR IN HBASE – GAPS AND
OPPORTUNITIES
• … but 1 min of downtime still high for certain classes of applications
• Even if recovery time is optimized down to zero, still have to wait to
detect failure before we do something
• Lowering ZK session time out introduces false positives
• What if threshold for read unavailability was 1 sec or lower?
• Reads must be serviceable while recovery is still in progress.
12
HBASEATBLOOMBERG//
SOLUTION LANDSCAPE
• The requirement is to be able to read data from elsewhere after a pre-
configured timeout
• Where could that be?
• Another cluster in another DC?
• Another cluster in the same DC?
• Two tables – primary and a shadow kept in the same HBase instance?
• HOYA? Multiple HBase instances on the same physical YARN cluster?
13
HBASEATBLOOMBERG//
SOLUTION LANDSCAPE
All these solutions work by having more than one copy of
the data and being able to quickly access it.
…
But why keep more than one copy of data at the HBase
level when there is already more than one copy at the
HDFS level?
14
HBASEATBLOOMBERG//
WARM STANDBYS – ARCHITECTURE
15
HBASEATBLOOMBERG//
WARM STANDBYS
• Idea is to have more than one Region Server be responsible
for serving data for a region
• All Region Servers are primary for some regions and standby
for others
• The standby is read-only and rejects any writes accidentally
sent to it
• How do standbys serve up data? Remember, there are 3
copies of the HFiles in HDFS
• Even with 1 node down, the standbys should be able serve up
data from a different datanode
16
HBASEATBLOOMBERG//
WARM STANDBYS – THE OPTIONS
• The standbys can fetch data from HFiles
• How about writes only in the memstore?
• Depending on the flush size/interval, the standbys could
be quite behind
• Should we flush more often?*
• Are updates in the memstore also kept somewhere?
Yes, In the WAL (which is on HDFS)
17
HBASEATBLOOMBERG//
WARM STANDBYS – THE WAL
• Reading the WAL will help standbys keep up with the
primary
• Option #1: the standby can “tail” the WAL
• Option #2: the primary sends the WAL-edits to the
standby using mechanisms similar to what is done for
async replication
18
HBASEATBLOOMBERG//
WHY NOT EVENTUAL CONSISTENCY?
• Standbys are behind the primary in updates
• If an application can tolerate this, why not use an eventually consistent store?
• In our design, each record is mastered at a single server that decides the order
of updates
• All standbys process updates in the same order
• Reads at a given replica ALWAYS move forward in time
• Enter… Timeline Consistency
• Consider two operations (from the PNUTS paper):
• Remove mother from access list to shared picture album
• Upload spring break pictures
19
HBASEATBLOOMBERG//
HBASE-10070
Targets applications that care about write ordering, but can tolerate brief periods of
read inconsistency
Confident this will not take HBase too far from its roots
All of this isn’t theoretical…
work actively underway in HBASE-10070
Shout out to Devaraj Das, Enis Soztutar and the entire HBase team for being great
partners in this effort
20
HBASEATBLOOMBERG//
WARM STANDBYS – EXTENSIONS
• Combine warm standbys with favored nodes allowing
standbys to run on secondary and tertiary datanodes
• On RS failure, standby running on a favored node is promoted
to primary, rather than being chosen randomly
• This benefits post-recovery read performance
• Could also be combined with wal per region, making it easier
to do region re-assignments without co-location constraints
• WAL per region makes MTTR faster - obviates need for a log
split (or, makes log replay faster)
21
>>>>>>>>>>>>>>
AND WITH AN EYE
TO THE FUTURE…
HBASEATBLOOMBERG//
HBASE – CHALLENGE THROW DOWN
• Performance
• Lowering average read latency AND latency variation critical for
HBase to be the leader in the low-latency NoSQL space.
• And GC appears to be the single largest blocker to that.
• Multi-tenancy
• HBase doesn’t have a good story for multi-tenancy yet.
• A single HBase instance ought to be able to support multiple
workloads with proper resource isolation.
• Why? Consolidate disparate applications that work on the same
datasets and still achieve some degree of QoS for each individual
app.
23
HBASEATBLOOMBERG//
QUESTIONS?
http://www.openbloomberg.com/
https://github.com/bloomberg
1 of 24

Recommended

Data Highway Rainbow - Petabyte Scale Event Collection, Transport & Delivery ... by
Data Highway Rainbow - Petabyte Scale Event Collection, Transport & Delivery ...Data Highway Rainbow - Petabyte Scale Event Collection, Transport & Delivery ...
Data Highway Rainbow - Petabyte Scale Event Collection, Transport & Delivery ...DataWorks Summit
1.1K views58 slides
HBase Application Performance Improvement by
HBase Application Performance ImprovementHBase Application Performance Improvement
HBase Application Performance ImprovementBiju Nair
23.5K views25 slides
A Guide to Data Versioning with MapR Snapshots by
A Guide to Data Versioning with MapR SnapshotsA Guide to Data Versioning with MapR Snapshots
A Guide to Data Versioning with MapR SnapshotsIan Downard
539 views22 slides
Developing Scylla Applications: Practical Tips by
Developing Scylla Applications: Practical TipsDeveloping Scylla Applications: Practical Tips
Developing Scylla Applications: Practical TipsScyllaDB
704 views32 slides
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers by
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersHBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersCloudera, Inc.
15.6K views39 slides
HBaseCon 2012 | Lessons learned from OpenTSDB - Benoit Sigoure, StumbleUpon by
HBaseCon 2012 | Lessons learned from OpenTSDB - Benoit Sigoure, StumbleUponHBaseCon 2012 | Lessons learned from OpenTSDB - Benoit Sigoure, StumbleUpon
HBaseCon 2012 | Lessons learned from OpenTSDB - Benoit Sigoure, StumbleUponCloudera, Inc.
13.1K views25 slides

More Related Content

What's hot

HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase by
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBaseHBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBaseHBaseCon
14.6K views39 slides
Stability Patterns for Microservices by
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservicespflueras
1.9K views18 slides
Scylla Summit 2022: Scylla 5.0 New Features, Part 2 by
Scylla Summit 2022: Scylla 5.0 New Features, Part 2Scylla Summit 2022: Scylla 5.0 New Features, Part 2
Scylla Summit 2022: Scylla 5.0 New Features, Part 2ScyllaDB
555 views45 slides
MyRocks Deep Dive by
MyRocks Deep DiveMyRocks Deep Dive
MyRocks Deep DiveYoshinori Matsunobu
24.5K views152 slides
Introduction to Redis by
Introduction to RedisIntroduction to Redis
Introduction to RedisDvir Volk
121K views24 slides
RocksDB Performance and Reliability Practices by
RocksDB Performance and Reliability PracticesRocksDB Performance and Reliability Practices
RocksDB Performance and Reliability PracticesYoshinori Matsunobu
687 views32 slides

What's hot(20)

HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase by HBaseCon
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBaseHBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon14.6K views
Stability Patterns for Microservices by pflueras
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
pflueras1.9K views
Scylla Summit 2022: Scylla 5.0 New Features, Part 2 by ScyllaDB
Scylla Summit 2022: Scylla 5.0 New Features, Part 2Scylla Summit 2022: Scylla 5.0 New Features, Part 2
Scylla Summit 2022: Scylla 5.0 New Features, Part 2
ScyllaDB555 views
Introduction to Redis by Dvir Volk
Introduction to RedisIntroduction to Redis
Introduction to Redis
Dvir Volk121K views
Scylla Summit 2022: Scylla 5.0 New Features, Part 1 by ScyllaDB
Scylla Summit 2022: Scylla 5.0 New Features, Part 1Scylla Summit 2022: Scylla 5.0 New Features, Part 1
Scylla Summit 2022: Scylla 5.0 New Features, Part 1
ScyllaDB845 views
From cache to in-memory data grid. Introduction to Hazelcast. by Taras Matyashovsky
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky42.6K views
Cassandra Introduction & Features by DataStax Academy
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
DataStax Academy31.9K views
Ceph Tech Talk -- Ceph Benchmarking Tool by Ceph Community
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Community 886 views
Hadoop World 2011: Advanced HBase Schema Design - Lars George, Cloudera by Cloudera, Inc.
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
Cloudera, Inc.8.8K views
[Outdated] Secrets of Performance Tuning Java on Kubernetes by Bruno Borges
[Outdated] Secrets of Performance Tuning Java on Kubernetes[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes
Bruno Borges1.6K views
Scylla Summit 2022: Making Schema Changes Safe with Raft by ScyllaDB
Scylla Summit 2022: Making Schema Changes Safe with RaftScylla Summit 2022: Making Schema Changes Safe with Raft
Scylla Summit 2022: Making Schema Changes Safe with Raft
ScyllaDB958 views
Millions of Regions in HBase: Size Matters by DataWorks Summit
Millions of Regions in HBase: Size MattersMillions of Regions in HBase: Size Matters
Millions of Regions in HBase: Size Matters
DataWorks Summit2.5K views
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami... by Databricks
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Databricks1.8K views
Square Engineering's "Fail Fast, Retry Soon" Performance Optimization Technique by ScyllaDB
Square Engineering's "Fail Fast, Retry Soon" Performance Optimization TechniqueSquare Engineering's "Fail Fast, Retry Soon" Performance Optimization Technique
Square Engineering's "Fail Fast, Retry Soon" Performance Optimization Technique
ScyllaDB1.1K views

Viewers also liked

Large-scale Web Apps @ Pinterest by
Large-scale Web Apps @ PinterestLarge-scale Web Apps @ Pinterest
Large-scale Web Apps @ PinterestHBaseCon
4.1K views26 slides
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg by
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon
2.8K views23 slides
HBaseCon 2015: Blackbird Collections - In-situ Stream Processing in HBase by
HBaseCon 2015: Blackbird Collections - In-situ  Stream Processing in HBaseHBaseCon 2015: Blackbird Collections - In-situ  Stream Processing in HBase
HBaseCon 2015: Blackbird Collections - In-situ Stream Processing in HBaseHBaseCon
3.2K views30 slides
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving by
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web ArchivingHBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web ArchivingHBaseCon
2.6K views54 slides
Real-time HBase: Lessons from the Cloud by
Real-time HBase: Lessons from the CloudReal-time HBase: Lessons from the Cloud
Real-time HBase: Lessons from the CloudHBaseCon
4.5K views35 slides
HBaseCon 2015: HBase Operations in a Flurry by
HBaseCon 2015: HBase Operations in a FlurryHBaseCon 2015: HBase Operations in a Flurry
HBaseCon 2015: HBase Operations in a FlurryHBaseCon
4.1K views22 slides

Viewers also liked(20)

Large-scale Web Apps @ Pinterest by HBaseCon
Large-scale Web Apps @ PinterestLarge-scale Web Apps @ Pinterest
Large-scale Web Apps @ Pinterest
HBaseCon4.1K views
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg by HBaseCon
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon2.8K views
HBaseCon 2015: Blackbird Collections - In-situ Stream Processing in HBase by HBaseCon
HBaseCon 2015: Blackbird Collections - In-situ  Stream Processing in HBaseHBaseCon 2015: Blackbird Collections - In-situ  Stream Processing in HBase
HBaseCon 2015: Blackbird Collections - In-situ Stream Processing in HBase
HBaseCon3.2K views
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving by HBaseCon
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web ArchivingHBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving
HBaseCon2.6K views
Real-time HBase: Lessons from the Cloud by HBaseCon
Real-time HBase: Lessons from the CloudReal-time HBase: Lessons from the Cloud
Real-time HBase: Lessons from the Cloud
HBaseCon4.5K views
HBaseCon 2015: HBase Operations in a Flurry by HBaseCon
HBaseCon 2015: HBase Operations in a FlurryHBaseCon 2015: HBase Operations in a Flurry
HBaseCon 2015: HBase Operations in a Flurry
HBaseCon4.1K views
HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S... by Cloudera, Inc.
HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...
HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...
Cloudera, Inc.4.7K views
A Graph Service for Global Web Entities Traversal and Reputation Evaluation B... by HBaseCon
A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...
A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...
HBaseCon4.1K views
Rolling Out Apache HBase for Mobile Offerings at Visa by HBaseCon
Rolling Out Apache HBase for Mobile Offerings at Visa Rolling Out Apache HBase for Mobile Offerings at Visa
Rolling Out Apache HBase for Mobile Offerings at Visa
HBaseCon2.6K views
HBaseCon 2015: Solving HBase Performance Problems with Apache HTrace by HBaseCon
HBaseCon 2015: Solving HBase Performance Problems with Apache HTraceHBaseCon 2015: Solving HBase Performance Problems with Apache HTrace
HBaseCon 2015: Solving HBase Performance Problems with Apache HTrace
HBaseCon4.5K views
Update on OpenTSDB and AsyncHBase by HBaseCon
Update on OpenTSDB and AsyncHBase Update on OpenTSDB and AsyncHBase
Update on OpenTSDB and AsyncHBase
HBaseCon2.6K views
HBaseCon 2013: Real-Time Model Scoring in Recommender Systems by Cloudera, Inc.
HBaseCon 2013: Real-Time Model Scoring in Recommender Systems HBaseCon 2013: Real-Time Model Scoring in Recommender Systems
HBaseCon 2013: Real-Time Model Scoring in Recommender Systems
Cloudera, Inc.6.1K views
Digital Library Collection Management using HBase by HBaseCon
Digital Library Collection Management using HBaseDigital Library Collection Management using HBase
Digital Library Collection Management using HBase
HBaseCon3.1K views
HBase Data Modeling and Access Patterns with Kite SDK by HBaseCon
HBase Data Modeling and Access Patterns with Kite SDKHBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDK
HBaseCon4.7K views
Content Identification using HBase by HBaseCon
Content Identification using HBaseContent Identification using HBase
Content Identification using HBase
HBaseCon3.8K views
HBaseCon 2015: Graph Processing of Stock Market Order Flow in HBase on AWS by HBaseCon
HBaseCon 2015: Graph Processing of Stock Market Order Flow in HBase on AWSHBaseCon 2015: Graph Processing of Stock Market Order Flow in HBase on AWS
HBaseCon 2015: Graph Processing of Stock Market Order Flow in HBase on AWS
HBaseCon4K views
Apache HBase in the Enterprise Data Hub at Cerner by HBaseCon
Apache HBase in the Enterprise Data Hub at CernerApache HBase in the Enterprise Data Hub at Cerner
Apache HBase in the Enterprise Data Hub at Cerner
HBaseCon2.1K views
HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster by Cloudera, Inc.
HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster
HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster
Cloudera, Inc.7.5K views
Apache HBase Improvements and Practices at Xiaomi by HBaseCon
Apache HBase Improvements and Practices at XiaomiApache HBase Improvements and Practices at Xiaomi
Apache HBase Improvements and Practices at Xiaomi
HBaseCon4.8K views
HBaseCon 2015: HBase @ CyberAgent by HBaseCon
HBaseCon 2015: HBase @ CyberAgentHBaseCon 2015: HBase @ CyberAgent
HBaseCon 2015: HBase @ CyberAgent
HBaseCon5.5K views

Similar to HBase at Bloomberg: High Availability Needs for the Financial Industry

Hbase 20141003 by
Hbase 20141003Hbase 20141003
Hbase 20141003Jean-Baptiste Poullet
256 views23 slides
Facebook keynote-nicolas-qcon by
Facebook keynote-nicolas-qconFacebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconYiwei Ma
640 views39 slides
支撑Facebook消息处理的h base存储系统 by
支撑Facebook消息处理的h base存储系统支撑Facebook消息处理的h base存储系统
支撑Facebook消息处理的h base存储系统yongboy
846 views39 slides
Facebook Messages & HBase by
Facebook Messages & HBaseFacebook Messages & HBase
Facebook Messages & HBase强 王
39.2K views39 slides
Hbase: an introduction by
Hbase: an introductionHbase: an introduction
Hbase: an introductionJean-Baptiste Poullet
782 views23 slides
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends by
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsBig Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsEsther Kundin
1.1K views40 slides

Similar to HBase at Bloomberg: High Availability Needs for the Financial Industry(20)

Facebook keynote-nicolas-qcon by Yiwei Ma
Facebook keynote-nicolas-qconFacebook keynote-nicolas-qcon
Facebook keynote-nicolas-qcon
Yiwei Ma640 views
支撑Facebook消息处理的h base存储系统 by yongboy
支撑Facebook消息处理的h base存储系统支撑Facebook消息处理的h base存储系统
支撑Facebook消息处理的h base存储系统
yongboy846 views
Facebook Messages & HBase by 强 王
Facebook Messages & HBaseFacebook Messages & HBase
Facebook Messages & HBase
强 王39.2K views
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends by Esther Kundin
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsBig Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Esther Kundin1.1K views
HBase Applications - Atlanta HUG - May 2014 by larsgeorge
HBase Applications - Atlanta HUG - May 2014HBase Applications - Atlanta HUG - May 2014
HBase Applications - Atlanta HUG - May 2014
larsgeorge1.6K views
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends by Esther Kundin
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsBig Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Esther Kundin564 views
Cloudera Operational DB (Apache HBase & Apache Phoenix) by Timothy Spann
Cloudera Operational DB (Apache HBase & Apache Phoenix)Cloudera Operational DB (Apache HBase & Apache Phoenix)
Cloudera Operational DB (Apache HBase & Apache Phoenix)
Timothy Spann1.4K views
HBaseConAsia2018 Track1-5: Improving HBase reliability at PInterest with geo ... by Michael Stack
HBaseConAsia2018 Track1-5: Improving HBase reliability at PInterest with geo ...HBaseConAsia2018 Track1-5: Improving HBase reliability at PInterest with geo ...
HBaseConAsia2018 Track1-5: Improving HBase reliability at PInterest with geo ...
Michael Stack1.5K views
Apache hadoop basics by saili mane
Apache hadoop basicsApache hadoop basics
Apache hadoop basics
saili mane1.1K views
Hdfs 2016-hadoop-summit-san-jose-v4 by Chris Nauroth
Hdfs 2016-hadoop-summit-san-jose-v4Hdfs 2016-hadoop-summit-san-jose-v4
Hdfs 2016-hadoop-summit-san-jose-v4
Chris Nauroth1.8K views
hbaseconasia2017: HBase Disaster Recovery Solution at Huawei by HBaseCon
hbaseconasia2017: HBase Disaster Recovery Solution at Huaweihbaseconasia2017: HBase Disaster Recovery Solution at Huawei
hbaseconasia2017: HBase Disaster Recovery Solution at Huawei
HBaseCon1.4K views

More from HBaseCon

hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes by
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kuberneteshbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
hbaseconasia2017: Building online HBase cluster of Zhihu based on KubernetesHBaseCon
3.9K views36 slides
hbaseconasia2017: HBase on Beam by
hbaseconasia2017: HBase on Beamhbaseconasia2017: HBase on Beam
hbaseconasia2017: HBase on BeamHBaseCon
1.3K views26 slides
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest by
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinteresthbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest
hbaseconasia2017: Removable singularity: a story of HBase upgrade in PinterestHBaseCon
936 views42 slides
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程 by
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程HBaseCon
1.1K views21 slides
hbaseconasia2017: Apache HBase at Netease by
hbaseconasia2017: Apache HBase at Neteasehbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at NeteaseHBaseCon
754 views27 slides
hbaseconasia2017: HBase在Hulu的使用和实践 by
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践HBaseCon
878 views31 slides

More from HBaseCon(20)

hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes by HBaseCon
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kuberneteshbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
HBaseCon3.9K views
hbaseconasia2017: HBase on Beam by HBaseCon
hbaseconasia2017: HBase on Beamhbaseconasia2017: HBase on Beam
hbaseconasia2017: HBase on Beam
HBaseCon1.3K views
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest by HBaseCon
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinteresthbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest
HBaseCon936 views
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程 by HBaseCon
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
HBaseCon1.1K views
hbaseconasia2017: Apache HBase at Netease by HBaseCon
hbaseconasia2017: Apache HBase at Neteasehbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Netease
HBaseCon754 views
hbaseconasia2017: HBase在Hulu的使用和实践 by HBaseCon
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践
HBaseCon878 views
hbaseconasia2017: 基于HBase的企业级大数据平台 by HBaseCon
hbaseconasia2017: 基于HBase的企业级大数据平台hbaseconasia2017: 基于HBase的企业级大数据平台
hbaseconasia2017: 基于HBase的企业级大数据平台
HBaseCon701 views
hbaseconasia2017: HBase at JD.com by HBaseCon
hbaseconasia2017: HBase at JD.comhbaseconasia2017: HBase at JD.com
hbaseconasia2017: HBase at JD.com
HBaseCon828 views
hbaseconasia2017: Large scale data near-line loading method and architecture by HBaseCon
hbaseconasia2017: Large scale data near-line loading method and architecturehbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecture
HBaseCon598 views
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei by HBaseCon
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huaweihbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
HBaseCon683 views
hbaseconasia2017: HBase Practice At XiaoMi by HBaseCon
hbaseconasia2017: HBase Practice At XiaoMihbaseconasia2017: HBase Practice At XiaoMi
hbaseconasia2017: HBase Practice At XiaoMi
HBaseCon1.8K views
hbaseconasia2017: hbase-2.0.0 by HBaseCon
hbaseconasia2017: hbase-2.0.0hbaseconasia2017: hbase-2.0.0
hbaseconasia2017: hbase-2.0.0
HBaseCon1.8K views
HBaseCon2017 Democratizing HBase by HBaseCon
HBaseCon2017 Democratizing HBaseHBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBase
HBaseCon897 views
HBaseCon2017 Removable singularity: a story of HBase upgrade in Pinterest by HBaseCon
HBaseCon2017 Removable singularity: a story of HBase upgrade in PinterestHBaseCon2017 Removable singularity: a story of HBase upgrade in Pinterest
HBaseCon2017 Removable singularity: a story of HBase upgrade in Pinterest
HBaseCon646 views
HBaseCon2017 Quanta: Quora's hierarchical counting system on HBase by HBaseCon
HBaseCon2017 Quanta: Quora's hierarchical counting system on HBaseHBaseCon2017 Quanta: Quora's hierarchical counting system on HBase
HBaseCon2017 Quanta: Quora's hierarchical counting system on HBase
HBaseCon608 views
HBaseCon2017 Transactions in HBase by HBaseCon
HBaseCon2017 Transactions in HBaseHBaseCon2017 Transactions in HBase
HBaseCon2017 Transactions in HBase
HBaseCon1.8K views
HBaseCon2017 Highly-Available HBase by HBaseCon
HBaseCon2017 Highly-Available HBaseHBaseCon2017 Highly-Available HBase
HBaseCon2017 Highly-Available HBase
HBaseCon1.1K views
HBaseCon2017 Apache HBase at Didi by HBaseCon
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
HBaseCon996 views
HBaseCon2017 gohbase: Pure Go HBase Client by HBaseCon
HBaseCon2017 gohbase: Pure Go HBase ClientHBaseCon2017 gohbase: Pure Go HBase Client
HBaseCon2017 gohbase: Pure Go HBase Client
HBaseCon1.7K views
HBaseCon2017 Improving HBase availability in a multi tenant environment by HBaseCon
HBaseCon2017 Improving HBase availability in a multi tenant environmentHBaseCon2017 Improving HBase availability in a multi tenant environment
HBaseCon2017 Improving HBase availability in a multi tenant environment
HBaseCon1.2K views

Recently uploaded

Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Flexsin
15 views10 slides
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...HCLSoftware
6 views2 slides
HarshithAkkapelli_Presentation.pdf by
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 views16 slides
Keep by
KeepKeep
KeepGeniusee
73 views10 slides
Software evolution understanding: Automatic extraction of software identifier... by
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
7 views33 slides
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...Deltares
9 views24 slides

Recently uploaded(20)

Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j38 views
Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
MariaDB stored procedures and why they should be improved by Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
Cycleops - Automate deployments on top of bare metal.pptx by Thanassis Parathyras
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm13 views
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker by Deltares
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - ParkerDSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
Deltares9 views
Software testing company in India.pptx by SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
Roadmap y Novedades de producto by Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j50 views

HBase at Bloomberg: High Availability Needs for the Financial Industry

  • 1. HBASEATBLOOMBERG// HBASE AT BLOOMBERGHIGH AVAILABILITY NEEDS FOR THE FINANCIAL INDUSTRY MAY // 05 // 2014
  • 2. HBASEATBLOOMBERG// BLOOMBERG LEADING DATA AND ANALYTICS PROVIDER TO THE FINANCIAL INDUSTRY 2
  • 4. HBASEATBLOOMBERG// DATA MANAGEMENT AT BLOOMBERG • Data is our business • Bloomberg doesn’t have a “big data” problem. It has a “medium data” problem… • Speed and availability are paramount • Hundreds of thousands of users with expensive requests Among the systems we’ve built (we had to!) • A relational database based on Berkeley DB and SQLite • A shared-memory based key-value store • In-memory data cubes for real time security universe screening We are consolidating many of our systems around open platforms. 4
  • 5. HBASEATBLOOMBERG// TIME SERIES • The Pricehistory service serves up all end of day time series data at Bloomberg • Single security requests drive most charting functionality • Multi security requests drive applications such as Portfolio Analytics • > 5 billion requests a day serving terabytes of data • 100K queries per second average and 500k per second at peak 5 SECURITY FIELD DATE VALUE IBM VOLUME 20140321 12,535,281 VOLUME 20140320 5,062,629 VOLUME 20140319 4,323,930 GOOG CLOSE PX 20140321 1,183.04 CLOSE PX 20140320 1,197.16
  • 6. HBASEATBLOOMBERG// TIME SERIES AND HBASE • Time series data fetches are embarrassingly parallel • Simplistic data types and models mean we do not require rich type support or query capabilities • No need for joins, lookups only by [security, field, date] • Data sets are large enough to require manual sharding… administrative overhead • Require a commodity framework to consolidate various disparate systems built over time and bring about simplicity • Frameworks bring benefit of additional analytical tools HBase is an excellent fit for this problem domain 6
  • 7. HBASEATBLOOMBERG// OUR REQUIREMENTS FOR HBASE • Read performance – fast with low variance • High availability • Operational simplicity • Efficient use of our hardware [16 cores, 100+ GB RAM, SSD storage] • Bloomberg has been investing in all these aspects of HBase • In the rest of this talk, we’ll focus on High Availability
  • 9. HBASEATBLOOMBERG// DISASTER RECOVERY – THE MODEL AT BLOOMBERG Like any other good engineering organization, we take service uptime very seriously… • Applications in multiple data centers share the workload • Clusters must have excess capacity to absorb load from loss of a peer data center... • and still have excess capacity to account for failures & upgrades • Latency penalty for failover to a different data center • Read vs. Write Availability 9
  • 10. HBASEATBLOOMBERG// MTTR IN HBASE – THE MANY STAGES TO RECOVERY • Failure detection by Zookeeper • Region re-assignment by Master • Log split and HFile creation 10
  • 11. HBASEATBLOOMBERG// MTTR – A BRIEF HISTORY* • Distributed log split [HBASE-1364] • Routing around datanode failures via the hdfs stale state [HDFS-3912, HDFS-4350] • Assignment manager enhancements [HBASE-7247] • Multicast notifications to clients with list of failed Region Servers • Distributed log replay [HBASE-7006] … All this phenomenal work means HBase MTTR is now in the order of 10s of seconds 11
  • 12. HBASEATBLOOMBERG// MTTR IN HBASE – GAPS AND OPPORTUNITIES • … but 1 min of downtime still high for certain classes of applications • Even if recovery time is optimized down to zero, still have to wait to detect failure before we do something • Lowering ZK session time out introduces false positives • What if threshold for read unavailability was 1 sec or lower? • Reads must be serviceable while recovery is still in progress. 12
  • 13. HBASEATBLOOMBERG// SOLUTION LANDSCAPE • The requirement is to be able to read data from elsewhere after a pre- configured timeout • Where could that be? • Another cluster in another DC? • Another cluster in the same DC? • Two tables – primary and a shadow kept in the same HBase instance? • HOYA? Multiple HBase instances on the same physical YARN cluster? 13
  • 14. HBASEATBLOOMBERG// SOLUTION LANDSCAPE All these solutions work by having more than one copy of the data and being able to quickly access it. … But why keep more than one copy of data at the HBase level when there is already more than one copy at the HDFS level? 14
  • 16. HBASEATBLOOMBERG// WARM STANDBYS • Idea is to have more than one Region Server be responsible for serving data for a region • All Region Servers are primary for some regions and standby for others • The standby is read-only and rejects any writes accidentally sent to it • How do standbys serve up data? Remember, there are 3 copies of the HFiles in HDFS • Even with 1 node down, the standbys should be able serve up data from a different datanode 16
  • 17. HBASEATBLOOMBERG// WARM STANDBYS – THE OPTIONS • The standbys can fetch data from HFiles • How about writes only in the memstore? • Depending on the flush size/interval, the standbys could be quite behind • Should we flush more often?* • Are updates in the memstore also kept somewhere? Yes, In the WAL (which is on HDFS) 17
  • 18. HBASEATBLOOMBERG// WARM STANDBYS – THE WAL • Reading the WAL will help standbys keep up with the primary • Option #1: the standby can “tail” the WAL • Option #2: the primary sends the WAL-edits to the standby using mechanisms similar to what is done for async replication 18
  • 19. HBASEATBLOOMBERG// WHY NOT EVENTUAL CONSISTENCY? • Standbys are behind the primary in updates • If an application can tolerate this, why not use an eventually consistent store? • In our design, each record is mastered at a single server that decides the order of updates • All standbys process updates in the same order • Reads at a given replica ALWAYS move forward in time • Enter… Timeline Consistency • Consider two operations (from the PNUTS paper): • Remove mother from access list to shared picture album • Upload spring break pictures 19
  • 20. HBASEATBLOOMBERG// HBASE-10070 Targets applications that care about write ordering, but can tolerate brief periods of read inconsistency Confident this will not take HBase too far from its roots All of this isn’t theoretical… work actively underway in HBASE-10070 Shout out to Devaraj Das, Enis Soztutar and the entire HBase team for being great partners in this effort 20
  • 21. HBASEATBLOOMBERG// WARM STANDBYS – EXTENSIONS • Combine warm standbys with favored nodes allowing standbys to run on secondary and tertiary datanodes • On RS failure, standby running on a favored node is promoted to primary, rather than being chosen randomly • This benefits post-recovery read performance • Could also be combined with wal per region, making it easier to do region re-assignments without co-location constraints • WAL per region makes MTTR faster - obviates need for a log split (or, makes log replay faster) 21
  • 22. >>>>>>>>>>>>>> AND WITH AN EYE TO THE FUTURE…
  • 23. HBASEATBLOOMBERG// HBASE – CHALLENGE THROW DOWN • Performance • Lowering average read latency AND latency variation critical for HBase to be the leader in the low-latency NoSQL space. • And GC appears to be the single largest blocker to that. • Multi-tenancy • HBase doesn’t have a good story for multi-tenancy yet. • A single HBase instance ought to be able to support multiple workloads with proper resource isolation. • Why? Consolidate disparate applications that work on the same datasets and still achieve some degree of QoS for each individual app. 23