July 2014 HUG : Pushing the limits of Realtime Analytics using Druid
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,248 views

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

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

Statistics

Views

Total Views
1,248
Views on SlideShare
1,098
Embed Views
150

Actions

Likes
6
Downloads
23
Comments
0

6 Embeds 150

https://twitter.com 100
http://thesurfinonarocket.tumblr.com 37
https://assets.txmblr.com 6
https://www.linkedin.com 3
http://tweetedtimes.com 2
https://www.tumblr.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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 View slide
  • 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 View slide
  • 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