SlideShare a Scribd company logo
hbaseconasia2019 Recent work on HBase at Pinterest
Recent work on HBase at Pinterest
Lianghong Xu
Pinterest Software Engineer, Tech Lead
Introduction
HBase at Pinterest
• Backend for many critical services
• Graph database (Zen)
• Generic KV store (UMS)
• Around 50 HBase clusters
• HBase 0.94 since 2013, HBase 1.2 since 2016
• Internal repo with ZSTD, CCSMAP, Bucket cache, etc.
Agenda
• Omid: transaction layer for NoSQL database
• Sparrow: Omid made scalable
• Argus: database observer framework
• Ixia: near-realtime HBase indexing
Agenda
• Omid: transaction layer for NoSQL database
• Sparrow: Omid made scalable
• Argus: database observer framework
• Ixia: near-realtime HBase indexing
NoSQL Embracing Transactions
SQL NoSQL
Relational
Transactional
Expressive
Simple
Fast
Scalable
NoSQL Embracing Transactions
SQL NoSQL
Relational
Transactional
Expressive
Simple
Fast
Scalable
NoSQL Embracing Transactions
SQL NoSQL
Relational
Transactional
Expressive
Simple
Fast
Scalable
Apache Omid at Pinterest
• Omid (Optimistically transaction Management In Datastores)
• Transaction framework on top of KV stores with HBase support
• Open-sourced by Yahoo! in 2016
• Powers next generation of Ads indexing at Pinterest
Apache Omid at Pinterest
• Omid (Optimistically transaction Management In Datastores)
• Transaction framework on top of KV stores with HBase support
• Open-sourced by Yahoo! in 2016
• Powers next generation of Ads indexing at Pinterest
• Pros: simple, reasonable performance, HA, pluggable backend with native HBase support
• Cons: No SQL interface, limited isolation levels, requires MVCC support
Omid Architecture
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
persist
commit
Omid internals
• Leverages Multi-version Concurrency Control (MVCC) support in HBase
• Transaction ID (begin timestamp) in version, commit timestamp in shadow cell
• OCC: lock-free implementation with central conflict detection mechanism
Omid data and commit table
Agenda
• Omid: transaction layer for NoSQL database
• Sparrow: Omid made scalable
• Argus: database observer framework
• Ixia: near-realtime HBase indexing
Omid Architecture
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
persist
commit
Omid Scalability Problem
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
persist
commit
Centralized batch
commit to HBase
Omid Scalability Problem
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
persist
commit
Centralized batch
commit to HBase
Single-threaded request/reply
processor for serializability
Sparrow Architecture
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
Single-threaded request/reply
processor for serializability
Sparrow Architecture
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
Single-threaded request/reply
processor for serializability
persist
commit
Distributed client-side commit
Sparrow Architecture
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
persist
commit
Distributed client-side commit
Parallel request processing
Sparrow: Omid made scalable
Client Transaction
Manager (TM)
begin/commit
timestamp/commit status
Data tables
Commit
table
read/write
check
commit
persist
commit
Distributed client-side commit
Parallel conflict detection
persist
commit
Performance bottleneck
Sparrow techniques
• Client-side commit
• Client writes to commit table when there is no conflicts
• Explicitly mark aborted txn in commit table (-1)
• Reader may back off and abort concurrent writer in case of client failure or network partition
• Avoid performance bottleneck on TM
• Parallel request processing
• Multi-threaded request processor with in-memory conflict map
• beginTx no longer needs to wait until whole commit batch is written to HBase
• Timestamp allocation still needs to be synchronized (with negligible overhead)
Sparrow vs. Omid
beginTx P99: ~100X reduction
commitTx P99: ~3X reduction
Agenda
• Omid: transaction layer for NoSQL database
• Sparrow: Omid made scalable
• Argus: database observer framework
• Ixia: near-realtime HBase indexing
Argus: Motivation and Problem Statement
• Clients request a real-time notification feature similar to a database trigger
• Incremental processing based on database changes
• Notification cannot be missed - ”at least once”
• Notification events could have different priorities and object types
Kafka-based Notification Pipeline
Kafka-based Notification Pipeline
Percolator
(Google)
• Special notification column
• Observer threads periodically scan for changes
• Heavy-weight distributed scan and locking
Kafka-based Notification Pipeline
Percolator
(Google)
Argus
• Special notification column
• Observer threads periodically scan for changes
• Heavy-weight distributed scan and locking
• Async notification by tailing HBase WAL
• Kafka for replayable DB change stream
• Support different priorities and types
• Lightweight, minimal impact on DB
Argus Architecture
Client
Argus
Observer
HBase
Annotated requests
Replication
proxy
WAL
Notification events (Kafka)
read/write
• HBase annotation: extra metadata in HBase requests to be passed down into WAL
• Replication Proxy: ”fake” regionservers with only replication RPC implemented
Argus Observers
• Process notification events in parallel with user-defined handlers
• Event dispatching, filtering, collapse, etc.
• Notification Handlers can be chained
Argus Observers
• Process notification events in parallel with user-defined handlers
• Event dispatching, filtering, collapse, etc.
• Notification Handlers can be chained
Use case on Ads indexing:
Batch processing (15 mins) -> incremental indexing (several seconds)
Agenda
• Omid: transaction layer for NoSQL database
• Sparrow: Omid made scalable
• Argus: database observer framework
• Ixia: near-realtime HBase indexing
Ixia: Motivation
• Clients ask for secondary indexing support in HBase
• Analytics queries on HBase columns (filtering, range, aggregation)
• Why not SQL?
• Index build could take a long time
• Lack of horizontal scalability and tuning expertise
Ixia: Near-realtime Indexing with HBase + Muse (In-house Search Engine)
• Inspired by Lily indexer (HBase + Solr)
• Secondary indexes in Muse (written in C++, fast in-memory inverted/forward index)
• Source-of-truth data in HBase
• Index built asynchronously with HBase WAL through Kafka
• Ixia query engine: Thrift-based query service with a SQL-like interface
Ixia: Architecture
Client HBase
Replication
proxy
WAL
Indexer
Index events (Kafka)
write
Muse index docs
MuseQuery engine
query
search query
DB retrieval
Index
manager
Index
schema
Ixia: Pros and Cons
Pros Cons
Minimal impact on write path
Index and data stores scaled separately
Efficient indexing & retrieval
No strong index consistency
Ixia: status and future work
• Batch indexing in prod, reducing indexing time by ~15X
• Query engine serving full dark traffic, reducing query latency by up to 100X
• Future work:
• Realtime indexing into production
• SQL support
• Dynamic index backfilling
Thanks!

