Processing a Trillion Cells per Mouse Click

Similar documents
Fast Approximations for Analyzing Ten Trillion Cells. Filip Buruiana Reimar Hofmann

Sub-Second Response Times with New In-Memory Analytics in MicroStrategy 10. Onur Kahraman

HANA Performance. Efficient Speed and Scale-out for Real-time BI

arxiv: v1 [cs.db] 1 Aug 2012

How Real Time Are Your Analytics?

Apache Drill. Interactive Analysis of Large-Scale Datasets. Tomer Shiran

HYRISE In-Memory Storage Engine

Case Study: Tata Communications Delivering a Truly Interactive Business Intelligence Experience on a Large Multi-Tenant Hadoop Cluster

An Introduction to Big Data Formats

CS November 2017

Time Series Live 2017

Oracle Database Exadata Cloud Service Exadata Performance, Cloud Simplicity DATABASE CLOUD SERVICE

Dremel: Interactive Analysis of Web-Scale Database

COMP 273 Winter physical vs. virtual mem Mar. 15, 2012

Dremel: Interactive Analysis of Web- Scale Datasets

EVCache: Lowering Costs for a Low Latency Cache with RocksDB. Scott Mansfield Vu Nguyen EVCache

Information Retrieval II

Introduction to Hadoop. Owen O Malley Yahoo!, Grid Team

Trading off Accuracy for Speed in PowerDrill

Computer Memory. Data Structures and Algorithms CSE 373 SP 18 - KASEY CHAMPION 1

Introduction to Column Stores with MemSQL. Seminar Database Systems Final presentation, 11. January 2016 by Christian Bisig

CS November 2018

An Approach for Hybrid-Memory Scaling Columnar In-Memory Databases

April Copyright 2013 Cloudera Inc. All rights reserved.

Performance Benchmark and Capacity Planning. Version: 7.3

CC312: Computer Organization

SAP HANA Scalability. SAP HANA Development Team

NEC Express5800 A2040b 22TB Data Warehouse Fast Track. Reference Architecture with SW mirrored HGST FlashMAX III

Shark: Hive (SQL) on Spark

Syllabus. Syllabus. Motivation Decision Support. Syllabus

Albis: High-Performance File Format for Big Data Systems

COLUMN-STORES VS. ROW-STORES: HOW DIFFERENT ARE THEY REALLY? DANIEL J. ABADI (YALE) SAMUEL R. MADDEN (MIT) NABIL HACHEM (AVANTGARDE)

Evolution of Database Systems

CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso

A Comparison of Memory Usage and CPU Utilization in Column-Based Database Architecture vs. Row-Based Database Architecture

Start Working with Parquet!!!!

Column Stores vs. Row Stores How Different Are They Really?

Distributed computing: index building and use

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

Flexible Network Analytics in the Cloud. Jon Dugan & Peter Murphy ESnet Software Engineering Group October 18, 2017 TechEx 2017, San Francisco

SAP HANA. Jake Klein/ SVP SAP HANA June, 2013

MemTest: A Novel Benchmark for In-memory Database

Distributed File Systems II

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

Automating Information Lifecycle Management with

High-Performance Distributed DBMS for Analytics

Crescando: Predictable Performance for Unpredictable Workloads

Main Memory and the CPU Cache

DATA MINING II - 1DL460. Spring 2014"

Memory Addressing. Pradipta De

Mining for insight. Osma Ahvenlampi, CTO, Sulake Implementing business intelligence for Habbo

Abstract. The Challenges. ESG Lab Review InterSystems IRIS Data Platform: A Unified, Efficient Data Platform for Fast Business Insight

LazyBase: Trading freshness and performance in a scalable database

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting

Introduction to computers

AUTOMATIC CLUSTERING PRASANNA RAJAPERUMAL I MARCH Snowflake Computing Inc. All Rights Reserved

Dell PowerEdge R730xd Servers with Samsung SM1715 NVMe Drives Powers the Aerospike Fraud Prevention Benchmark

Part 1: Indexes for Big Data

Built for Speed: Comparing Panoply and Amazon Redshift Rendering Performance Utilizing Tableau Visualizations

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Fast Big Data Analytics with Spark on Tachyon

Safe Harbor Statement

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting

Approaching the Petabyte Analytic Database: What I learned

