SlideShare a Scribd company logo
Yahoo! Presentation, Confidential 16 July 2014
July 16, 2014
Pushing the limits of
Realtime analytics with Druid
Reza Iranmanesh
Srikalyan Chandrashekar
By realtime we mean subsecond response, highly concurrent and
realtime ingestion too
Yahoo! Presentation, Confidential 16 July 2014
Agenda
1. What is Druid ?
2. Fitting Druid into our Software Stack; Druid in the API layer
3. The SQL 4 Druid suite (compiler, driver and client).
4. Contrast with traditional RDBMS SQL.
5. Features of SQL 4 Druid suite.
6. Current state.
7. Demo.
8. Future plans.
Yahoo! Presentation, Confidential 16 July 2014
What is Analytics?
Analytics The process of accessing, cleaning, transforming and
modeling data with the goal of discovering information.
Business Intelligence analytics focused on business information.
Star Schema
Data Cubes / OLAP Systems
Yahoo! Presentation, Confidential 16 July 2014
What is Druid?
- A google dremel inspired, open source OLAP-like engine that
can do aggregate operations in sub second (most of them) on
memory mapped data.
- de-normalized data
- Time-based segments
- Timeseries/GroupBy/TopN
- Plays well with Hadoop
Yahoo! Presentation, Confidential 16 July 2014
What is Druid?
Lambda Architecture in a box – a relatively self-contained system
Yahoo! Presentation, Confidential 16 July 2014
Main Components
Indexing Service
• Realtime ingestion
• Hadoop batch ingestion
• Local batch ingestion
• Aggregates are defined at indexing stage
• Final output: segments of data that will eventually live on deep store. Each segment holds
a timerange of data.
Coordinator Node
• The Coordinator! Takes care of reading metadata from MySQL and looking at zookeeper to see who’s
there and putting segment distribution information for Historicals to pick, etc.
Broker Node
• Forwards the queries to the nodes who have the segments that fall into the given time interval
• Takes care of aggregating the partial aggregates from historical nodes
Historical Node
• Loads segments of immutable indexed data that live on the deep store (usually Grid)
• Each historical node
Realtime Node
Yahoo! Presentation, Confidential 16 July 2014
Why Druid?
Pros:
• Horizontal Scalability with linear performance gains
• Sub-second response time for most use cases
• Native time zone support
• Relatively self-contained (batch + real-time ingestion/query support,
distributed memcached support, multi-tier replication/load support)
• Active and responsive community
Cons:
• Limited query power compared with SQL/MDX
• Lack of joins
• Missing distinct count
• Memory bounds for GroupBy Query
Yahoo! Presentation, Confidential 16 July 2014
Horizontal Scalability
Yahoo! Presentation, Confidential 16 July 2014
Some Numbers
Yahoo! Presentation, Confidential 16 July 2014
Some Numbers
Yahoo! Presentation, Confidential 16 July 2014
Druid in our API Layer
Limitation Solution
groupBy memory bounded - Replace with TopN
- Not a real limit in Analytics world
Limited Query power - Extend Druid’s limits
- Some extra work in the API
layer
- Implement a SQL layer
Missing exact Distinct Count - Use HyperLogLog
implementation
- Create pre-aggregates on the
grid when we need exact values;
create a multiplexer on the API
side
The problem of mutable dimension
data; supporting star schema
- Query pipeline in the API layer
Missing joins - SQL layer
Yahoo! Presentation, Confidential 16 July 2014
Grid
RDBMS
Druid
Druid in our API Layer
Star Schema
Solving the problem of mutable dimension tables with a Druid query pipeline and one-to-one joins:
filter on pre-aggregates / join on post-aggregates
- uuid
-
name
- url
- uuid
-
name
- url
-
views
- clicks
First Druid groupby
First result
as input to
the next Query
Select sum(uuid), ..
From …
Join …
Where …
API
Yahoo! Presentation, Confidential 16 July 2014
Druid in our API Layer
Unique Counts
Unique_count_1_hour Unique_count_7_day
Unique_count_24_hour Unique_count_14_day
Unique_count_30_day
use hyperLogLog
aggregate
What is the granularity?
hour? day? all?
Hybrid approach to take care of distinct counts:
Yahoo! Presentation, Confidential 16 July 2014
SQL 4 Druid suite
1. JDBC driver
2. Command line client
the driver is powered
by the DCompiler.
Yahoo! Presentation, Confidential 16 July 2014
Demo
Yahoo! Presentation, Confidential 16 July 2014
Sql features
1. GroupBy, Having clause supported.
2. Post aggregation including javascript functions
accepted.
3. Order BY and LIMIT which essentially is Top N.
4. Where clause translates into filters.
5. Aggregators: count, double_sum, long_sum, unique,
max, min etc.
6. BREAK BY translates into granularity.
7. HINT timeseries if dimension is timestamp.
Yahoo! Presentation, Confidential 16 July 2014
Sql features continued
8. Specify micro and adhoc interval ranges.
9. Select-type query(no aggregation) just plain
dimension (and/or) metrics retrieval.
Yahoo! Presentation, Confidential 16 July 2014
Sample SQLs
Yahoo! Presentation, Confidential 16 July 2014
Driver features.
1. Can do JOIN(Inner, Left and Right), can go
only two level deep right now.
2. Template parameters.
Yahoo! Presentation, Confidential 16 July 2014
Driver features continued.
3. Map data to list .
4. Map data to bean.
5. Dynamic column type inference on select queries(Ex:
dimension/metric is found from Coordinator)
Yahoo! Presentation, Confidential 16 July 2014
Client Features.
1. GroupBy,TS and TopN, search queries.
2. Generate Bean source code based on previous SQL
executed.
3. See all tables(data sources), schema of table etc.
4. Navigate through command history.
5. MySQL like pretty print.
Yahoo! Presentation, Confidential 16 July 2014
We Are Hiring
srikalyan@yahoo-inc.com
reza1@yahoo-inc.com
Contact us:
Yahoo! Presentation, Confidential 16 July 2014
Appendix A
Timeseries with adhoc interval spec
Yahoo! Presentation, Confidential 16 July 2014
Appendix B
Select Query on dimensions and metrics
Yahoo! Presentation, Confidential 16 July 2014
Appendix C
GroupBy With Join