More Related Content

What's hot

Amazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian MeyersAmazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian Meyers
huguk
 
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
HBaseCon
 
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
Michael Stack
 
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Fwdays
 
HBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to ContributeHBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon
 
HBaseCon 2013: Near Real Time Indexing for eBay Search
HBaseCon 2013: Near Real Time Indexing for eBay SearchHBaseCon 2013: Near Real Time Indexing for eBay Search
HBaseCon 2013: Near Real Time Indexing for eBay Search
Cloudera, Inc.
 
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsightHBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon
 
HBaseConEast2016: Splice machine open source rdbms
HBaseConEast2016: Splice machine open source rdbmsHBaseConEast2016: Splice machine open source rdbms
HBaseConEast2016: Splice machine open source rdbms
Michael Stack
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
HBaseCon
 
Date-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series DataDate-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series Data
HBaseCon
 
Rails on HBase
Rails on HBaseRails on HBase
Rails on HBase
EffectiveUI
 
hbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Neteasehbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Netease
HBaseCon
 
Introduction to streaming and messaging flume,kafka,SQS,kinesis
Introduction to streaming and messaging  flume,kafka,SQS,kinesis Introduction to streaming and messaging  flume,kafka,SQS,kinesis
Introduction to streaming and messaging flume,kafka,SQS,kinesis
Omid Vahdaty
 
Chicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBaseChicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBase
Cloudera, Inc.
 
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Redis Labs
 
Thug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen ZhangThug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen Zhang
Chen Zhang
 
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
HBaseCon
 
RedisConf17 - Home Depot - Turbo charging existing applications with Redis
RedisConf17 - Home Depot - Turbo charging existing applications with RedisRedisConf17 - Home Depot - Turbo charging existing applications with Redis
RedisConf17 - Home Depot - Turbo charging existing applications with Redis
Redis Labs
 
How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case
Kai Sasaki
 

What's hot (20)

Amazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian MeyersAmazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian Meyers
 
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
 
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
 
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"
 
HBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to ContributeHBaseCon 2015: State of HBase Docs and How to Contribute
HBaseCon 2015: State of HBase Docs and How to Contribute
 
HBaseCon 2013: Near Real Time Indexing for eBay Search
HBaseCon 2013: Near Real Time Indexing for eBay SearchHBaseCon 2013: Near Real Time Indexing for eBay Search
HBaseCon 2013: Near Real Time Indexing for eBay Search
 
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsightHBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
HBaseCon 2015: Optimizing HBase for the Cloud in Microsoft Azure HDInsight
 
HBaseConEast2016: Splice machine open source rdbms
HBaseConEast2016: Splice machine open source rdbmsHBaseConEast2016: Splice machine open source rdbms
HBaseConEast2016: Splice machine open source rdbms
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
 
Date-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series DataDate-tiered Compaction Policy for Time-series Data
Date-tiered Compaction Policy for Time-series Data
 
Rails on HBase
Rails on HBaseRails on HBase
Rails on HBase
 
hbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Neteasehbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Netease
 
Introduction to streaming and messaging flume,kafka,SQS,kinesis
Introduction to streaming and messaging  flume,kafka,SQS,kinesis Introduction to streaming and messaging  flume,kafka,SQS,kinesis
Introduction to streaming and messaging flume,kafka,SQS,kinesis
 
Chicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBaseChicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBase
 
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
 
Thug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen ZhangThug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen Zhang
 
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
 
RedisConf17 - Home Depot - Turbo charging existing applications with Redis
RedisConf17 - Home Depot - Turbo charging existing applications with RedisRedisConf17 - Home Depot - Turbo charging existing applications with Redis
RedisConf17 - Home Depot - Turbo charging existing applications with Redis
 
How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case
 

Similar to hbaseconasia2019 Recent work on HBase at Pinterest

HBase and Hadoop at Urban Airship
HBase and Hadoop at Urban AirshipHBase and Hadoop at Urban Airship
HBase and Hadoop at Urban Airship
dave_revell
 
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
Amazon Web Services
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.
Mydbops
 
Large-scale projects development (scaling LAMP)
Large-scale projects development (scaling LAMP)Large-scale projects development (scaling LAMP)
Large-scale projects development (scaling LAMP)
Alexey Rybak
 
HBase ArcheTypes
HBase ArcheTypesHBase ArcheTypes
HBase ArcheTypes
Matteo Bertozzi
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
Amazon Web Services
 
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk ChoStateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Redis Labs
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
David Newman
 
Cloudera Impala: A Modern SQL Engine for Hadoop
Cloudera Impala: A Modern SQL Engine for HadoopCloudera Impala: A Modern SQL Engine for Hadoop
Cloudera Impala: A Modern SQL Engine for Hadoop
Cloudera, Inc.
 
Itera Dev Meetup - Function as a Service - Serverless architecture
Itera Dev Meetup - Function as a Service - Serverless architectureItera Dev Meetup - Function as a Service - Serverless architecture
Itera Dev Meetup - Function as a Service - Serverless architecture
Pavol Rajzák
 
HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...
HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...
HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...
Michael Stack
 
The Evolution of a Relational Database Layer over HBase
The Evolution of a Relational Database Layer over HBaseThe Evolution of a Relational Database Layer over HBase
The Evolution of a Relational Database Layer over HBase
DataWorks Summit
 
AWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOT
AWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOTAWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOT
AWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOT
Amazon Web Services
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
MariaDB plc
 
Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory Architecture
Aerospike, Inc.
 
Serverless without Code (Lambda)
Serverless without Code (Lambda)Serverless without Code (Lambda)
Serverless without Code (Lambda)
CloudHesive
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
july mon
 
Building Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak CoreBuilding Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak Core
Andy Gross
 
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdfimpalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
ssusere05ec21
 
Rails on HBase
Rails on HBaseRails on HBase
Rails on HBase
zpinter
 

Similar to hbaseconasia2019 Recent work on HBase at Pinterest (20)

HBase and Hadoop at Urban Airship
HBase and Hadoop at Urban AirshipHBase and Hadoop at Urban Airship
HBase and Hadoop at Urban Airship
 
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.
 
Large-scale projects development (scaling LAMP)
Large-scale projects development (scaling LAMP)Large-scale projects development (scaling LAMP)
Large-scale projects development (scaling LAMP)
 
HBase ArcheTypes
HBase ArcheTypesHBase ArcheTypes
HBase ArcheTypes
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
 
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk ChoStateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Cloudera Impala: A Modern SQL Engine for Hadoop
Cloudera Impala: A Modern SQL Engine for HadoopCloudera Impala: A Modern SQL Engine for Hadoop
Cloudera Impala: A Modern SQL Engine for Hadoop
 
Itera Dev Meetup - Function as a Service - Serverless architecture
Itera Dev Meetup - Function as a Service - Serverless architectureItera Dev Meetup - Function as a Service - Serverless architecture
Itera Dev Meetup - Function as a Service - Serverless architecture
 
HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...
HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...
HBaseConAsia2018 Track2-3: Bringing MySQL Compatibility to HBase using Databa...
 
The Evolution of a Relational Database Layer over HBase
The Evolution of a Relational Database Layer over HBaseThe Evolution of a Relational Database Layer over HBase
The Evolution of a Relational Database Layer over HBase
 
AWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOT
AWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOTAWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOT
AWS APAC Webinar Week - Big Data on AWS. RedShift, EMR, & IOT
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
 
Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory Architecture
 
Serverless without Code (Lambda)
Serverless without Code (Lambda)Serverless without Code (Lambda)
Serverless without Code (Lambda)
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Building Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak CoreBuilding Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak Core
 
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdfimpalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
 
Rails on HBase
Rails on HBaseRails on HBase
Rails on HBase
 

More from Michael Stack

hbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloud
hbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloudhbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloud
hbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloud
Michael Stack
 
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltdhbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
Michael Stack
 
hbaseconasia2019 HBase at Didi
hbaseconasia2019 HBase at Didihbaseconasia2019 HBase at Didi
hbaseconasia2019 HBase at Didi
Michael Stack
 
hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...
hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...
hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...
Michael Stack
 
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
Michael Stack
 
hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...
hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...
hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...
Michael Stack
 
hbaseconasia2019 Pharos as a Pluggable Secondary Index Component
hbaseconasia2019 Pharos as a Pluggable Secondary Index Componenthbaseconasia2019 Pharos as a Pluggable Secondary Index Component
hbaseconasia2019 Pharos as a Pluggable Secondary Index Component
Michael Stack
 
hbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibaba
hbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibabahbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibaba
hbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibaba
Michael Stack
 
hbaseconasia2019 OpenTSDB at Xiaomi
hbaseconasia2019 OpenTSDB at Xiaomihbaseconasia2019 OpenTSDB at Xiaomi
hbaseconasia2019 OpenTSDB at Xiaomi
Michael Stack
 
hbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Spark
hbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Sparkhbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Spark
hbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Spark
Michael Stack
 
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBasehbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
Michael Stack
 
hbaseconasia2019 Distributed Bitmap Index Solution
hbaseconasia2019 Distributed Bitmap Index Solutionhbaseconasia2019 Distributed Bitmap Index Solution
hbaseconasia2019 Distributed Bitmap Index Solution
Michael Stack
 
