OLX Data Hub Jakub Orowski, Krzysztof Antoczak, Facundo Guerrero - - PowerPoint PPT Presentation

olx data hub
SMART_READER_LITE
LIVE PREVIEW

OLX Data Hub Jakub Orowski, Krzysztof Antoczak, Facundo Guerrero - - PowerPoint PPT Presentation

OLX Data Hub Jakub Orowski, Krzysztof Antoczak, Facundo Guerrero Presto Summit 2019, New York City Meet OLX, the biggest Web company youve never heard of Within classified ads, OLX Group is the largest global player Present in


slide-1
SLIDE 1
slide-2
SLIDE 2

OLX Data Hub

Jakub Orłowski, Krzysztof Antończak, Facundo Guerrero

Presto Summit 2019, New York City

slide-3
SLIDE 3

Meet OLX, the biggest Web company you’ve never heard of

slide-4
SLIDE 4

Within classified ads, OLX Group is the largest global player

Present in

30 markets,

Leading position in 27

>300m

MAUs

4 Source: Company Information; Leading position refers to top 3 position based on MAUs as per SimilarWeb, Oct 2019; MAUs refers to Monthly Active Users

slide-5
SLIDE 5

… with a strong local presence + 5,500 dedicated employees + 30 offices globally

5

slide-6
SLIDE 6

Anatomy of a typical “BI Stack”

Typical Data Stack S3, Redshift, GitLab, Jenkins

  • Tight coupling between compute nodes and storage
  • Data is stored on the compute nodes
  • Low usage of S3 (Spectrum adoption is slower than expected)
  • Limited dependency management
  • No scheduling standards (random low quality python scripts)
slide-7
SLIDE 7

What are the problems we aim to solve?

  • Complex cross-stack synchronisation mechanism
  • “Reservoir” design discourages building on each other
  • Use of multiple AWS regions makes sharing difficult and increase costs
  • Separated ETL scheduling standards

Data Lake Shared Solutions Divergent Solutions?

slide-8
SLIDE 8

...and what if?

Data Lake

Data Hub

Data Lake

Multiple Execution Engines

Shared Solutions (Odyn) Divergent Solutions?

Shared synchronisation system and code repository (and, hopefully, standards) Shared support of multiple execution engines: Redshift, Athena, Presto, Spark Use of Redshift will be an

  • eng. choice and it’s

expected to get lower Shared storage in a single AWS region and same account

Shared Solutions Divergent Solutions?

slide-9
SLIDE 9

OLX Data Hub (“Odyn”) high level architecture overview

Storage Operator App 1 ODYN Data Hub Applications App 2 App 3 App ... Config Scheduler

slide-10
SLIDE 10

Actual OLX Data Hub (“Odyn”) task configuration example

slide-11
SLIDE 11

Migrating to Presto

Why we decided to move out of the Redshift comfort zone

slide-12
SLIDE 12

Typical data workflow of a “BI stack”

EXTRACT LOAD TRANSFORM

slide-13
SLIDE 13

“If you were entering Hadoop ecosystem 8-10 years ago, there was this mantra: bring compute to your storage, tie them together; shipping data is so expensive. That is no longer true. All modern architectures right now separate storage from compute. Grow your data without limit, scale your compute power whenever you need.”

Kamil Bajda-Pawlikowski, Data Council NY, Nov 7-8, 2018

slide-14
SLIDE 14

Introduced Athena for querying raw data

EXTRACT LOAD TRANSFORM

slide-15
SLIDE 15

Athena adoption failed :-(

  • Query exhausted resources
  • The query timeout is 30 minutes
  • Generic raw data not so friendly for queries
  • CTaS usage increase
slide-16
SLIDE 16

Looking for the best query execution engine for our needs

slide-17
SLIDE 17

Introduced Presto for processing data

EXTRACT LOAD TRANSFORM

slide-18
SLIDE 18

Presto in production at OLX

  • 30+ nodes in AWS (r5.8xlarge)
  • 20K+ queries daily
  • 100+ users in 20 teams over 5 countries
  • 1PB+ data on S3 (Parquet, ORC, JSON)
slide-19
SLIDE 19

prestosql.io

slide-20
SLIDE 20

OLX Data Platform

slide-21
SLIDE 21

Presto Infrastructure

Where and how we run Presto

slide-22
SLIDE 22

Where Presto is Running?

  • Kubernetes cluster

○ AWS EKS in Ireland ○ Staging and Production ○ Single Amazon availability zone

  • We move Presto from EMR to Kubernetes (EKS)

using a mix of spot and on-demand instances

  • Store metrics in Prometheus and show them in

Grafana Sizes:

  • Production = 25 * r5.8xlarge
  • Staging = 16 * r4.2xlarge
slide-23
SLIDE 23

Challenge

Presto has a static size for the cluster even where there is nothing to do, we need to have the workers nodes up

slide-24
SLIDE 24

Presto “AutoScaling”

We developed our own “auto-scaling” solution for presto workers, allowing us to reduce the cost of the cluster when no queries are running on it

slide-25
SLIDE 25

Next challenges

Presto still not 100% integrated in our current ecosystem.

  • Cluster for analysts login using our Single Sign (OKTA) on system
  • Use different IAM roles depending on user / catalog / table (GDPR).
  • Cost-Based Optimizer (using Hive Metastore)

joinolx.com

slide-26
SLIDE 26
slide-27
SLIDE 27