More Related Content

PDF
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
PPTX
Programmatic Bidding Data Streams & Druid
PDF
Real-time analytics with Druid at Appsflyer
PDF
Aggregated queries with Druid on terrabytes and petabytes of data
PDF
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
PDF
Data Analytics with Druid
PDF
PPTX
Apache Druid Design and Future prospect
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
Programmatic Bidding Data Streams & Druid
Real-time analytics with Druid at Appsflyer
Aggregated queries with Druid on terrabytes and petabytes of data
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics with Druid
Apache Druid Design and Future prospect

What's hot (20)

PDF
Benchmarking Apache Druid
PDF
PPTX
Druid realtime indexing
PDF
Building a Real-Time Gaming Analytics Service with Apache Druid
PDF
Webinar: Managing Real Time Risk Analytics with MongoDB
PDF
Apache Druid Vision and Roadmap
PDF
August meetup - All about Apache Druid
PDF
A Day in the Life of a Druid Implementor and Druid's Roadmap
PDF
Building Data Applications with Apache Druid
PDF
Archmage, Pinterest’s Real-time Analytics Platform on Druid
PDF
Analytics over Terabytes of Data at Twitter
PDF
Druid Adoption Tips and Tricks
PDF
Real-time Analytics with Apache Flink and Druid
PPTX
The of Operational Analytics Data Store
PPTX
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
PDF
Apache Druid®: A Dance of Distributed Processes
PDF
Druid: Under the Covers (Virtual Meetup)
PDF
Treasure Data Cloud Strategy
PDF
Building a Versatile Analytics Pipeline on Top of Apache Spark with Mikhail C...
PPTX
Vitalii Bondarenko - Масштабована бізнес-аналітика у Cloud Big Data Cluster. ...
Benchmarking Apache Druid
Druid realtime indexing
Building a Real-Time Gaming Analytics Service with Apache Druid
Webinar: Managing Real Time Risk Analytics with MongoDB
Apache Druid Vision and Roadmap
August meetup - All about Apache Druid
A Day in the Life of a Druid Implementor and Druid's Roadmap
Building Data Applications with Apache Druid
Archmage, Pinterest’s Real-time Analytics Platform on Druid
Analytics over Terabytes of Data at Twitter
Druid Adoption Tips and Tricks
Real-time Analytics with Apache Flink and Druid
The of Operational Analytics Data Store
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
Apache Druid®: A Dance of Distributed Processes
Druid: Under the Covers (Virtual Meetup)
Treasure Data Cloud Strategy
Building a Versatile Analytics Pipeline on Top of Apache Spark with Mikhail C...
Vitalii Bondarenko - Масштабована бізнес-аналітика у Cloud Big Data Cluster. ...
Ad

Viewers also liked (20)