Data Representation. Types of data: Numbers Text Audio Images & Graphics Video

<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2

Hadoop Beyond Batch: Real-time Workloads, SQL-on- Hadoop, and thevirtual EDW Headline Goes Here

Database Architecture 2 & Storage. Instructor: Matei Zaharia cs245.stanford.edu

SoftFlash: Programmable Storage in Future Data Centers Jae Do Researcher, Microsoft Research

Kdb+ Transitive Comparisons

Update The Statistics On A Single Table+sql Server 2005

Massively Parallel Processing. Big Data Really Fast. A Proven In-Memory Analytical Processing Platform for Big Data

QLIK INTEGRATION WITH AMAZON REDSHIFT

Oracle Exadata: Strategy and Roadmap

Column-Oriented Database Systems. Liliya Rudko University of Helsinki

Dremel: Interac-ve Analysis of Web- Scale Datasets

Sepand Gojgini. ColumnStore Index Primer

Designing dashboards for performance. Reference deck

Introduction Data Model API Building Blocks SSTable Implementation Tablet Location Tablet Assingment Tablet Serving Compactions Refinements

The Power of In-Memory Computing for Intelligence Missions WHITE PAPER

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES

ZBD: Using Transparent Compression at the Block Level to Increase Storage Space Efficiency

How Flash-Based Storage Performs on Real Applications Session 102-C

Fast, In-Memory Analytics on PPDM. Calgary 2016

Research in Middleware Systems For In-Situ Data Analytics and Instrument Data Analysis

Executed by Rocky Sir, tech Head Suven Consultants & Technology Pvt Ltd. seo.suven.net 1

Introduction to Data Science

In-Memory Data processing using Redis Database

Scaling for Humongous amounts of data with MongoDB

CREATING DIMENSIONED METRICS AND REPORTS

IBM Data Retrieval Technologies: RDBMS, BLU, IBM Netezza, and Hadoop

How In-memory Database Technology and IBM soliddb Complement IBM DB2 for Extreme Speed

I/O Characterization of Commercial Workloads

Definitions. Lecture Objectives. Text Technologies for Data Science INFR Learn about main concepts in IR 9/19/2017. Instructor: Walid Magdy

Welcome to Analytics. Welcome to Applause! Table of Contents:

Resource and Performance Distribution Prediction for Large Scale Analytics Queries

Data Warehousing (1)

Sandor Heman, Niels Nes, Peter Boncz. Dynamic Bandwidth Sharing. Cooperative Scans: Marcin Zukowski. CWI, Amsterdam VLDB 2007.

BEx Front end Performance

Upgrade to Microsoft SQL Server 2016 with Dell EMC Infrastructure

Transcription:

Processing a Trillion Cells per Mouse Click Common Sense 13/01 21.3.2013 Alex Hall, Google Zurich Olaf Bachmann, Robert Buessow, Silviu Ganceanu, Marc Nunkesser

Outline of the Talk AdSpam team at Google Why we care about interactive data analysis PowerDrill UI: internal web-app to slice & dice data High-level properties of PD Serving scaling from millions to billions of records Key ingredients, comparison to other backends, algorithmic engineering tricks 2

Google s Keyword Targeted Ads Search for trendmode AdWords ads / Sponsored links Free search results are independent of ads shown. AdSense: earn money by showing Google ads on your own web-page e.g., a cycling page would show adds for bicycle stores 3

Click Fraud versus Invalid Clicks All Clicks Click Fraud Clicks that are generated with a malicious or fraudulent intent. - Competitor clicking - Clicking on ads on own page Invalid Clicks Click Fraud Attempts Click Fraud Invalid Clicks Clicks on AdWords ads that Google does not charge its advertisers for (e.g., double-click on an add). (Click fraud is only one of several reasons for not charging.) Note: Diagram is optimized for readability and not drawn to scale. 4

Google s Multi-Stage Click Fraud Protection e.g double clicks, crawlers, suspicious clicks PROACTIVE (<10%) REACTIVE (<0.02%) e.g. publisher terminations, click ring detection e.g. advertiser credits Clicks Online Filter (automatic) Clicks Offline Analyses (automatic & manual) Clicks Reactive Investigations (manual) Valid Clicks Discard invalid clicks Discard invalid clicks Discard invalid clicks Note: Diagram is not drawn to scale. 5