hbaseconasia2019 HBase Bucket Cache on Persistent Memory
hbaseconasia2019 HBase Bucket Cache on Persistent Memoryhbaseconasia2019 HBase Bucket Cache on Persistent Memory
hbaseconasia2019 HBase Bucket Cache on Persistent Memory
Michael Stack
 
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACLhbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
Michael Stack
 
hbaseconasia2019 BDS: A data synchronization platform for HBase
hbaseconasia2019 BDS: A data synchronization platform for HBasehbaseconasia2019 BDS: A data synchronization platform for HBase
hbaseconasia2019 BDS: A data synchronization platform for HBase
Michael Stack
 
hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...
hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...
hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...
Michael Stack
 
hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...
hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...
hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...
Michael Stack
 
HBaseConAsia2019 Keynote
HBaseConAsia2019 KeynoteHBaseConAsia2019 Keynote
HBaseConAsia2019 Keynote
Michael Stack
 
HBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latencies
HBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latenciesHBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latencies
HBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latencies
Michael Stack
 
HBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at XiaomiHBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at Xiaomi
Michael Stack
 

More from Michael Stack (20)

hbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloud
hbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloudhbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloud
hbaseconasia2019 HBase Table Monitoring and Troubleshooting System on Cloud
 
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltdhbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
hbaseconasia2019 Phoenix Practice in China Life Insurance Co., Ltd
 
hbaseconasia2019 HBase at Didi
hbaseconasia2019 HBase at Didihbaseconasia2019 HBase at Didi
hbaseconasia2019 HBase at Didi
 
hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...
hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...
hbaseconasia2019 The Practice in trillion-level Video Storage and billion-lev...
 
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
 
hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...
hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...
hbaseconasia2019 Bridging the Gap between Big Data System Software Stack and ...
 
hbaseconasia2019 Pharos as a Pluggable Secondary Index Component
hbaseconasia2019 Pharos as a Pluggable Secondary Index Componenthbaseconasia2019 Pharos as a Pluggable Secondary Index Component
hbaseconasia2019 Pharos as a Pluggable Secondary Index Component
 
hbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibaba
hbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibabahbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibaba
hbaseconasia2019 Phoenix Improvements and Practices on Cloud HBase at Alibaba
 
hbaseconasia2019 OpenTSDB at Xiaomi
hbaseconasia2019 OpenTSDB at Xiaomihbaseconasia2019 OpenTSDB at Xiaomi
hbaseconasia2019 OpenTSDB at Xiaomi
 
hbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Spark
hbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Sparkhbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Spark
hbaseconasia2019 BigData NoSQL System: ApsaraDB, HBase and Spark
 
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBasehbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
 
hbaseconasia2019 Distributed Bitmap Index Solution
hbaseconasia2019 Distributed Bitmap Index Solutionhbaseconasia2019 Distributed Bitmap Index Solution
hbaseconasia2019 Distributed Bitmap Index Solution
 
hbaseconasia2019 HBase Bucket Cache on Persistent Memory
hbaseconasia2019 HBase Bucket Cache on Persistent Memoryhbaseconasia2019 HBase Bucket Cache on Persistent Memory
hbaseconasia2019 HBase Bucket Cache on Persistent Memory
 
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACLhbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
 
hbaseconasia2019 BDS: A data synchronization platform for HBase
hbaseconasia2019 BDS: A data synchronization platform for HBasehbaseconasia2019 BDS: A data synchronization platform for HBase
hbaseconasia2019 BDS: A data synchronization platform for HBase
 
hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...
hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...
hbaseconasia2019 Further GC optimization for HBase 2.x: Reading HFileBlock in...
 
hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...
hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...
hbaseconasia2019 HBCK2: Concepts, trends, and recipes for fixing issues in HB...
 
HBaseConAsia2019 Keynote
HBaseConAsia2019 KeynoteHBaseConAsia2019 Keynote
HBaseConAsia2019 Keynote
 
HBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latencies
HBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latenciesHBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latencies
HBaseConAsia2018 Track3-1: Serving billions of queries in millisecond latencies
 
HBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at XiaomiHBaseConAsia2018 Track1-3: HBase at Xiaomi
HBaseConAsia2018 Track1-3: HBase at Xiaomi
 

Recently uploaded

Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...
Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...
Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...
Beshoelwy
 
The Ultimate Guide to Web Hosting Reviews in 2024.pdf
The Ultimate Guide to Web Hosting Reviews in 2024.pdfThe Ultimate Guide to Web Hosting Reviews in 2024.pdf
The Ultimate Guide to Web Hosting Reviews in 2024.pdf
Hosting Mastery Hub
 
Do it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirtDo it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirt
exgf28
 
High-Yield Dow Jones Stocks Worth Investing in Today.docx
High-Yield Dow Jones Stocks Worth Investing in Today.docxHigh-Yield Dow Jones Stocks Worth Investing in Today.docx
High-Yield Dow Jones Stocks Worth Investing in Today.docx
SFC Today
 
How Can Microsoft Office 365 Improve Your Productivity?
How Can Microsoft Office 365 Improve Your Productivity?How Can Microsoft Office 365 Improve Your Productivity?
How Can Microsoft Office 365 Improve Your Productivity?
Digital Host
 
New York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offerNew York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offer
ubovu
 
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
aryan4bhardwaj37
 
How God led me to DTS? Through many different signs and connections that I c...
How God led me to DTS? Through many different signs and connections that  I c...How God led me to DTS? Through many different signs and connections that  I c...
How God led me to DTS? Through many different signs and connections that I c...
AshishMohan57
 
The Money Wave 2024 Review: Is It the Key to Financial Success?
The Money Wave 2024 Review: Is It the Key to Financial Success?The Money Wave 2024 Review: Is It the Key to Financial Success?
The Money Wave 2024 Review: Is It the Key to Financial Success?
nirahealhty
 
The Money Wave 2024 Review_ Is It the Key to Financial Success.pdf
The Money Wave 2024 Review_ Is It the Key to Financial Success.pdfThe Money Wave 2024 Review_ Is It the Key to Financial Success.pdf
The Money Wave 2024 Review_ Is It the Key to Financial Success.pdf
nirahealhty
 
ADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdf
ADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdfADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdf
ADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdf
ifraghaffar125
 
Latest Deals in the Metaverse & NFT Markets.docx
Latest Deals in the Metaverse & NFT Markets.docxLatest Deals in the Metaverse & NFT Markets.docx
Latest Deals in the Metaverse & NFT Markets.docx
SFC Today
 
How to Become a Digital Marketer in 2024.docx
How to Become a Digital Marketer in 2024.docxHow to Become a Digital Marketer in 2024.docx
How to Become a Digital Marketer in 2024.docx
InfyQ Seo Experts
 

Recently uploaded (13)

Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...
Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...
Module 16 Incineration of Healthcare Waste and the Stockholm Convention Guide...
 
The Ultimate Guide to Web Hosting Reviews in 2024.pdf
The Ultimate Guide to Web Hosting Reviews in 2024.pdfThe Ultimate Guide to Web Hosting Reviews in 2024.pdf
The Ultimate Guide to Web Hosting Reviews in 2024.pdf
 
Do it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirtDo it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirt
 
High-Yield Dow Jones Stocks Worth Investing in Today.docx
High-Yield Dow Jones Stocks Worth Investing in Today.docxHigh-Yield Dow Jones Stocks Worth Investing in Today.docx
High-Yield Dow Jones Stocks Worth Investing in Today.docx
 
How Can Microsoft Office 365 Improve Your Productivity?
How Can Microsoft Office 365 Improve Your Productivity?How Can Microsoft Office 365 Improve Your Productivity?
How Can Microsoft Office 365 Improve Your Productivity?
 
New York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offerNew York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offer
 
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
Java Training in Chandigarh.Mastering Java: From Fundamentals to Advanced App...
 