PPTX
Scalable Real-time analytics using Druid
PPTX
Pulsar: Real-time Analytics at Scale with Kafka, Kylin and Druid
PDF
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
PDF
Druid at SF Big Analytics 2015-12-01
PPTX
PayPal Real Time Analytics
PDF
Interactive analytics at scale with druid
PPT
Case Study: Realtime Analytics with Druid
PDF
Open Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
PPTX
Monitoring @ scale over diverse data sources @ PayPal - Druid, TSDB, Hadoop
PDF
Intro to Pinot (2016-01-04)
PPTX
Using druid for interactive count distinct queries at scale @ nmc
PDF
Pinot: Realtime Distributed OLAP datastore
PPTX
Lightning fast analytics with Cassandra and Spark
PDF
Lambda Architectures in Practice
PPTX
Druid at Hadoop Ecosystem
PPTX
Impala Unlocks Interactive BI on Hadoop
PDF
Data Leaders in Action - 資料價值領袖風範與關鍵行動
PDF
那些你知道的,但還沒看過的 Big Data 風景
PDF
Cloudera Impala Overview (via Scott Leberknight)
PPTX
Apache Tez: Accelerating Hadoop Query Processing
Scalable Real-time analytics using Druid
Pulsar: Real-time Analytics at Scale with Kafka, Kylin and Druid
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
Druid at SF Big Analytics 2015-12-01
PayPal Real Time Analytics
Interactive analytics at scale with druid
Case Study: Realtime Analytics with Druid
Open Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
Monitoring @ scale over diverse data sources @ PayPal - Druid, TSDB, Hadoop
Intro to Pinot (2016-01-04)
Using druid for interactive count distinct queries at scale @ nmc
Pinot: Realtime Distributed OLAP datastore
Lightning fast analytics with Cassandra and Spark
Lambda Architectures in Practice
Druid at Hadoop Ecosystem
Impala Unlocks Interactive BI on Hadoop
Data Leaders in Action - 資料價值領袖風範與關鍵行動
那些你知道的,但還沒看過的 Big Data 風景
Cloudera Impala Overview (via Scott Leberknight)
Apache Tez: Accelerating Hadoop Query Processing
Ad

Similar to July 2014 HUG : Pushing the limits of Realtime Analytics using Druid (20)

PDF
NoSQL no more: SQL on Druid with Apache Calcite
PDF
Apache Druid 101
PDF
Building an Enterprise-Scale Dashboarding/Analytics Platform Powered by the C...
PPTX
Understanding apache-druid
PDF
20th Athens Big Data Meetup - 1st Talk - Druid: the open source, performant, ...
PDF
Data Analytics with Druid
PDF
Fast analytics kudu to druid
PDF
Web analytics at scale with Druid at naver.com
PDF
Game Analytics at London Apache Druid Meetup
PDF
Imply at Apache Druid Meetup in London 1-15-20
PDF
Druid meetup 2018-03-13
PPTX
Our journey with druid - from initial research to full production scale
PDF
Deep dive into druid
PPTX
Scalable olap with druid
PPT
Counting Unique Users in Real-Time: Here's a Challenge for You!
PDF
Benchmarking Apache Druid
PDF
No sql now2011_review_of_adhoc_architectures
PPTX
Querying Druid in SQL with Superset
PDF
Premier Inside-Out: Apache Druid
PPTX
NoSQL Roundup
NoSQL no more: SQL on Druid with Apache Calcite
Apache Druid 101
Building an Enterprise-Scale Dashboarding/Analytics Platform Powered by the C...
Understanding apache-druid
20th Athens Big Data Meetup - 1st Talk - Druid: the open source, performant, ...
Data Analytics with Druid
Fast analytics kudu to druid
Web analytics at scale with Druid at naver.com
Game Analytics at London Apache Druid Meetup
Imply at Apache Druid Meetup in London 1-15-20
Druid meetup 2018-03-13
Our journey with druid - from initial research to full production scale
Deep dive into druid
Scalable olap with druid
Counting Unique Users in Real-Time: Here's a Challenge for You!
Benchmarking Apache Druid
No sql now2011_review_of_adhoc_architectures
Querying Druid in SQL with Superset
Premier Inside-Out: Apache Druid
NoSQL Roundup

More from Yahoo Developer Network (20)