AdSpam: Interactive Data Analysis AdSpam team provides online filters to catch invalid clicks Typical analyses: Manually check set of suspicious clicks Slice and dice the data, look at various metrics Goals: Review: quickly decide whether clicks are invalid Filter development: research new filter ideas 6

PowerDrill UI Google internal web-app for easy slicing and dicing Shows charts e.g., clicks over time, top ten countries, Interactive way of restricting the data set PD logs (Google internal queries) 7

PowerDrill UI Each chart Restriction -> SQL GROUP BY query -> WHERE statement On every interaction Send SQL queries to the backend CSV, Dremel, PD Serving, RecordIO, Backend processes SQL on suspicious click data Needs to be super fast on billions of records! 8

Column-stores Basics Highly tuned systems to eval SQL queries (analytics) Data stored per column, not per row (like most OLTP) Access less data per query, fast scans Commercial Systems Hana OLTP and OLAP in one In memory suggested server-size up to 2TB ram Exasol Leader in many of the TPC-H benchmarks 9

Column-stores At Google Dremel Streams from disk Petabytes of data, millions of tables Thousands of light-weight servers Fast for 100s of millions of rows PD Serving NEW In memory as much as possible Few selected data-sets ~1500 servers, 4.5 TB ram Scale to 10s of billions of rows 10

wired.com Google Crunches One Trillion Pieces of Data With Single Click Appeared August 12 www.wired.com/wiredenterprise/2012/08/google-trillion-pieces-of-data/ Contains nice summary of this VLDB article Dremel is designed to analyze many different datasets, says Tomer Shiran, [ ], but this new system is optimized to run in memory, and that means you can achieve really, really low latency. [ ] If you have, say, four datasets that are central to your business, Shiran says, this is where you would store them. The system uses various compression techniques, he says, to pack as much data as possible into memory. Thoughts: Obviously, Google cares about more than four datasets Dremel: disk based, petabytes of data, millions of tables OTOH, AdSpam analyses: mostly with two huge (logs) datasets 11

My Wife after reading the wired.com article wonders about 1 trillion cells per click: This only worked once, right? Hmmm, where s the faith? 12

Reality Heavily used within AdSpam since 2 years. Single user after a hard day s work : up to 12k queries Used primarily on 2 major datasets Typically a single mouse click triggers 20 SQL queries On average these queries process data corresponding to 782 billion cells i.e., frequently > 1 trillion cells Return in 30-40 seconds (under 2 seconds per query) 13

Remainder of the Talk Comparing existing backends (latency, mem) Basic data-structures Optimizations / algorithmic engineering tricks Stepwise discussion of effects of optimizations Performance in practice 14

Comparing Existing Backends CSV files (comma separated values) Compute stats by iterating over a csv-file; scan whole file line-by-line RecordIO files Google binary record file-format; scan whole file record-by-record Dremel High performance Google internal column store Columnwise storage: full scan of data, but only necessary columns CSV RecordIO Dremel Latency in milliseconds Memory in KB Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 15

Basic System Columnwise storage, per field store: Dictionary: occurring values <-> int ids Represent the actual data as list of such ids Dremel Basic Latency in milliseconds Memory in KB Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Top countries -> 5 mio times counts[countryid]++ Q2 Count & latency / day pre-computed date(..) Q3 Top tables WHERE restriction many values / ids Q4 Top tables no WHERE many values / ids 16

Reduce Memory Footprint Goal: billions of rows in memory 17

Compression Savings per Step Savings (per step) Basic (compared to Dremel) -11% 34% Chunks (partitioning) -16% 0% Optimized storage of int ids 11% 99.5% Optimized dictionaries (trie) 0% 78% Snappy 29% 49% Reorder 16% 55% 18

Latency in secs Performance Latency Reduced from 7-48 seconds to 7-260 milliseconds Memory From 27, 60, 90 MB down to 35KB, 12MB, 5.6MB In production, on average Average response time low # of seconds 92.41% of records skipped 5.02% served from cached results 2.66% scanned 70% of queries fetch no data from disk, 96.5% less than 1GB (overall) Data from disk in GB 19

Outlook Next big topics for our team Moving beyond AdSpam Cover more use-cases across Google currently at 1700 monthly users Go after faster dashboards with < 1s response time 20