How God led me to DTS? Through many different signs and connections that I c...
How God led me to DTS? Through many different signs and connections that  I c...How God led me to DTS? Through many different signs and connections that  I c...
How God led me to DTS? Through many different signs and connections that I c...
 
The Money Wave 2024 Review: Is It the Key to Financial Success?
The Money Wave 2024 Review: Is It the Key to Financial Success?The Money Wave 2024 Review: Is It the Key to Financial Success?
The Money Wave 2024 Review: Is It the Key to Financial Success?
 
The Money Wave 2024 Review_ Is It the Key to Financial Success.pdf
The Money Wave 2024 Review_ Is It the Key to Financial Success.pdfThe Money Wave 2024 Review_ Is It the Key to Financial Success.pdf
The Money Wave 2024 Review_ Is It the Key to Financial Success.pdf
 
ADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdf
ADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdfADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdf
ADEGUNADEGUNADEGUNADEGUNADEGUNADEGUNADEGUN.pdf
 
Latest Deals in the Metaverse & NFT Markets.docx
Latest Deals in the Metaverse & NFT Markets.docxLatest Deals in the Metaverse & NFT Markets.docx
Latest Deals in the Metaverse & NFT Markets.docx
 
How to Become a Digital Marketer in 2024.docx
How to Become a Digital Marketer in 2024.docxHow to Become a Digital Marketer in 2024.docx
How to Become a Digital Marketer in 2024.docx
 