PDF
Developing Mobile Apps for Performance - Swapnil Patel, Verizon Media
PDF
Athenz - The Open-Source Solution to Provide Access Control in Dynamic Infras...
PDF
Athenz & SPIFFE, Tatsuya Yano, Yahoo Japan
PDF
Athenz with Istio - Single Access Control Model in Cloud Infrastructures, Tat...
PDF
CICD at Oath using Screwdriver
PDF
Big Data Serving with Vespa - Jon Bratseth, Distinguished Architect, Oath
PPTX
How @TwitterHadoop Chose Google Cloud, Joep Rottinghuis, Lohit VijayaRenu
PDF
The Future of Hadoop in an AI World, Milind Bhandarkar, CEO, Ampool
PPTX
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
PPTX
Containerized Services on Apache Hadoop YARN: Past, Present, and Future, Shan...
PDF
HDFS Scalability and Security, Daryn Sharp, Senior Engineer, Oath
PPTX
Hadoop {Submarine} Project: Running deep learning workloads on YARN, Wangda T...
PDF
Moving the Oath Grid to Docker, Eric Badger, Oath
PDF
Architecting Petabyte Scale AI Applications
PDF
Introduction to Vespa – The Open Source Big Data Serving Engine, Jon Bratseth...
PPTX
Jun 2017 HUG: YARN Scheduling – A Step Beyond
PDF
Jun 2017 HUG: Large-Scale Machine Learning: Use Cases and Technologies
PPTX
February 2017 HUG: Slow, Stuck, or Runaway Apps? Learn How to Quickly Fix Pro...
PPTX
February 2017 HUG: Exactly-once end-to-end processing with Apache Apex
PPTX
February 2017 HUG: Data Sketches: A required toolkit for Big Data Analytics
Developing Mobile Apps for Performance - Swapnil Patel, Verizon Media
Athenz - The Open-Source Solution to Provide Access Control in Dynamic Infras...
Athenz & SPIFFE, Tatsuya Yano, Yahoo Japan
Athenz with Istio - Single Access Control Model in Cloud Infrastructures, Tat...
CICD at Oath using Screwdriver
Big Data Serving with Vespa - Jon Bratseth, Distinguished Architect, Oath
How @TwitterHadoop Chose Google Cloud, Joep Rottinghuis, Lohit VijayaRenu
The Future of Hadoop in an AI World, Milind Bhandarkar, CEO, Ampool
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
Containerized Services on Apache Hadoop YARN: Past, Present, and Future, Shan...
HDFS Scalability and Security, Daryn Sharp, Senior Engineer, Oath
Hadoop {Submarine} Project: Running deep learning workloads on YARN, Wangda T...
Moving the Oath Grid to Docker, Eric Badger, Oath
Architecting Petabyte Scale AI Applications
Introduction to Vespa – The Open Source Big Data Serving Engine, Jon Bratseth...
Jun 2017 HUG: YARN Scheduling – A Step Beyond
Jun 2017 HUG: Large-Scale Machine Learning: Use Cases and Technologies
February 2017 HUG: Slow, Stuck, or Runaway Apps? Learn How to Quickly Fix Pro...
February 2017 HUG: Exactly-once end-to-end processing with Apache Apex
February 2017 HUG: Data Sketches: A required toolkit for Big Data Analytics

July 2014 HUG : Pushing the limits of Realtime Analytics using Druid

  • 1. Yahoo! Presentation, Confidential 16 July 2014 July 16, 2014 Pushing the limits of Realtime analytics with Druid Reza Iranmanesh Srikalyan Chandrashekar By realtime we mean subsecond response, highly concurrent and realtime ingestion too
  • 2. Yahoo! Presentation, Confidential 16 July 2014 Agenda 1. What is Druid ? 2. Fitting Druid into our Software Stack; Druid in the API layer 3. The SQL 4 Druid suite (compiler, driver and client). 4. Contrast with traditional RDBMS SQL. 5. Features of SQL 4 Druid suite. 6. Current state. 7. Demo. 8. Future plans.
  • 3. Yahoo! Presentation, Confidential 16 July 2014 What is Analytics? Analytics The process of accessing, cleaning, transforming and modeling data with the goal of discovering information. Business Intelligence analytics focused on business information. Star Schema Data Cubes / OLAP Systems
  • 4. Yahoo! Presentation, Confidential 16 July 2014 What is Druid? - A google dremel inspired, open source OLAP-like engine that can do aggregate operations in sub second (most of them) on memory mapped data. - de-normalized data - Time-based segments - Timeseries/GroupBy/TopN - Plays well with Hadoop
  • 5. Yahoo! Presentation, Confidential 16 July 2014 What is Druid? Lambda Architecture in a box – a relatively self-contained system
  • 6. Yahoo! Presentation, Confidential 16 July 2014 Main Components Indexing Service • Realtime ingestion • Hadoop batch ingestion • Local batch ingestion • Aggregates are defined at indexing stage • Final output: segments of data that will eventually live on deep store. Each segment holds a timerange of data. Coordinator Node • The Coordinator! Takes care of reading metadata from MySQL and looking at zookeeper to see who’s there and putting segment distribution information for Historicals to pick, etc. Broker Node • Forwards the queries to the nodes who have the segments that fall into the given time interval • Takes care of aggregating the partial aggregates from historical nodes Historical Node • Loads segments of immutable indexed data that live on the deep store (usually Grid) • Each historical node Realtime Node
  • 7. Yahoo! Presentation, Confidential 16 July 2014 Why Druid? Pros: • Horizontal Scalability with linear performance gains • Sub-second response time for most use cases • Native time zone support • Relatively self-contained (batch + real-time ingestion/query support, distributed memcached support, multi-tier replication/load support) • Active and responsive community Cons: • Limited query power compared with SQL/MDX • Lack of joins • Missing distinct count • Memory bounds for GroupBy Query
  • 8. Yahoo! Presentation, Confidential 16 July 2014 Horizontal Scalability
  • 9. Yahoo! Presentation, Confidential 16 July 2014 Some Numbers
  • 10. Yahoo! Presentation, Confidential 16 July 2014 Some Numbers
  • 11. Yahoo! Presentation, Confidential 16 July 2014 Druid in our API Layer Limitation Solution groupBy memory bounded - Replace with TopN - Not a real limit in Analytics world Limited Query power - Extend Druid’s limits - Some extra work in the API layer - Implement a SQL layer Missing exact Distinct Count - Use HyperLogLog implementation - Create pre-aggregates on the grid when we need exact values; create a multiplexer on the API side The problem of mutable dimension data; supporting star schema - Query pipeline in the API layer Missing joins - SQL layer
  • 12. Yahoo! Presentation, Confidential 16 July 2014 Grid RDBMS Druid Druid in our API Layer Star Schema Solving the problem of mutable dimension tables with a Druid query pipeline and one-to-one joins: filter on pre-aggregates / join on post-aggregates - uuid - name - url - uuid - name - url - views - clicks First Druid groupby First result as input to the next Query Select sum(uuid), .. From … Join … Where … API
  • 13. Yahoo! Presentation, Confidential 16 July 2014 Druid in our API Layer Unique Counts Unique_count_1_hour Unique_count_7_day Unique_count_24_hour Unique_count_14_day Unique_count_30_day use hyperLogLog aggregate What is the granularity? hour? day? all? Hybrid approach to take care of distinct counts:
  • 14. Yahoo! Presentation, Confidential 16 July 2014 SQL 4 Druid suite 1. JDBC driver 2. Command line client the driver is powered by the DCompiler.
  • 16. Yahoo! Presentation, Confidential 16 July 2014 Sql features 1. GroupBy, Having clause supported. 2. Post aggregation including javascript functions accepted. 3. Order BY and LIMIT which essentially is Top N. 4. Where clause translates into filters. 5. Aggregators: count, double_sum, long_sum, unique, max, min etc. 6. BREAK BY translates into granularity. 7. HINT timeseries if dimension is timestamp.
  • 17. Yahoo! Presentation, Confidential 16 July 2014 Sql features continued 8. Specify micro and adhoc interval ranges. 9. Select-type query(no aggregation) just plain dimension (and/or) metrics retrieval.
  • 18. Yahoo! Presentation, Confidential 16 July 2014 Sample SQLs
  • 19. Yahoo! Presentation, Confidential 16 July 2014 Driver features. 1. Can do JOIN(Inner, Left and Right), can go only two level deep right now. 2. Template parameters.
  • 20. Yahoo! Presentation, Confidential 16 July 2014 Driver features continued. 3. Map data to list . 4. Map data to bean. 5. Dynamic column type inference on select queries(Ex: dimension/metric is found from Coordinator)
  • 21. Yahoo! Presentation, Confidential 16 July 2014 Client Features. 1. GroupBy,TS and TopN, search queries. 2. Generate Bean source code based on previous SQL executed. 3. See all tables(data sources), schema of table etc. 4. Navigate through command history. 5. MySQL like pretty print.
  • 22. Yahoo! Presentation, Confidential 16 July 2014 We Are Hiring srikalyan@yahoo-inc.com reza1@yahoo-inc.com Contact us:
  • 23. Yahoo! Presentation, Confidential 16 July 2014 Appendix A Timeseries with adhoc interval spec
  • 24. Yahoo! Presentation, Confidential 16 July 2014 Appendix B Select Query on dimensions and metrics
  • 25. Yahoo! Presentation, Confidential 16 July 2014 Appendix C GroupBy With Join