hbaseconasia2019 Recent work on HBase at Pinterest

  • 2. Recent work on HBase at Pinterest Lianghong Xu Pinterest Software Engineer, Tech Lead
  • 4. HBase at Pinterest • Backend for many critical services • Graph database (Zen) • Generic KV store (UMS) • Around 50 HBase clusters • HBase 0.94 since 2013, HBase 1.2 since 2016 • Internal repo with ZSTD, CCSMAP, Bucket cache, etc.
  • 5. Agenda • Omid: transaction layer for NoSQL database • Sparrow: Omid made scalable • Argus: database observer framework • Ixia: near-realtime HBase indexing
  • 6. Agenda • Omid: transaction layer for NoSQL database • Sparrow: Omid made scalable • Argus: database observer framework • Ixia: near-realtime HBase indexing
  • 7. NoSQL Embracing Transactions SQL NoSQL Relational Transactional Expressive Simple Fast Scalable
  • 8. NoSQL Embracing Transactions SQL NoSQL Relational Transactional Expressive Simple Fast Scalable
  • 9. NoSQL Embracing Transactions SQL NoSQL Relational Transactional Expressive Simple Fast Scalable
  • 10. Apache Omid at Pinterest • Omid (Optimistically transaction Management In Datastores) • Transaction framework on top of KV stores with HBase support • Open-sourced by Yahoo! in 2016 • Powers next generation of Ads indexing at Pinterest
  • 11. Apache Omid at Pinterest • Omid (Optimistically transaction Management In Datastores) • Transaction framework on top of KV stores with HBase support • Open-sourced by Yahoo! in 2016 • Powers next generation of Ads indexing at Pinterest • Pros: simple, reasonable performance, HA, pluggable backend with native HBase support • Cons: No SQL interface, limited isolation levels, requires MVCC support
  • 12. Omid Architecture Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit persist commit
  • 13. Omid internals • Leverages Multi-version Concurrency Control (MVCC) support in HBase • Transaction ID (begin timestamp) in version, commit timestamp in shadow cell • OCC: lock-free implementation with central conflict detection mechanism Omid data and commit table
  • 14. Agenda • Omid: transaction layer for NoSQL database • Sparrow: Omid made scalable • Argus: database observer framework • Ixia: near-realtime HBase indexing
  • 15. Omid Architecture Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit persist commit
  • 16. Omid Scalability Problem Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit persist commit Centralized batch commit to HBase
  • 17. Omid Scalability Problem Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit persist commit Centralized batch commit to HBase Single-threaded request/reply processor for serializability
  • 18. Sparrow Architecture Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit Single-threaded request/reply processor for serializability
  • 19. Sparrow Architecture Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit Single-threaded request/reply processor for serializability persist commit Distributed client-side commit
  • 20. Sparrow Architecture Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit persist commit Distributed client-side commit Parallel request processing
  • 21. Sparrow: Omid made scalable Client Transaction Manager (TM) begin/commit timestamp/commit status Data tables Commit table read/write check commit persist commit Distributed client-side commit Parallel conflict detection persist commit Performance bottleneck
  • 22. Sparrow techniques • Client-side commit • Client writes to commit table when there is no conflicts • Explicitly mark aborted txn in commit table (-1) • Reader may back off and abort concurrent writer in case of client failure or network partition • Avoid performance bottleneck on TM • Parallel request processing • Multi-threaded request processor with in-memory conflict map • beginTx no longer needs to wait until whole commit batch is written to HBase • Timestamp allocation still needs to be synchronized (with negligible overhead)
  • 23. Sparrow vs. Omid beginTx P99: ~100X reduction commitTx P99: ~3X reduction
  • 24. Agenda • Omid: transaction layer for NoSQL database • Sparrow: Omid made scalable • Argus: database observer framework • Ixia: near-realtime HBase indexing
  • 25. Argus: Motivation and Problem Statement • Clients request a real-time notification feature similar to a database trigger • Incremental processing based on database changes • Notification cannot be missed - ”at least once” • Notification events could have different priorities and object types
  • 27. Kafka-based Notification Pipeline Percolator (Google) • Special notification column • Observer threads periodically scan for changes • Heavy-weight distributed scan and locking
  • 28. Kafka-based Notification Pipeline Percolator (Google) Argus • Special notification column • Observer threads periodically scan for changes • Heavy-weight distributed scan and locking • Async notification by tailing HBase WAL • Kafka for replayable DB change stream • Support different priorities and types • Lightweight, minimal impact on DB
  • 29. Argus Architecture Client Argus Observer HBase Annotated requests Replication proxy WAL Notification events (Kafka) read/write • HBase annotation: extra metadata in HBase requests to be passed down into WAL • Replication Proxy: ”fake” regionservers with only replication RPC implemented
  • 30. Argus Observers • Process notification events in parallel with user-defined handlers • Event dispatching, filtering, collapse, etc. • Notification Handlers can be chained
  • 31. Argus Observers • Process notification events in parallel with user-defined handlers • Event dispatching, filtering, collapse, etc. • Notification Handlers can be chained Use case on Ads indexing: Batch processing (15 mins) -> incremental indexing (several seconds)
  • 32. Agenda • Omid: transaction layer for NoSQL database • Sparrow: Omid made scalable • Argus: database observer framework • Ixia: near-realtime HBase indexing
  • 33. Ixia: Motivation • Clients ask for secondary indexing support in HBase • Analytics queries on HBase columns (filtering, range, aggregation) • Why not SQL? • Index build could take a long time • Lack of horizontal scalability and tuning expertise
  • 34. Ixia: Near-realtime Indexing with HBase + Muse (In-house Search Engine) • Inspired by Lily indexer (HBase + Solr) • Secondary indexes in Muse (written in C++, fast in-memory inverted/forward index) • Source-of-truth data in HBase • Index built asynchronously with HBase WAL through Kafka • Ixia query engine: Thrift-based query service with a SQL-like interface
  • 35. Ixia: Architecture Client HBase Replication proxy WAL Indexer Index events (Kafka) write Muse index docs MuseQuery engine query search query DB retrieval Index manager Index schema
  • 36. Ixia: Pros and Cons Pros Cons Minimal impact on write path Index and data stores scaled separately Efficient indexing & retrieval No strong index consistency
  • 37. Ixia: status and future work • Batch indexing in prod, reducing indexing time by ~15X • Query engine serving full dark traffic, reducing query latency by up to 100X • Future work: • Realtime indexing into production • SQL support • Dynamic index backfilling