SlideShare a Scribd company logo
Hepsistream Real-Time Click-Stream
Data Analytics Platform
2
Salih Şen
› 8 yıldır yazılımcı olarak çalışıyorum.
› 4 yıldır Big Data üzerinde çalışıyorum.
› Öncesinde Apache Solr, Web Development
› Eylül 2018’de Hepsiburada’ya katıldım
Hasan Ali Aygün
› 6 yıldır yazılımcı olarak çalışıyorum
› Yaklaşık 4 yıl Big Data
› Yaklaşık 1 yıldır Hepsiburada da Senior Data
Engineer
3
1. Ekip
2. Hepsistream Nedir?
3. Hepsistream Ortaya Çıkışı
4. Hepsistream Lambda Mimarisi
5. Geliştirme Evreleri
6. Sorular
İçerik
4
› Hepsiburada Teknoloji birimi
› ~200 Kişi
› 2017’den beri yerinde Ar-Ge
› Veri ekibi
› 12 Kişi
› Hadoop
› Qlik Sense
› SAP BW
› SAP Hana
Ekip
5
› Clickstream
› Kullanıcı davranışlarının anlaşılması
› Servislerin iyileştirilmesi
› Kullanıcıya daha iyi hizmet sunabilmek
› Hepsiburada’nın durumunu gerçek zamanlı
olarak izleyebilmek.
Hepsistream Nedir?
6
Hepsistream Nedir?
7
Hepsistream Veri Hacmi
› 120M/ay ziyaret
› 30M/ay tekil cihaz
› 3000 event/sn
› 5TB/ay
› Efsane Cuma x15
8
› Ürün geliştirmeye girdi
› Ürün tavsiye sistemi
› Arama kelime-kategori öneri sistemi
› Satıcı Portalları - müşteri kullanım istatistikleri
› Müşteri churn modelleri
› Ürün fiyat takibi, talep tahmini ve anomali tespiti modülleri
› Kategori - pazarlama vb ekiplere özelleşmiş etkileşimli dashboardlar
› Ürün başarım metrikleri
› Arama tıklanma oranları (Search CTR)
› Banner tıklanma oranları
› Ürün tavsiyelerinin tıklanma oranları
› Farklı algoritmaların (öneri vb.) A/B testleri
Hepsistream Nerede Kullanılıyor?
9
› Kullanıcı davranışı keşif
› Başarılı / başarısız arama sonuçları, kullanıcı arama alışkanlıkları
› Yeni üye kayıt sayfasındaki vazgeçme oranları
› UX odağında kullanımı düşük tasarımların/bileşenlerin belirlenmesi
› UX odağında MVP kapsamında geliştirilen yeni özelliklerin incelenmesi
› Pazarlama (İleride)
› Karmaşık veri zenginleştirme ihtiyacı olan durumlar -> Google
Analytics’den Hepsistream’e
Hepsistream Nerede Kullanılıyor?
10
Hepsistream’in Ortaya Çıkışı
11
› Planlama 2018 başlangıcı
› Temmuz 2018
› MVP (Minimum viable product)
› 23 Kasım - Efsane Cuma
Hepsistream’in Ortaya Çıkışı
12
Genel Yapı
13
Genel Yapı
14
Genel Yapı
15
Genel Yapı
16
Lambda Mimarisi
17
İlk Evre: Google BigQuery
18
› NSA tarafından geliştirilmeye başlandı
› Sistemler arası veri aktarımı
› Veri dönüştürme
› Veri zenginleştirme
› Grafik arayüzü
› Dağıtık çalışabilme
› Genişletilebilir
› Data Provenance (Veri takibi)
Apache NiFi
19
Apache NiFi
20
Apache NiFi
21
İlk Evre: Google BigQuery
22
İkinci Evre: Google Cloud Storage + BigQuery
23
İkinci Evre: Google Cloud Storage + BigQuery
24
Hadoop
25
› Hortonworks Data Flow
› Kafka
› Nifi
› Storm
› Schema Registry
› Stream Analytic Manager
HDF Nedir
26
› Hortonworks Data Platform
› Hadoop 2.7 (Hadoop 3 upgrade in progress)
› Hive LLAP
› Spark
› Hbase
› Druid
› Superset
› +Hue
HDP Nedir
27
Büyük Veri Altyapısı
Hortonworks Data Platform and Data Flow
28
Üçüncü Evre: Lambda Batch Layer
29
› Hive + Tez
› Hive + In memory cache + LLAP Daemons
› Ad-hoc query
› Veriyi hızlıca sorgulayabilmeleri için diğer
ekiplerin kullanımına açıldı
› Testlerimizde LLAP Hive’a göre 10 kat
performanslıydı.
Hive LLAP
30
Hive MR vs Hive on TEZ vs Hive LLAP
31
Hive vs LLAP
https://community.hortonworks.com/articles/149894/llap-a-one-page-architecture-overview.html
32
Üçüncü Evre: Lambda Batch Layer
33
› 100’den fazla farklı event
› Bir event için birden fazla kaynak
› Event yapılarının ortaklaştırılması
› Event’lerin validasyonu
› Event yapılarının versiyonlanmasi
› Aynı event birden fazla versiyonla gelebilir
Event Yapılarının Yönetilmesi
34
Dördüncü Deneme: Lambda Batch Layer
35
Schema Registry
36
› Event Şema Havuzu
› Şema Versiyon Yönetimi
› Şema Validasyonu
› RestFul API
› Avro Schema
Schema Registry
37
Schema Registry
38
Schema Registry
39
Hepsistream Lambda Batch Layer
40
› Bir süre veri iki tarafa da gönderildi
› Google Cloud Storage download yavaş
› BigQuery sorgulama daha hızlı
› API geliştirilip bütün veri sorgu olarak Hadoop
ortamına aktarıldı
Google Cloud - Hadoop Geçişi
41
› Hala gerçek zamanlı veriyi göremiyoruz
› Sitede kaç aktif kullanıcı var?
› Hangi kategorilerde en çok hangi aramalar yapılıyor?
› Hangi kategoriler, satıcılar, ürünler en çok görüntüleniyor?
› Görüntülemeler hangi kaynaklardan ve kanallardan geliyor?
› Müşteriler hangi sayfalarda yoğunlaşmış durumda?
› Zaman serisi olarak gerçek zamanlı trend ne?
› Veriyi gerçek zamanlı işleyip analitik sorgu atabileceğimiz,
istediğimiz gibi özelleştirebileceğimiz, etkileşimli kullanılabilecek
bir sistem gerekiyordu
Lambda Stream Layer
42
Apache Druid Kullananlar
43
› High performance real-time analytics database.
› Analyze event streams
› Timeseries indexing
› Column oriented + Indexing
› Data compression
› Rollup
› Sub-second query times
› Slice & dice
Apache Druid
44
Apache Druid Bileşenleri
45
Apache Druid
› JSON API
› Hive Storage Handler
› Streaming + Batch Ingest
› Kafka Ingest
› Java/Scala (Tranquility)
› MapReduce Ingest
› Hive Ingest
46
İlk Evre: Lambda Stream Layer
47
İlk Evre: Lambda Stream Layer
48
İkinci Evre: Lambda Stream Layer
49
› Açık Kaynaklı
› Streaming Analitik Uygulamaları için tasarım,
geliştirme, deploy ve yönetimi
› aggregations over window,pattern matching vs.
› Sürükle bırak
› Sıfır Kod
Stream Analytic Manager
50
› Streaming Engines
› Storm
› Spark Streaming
› Flink
› Data Sources
› Hbase
› Kafka
› Druid
› HDFS
› Hive
Stream Analytic Manager
51
Stream Analytic Manager
52
İkinci Evre: Lambda Stream Layer
53
Üçüncü Evre: Lambda Stream Layer
54
Üçüncü Evre: Lambda Stream Layer
55
Dördüncü Evre: Lambda Stream Layer
56
› Performaslı
› Normal Yuk x30
› Tranquility 0.7.3 (Thread leak)
› https://github.com/druid-io/tranquility/pull/
168
› Tranquility 0.8.2’ye güncellendi.
Dördüncü Evre: Lambda Stream Layer
57
› Hive-Druid Etkileşimi
› Yarn Node Labeling
› Spark 10 executor 2GB bellek
› Druid 6 saatlik segment
Efsane Cuma Kaynak Ayrımı
58
› Spark Executor sayisi 2 ye dusuruldu
› Executor Memory 1GB
Efsane Cuma Sonrası
59
› Modern, enterprise-ready business intelligence
› Web Interface
› Druid Integration
› RDBMS Integration (SQL Alchemy)
› Interactive Dashboard
› Developed by Airbnb
Superset
60
› HDP üzerinde geliyor
› Versiyon güncellendi (daha iyi görselleştirme)
› Beraberinde SQLite ile geliyor
› Bir süre SQLite ile kullandık fakat kullanıcı sayısı
artınca yetersiz kaldı.
› Postgresql’e geçiş yaptık.
Superset-Druid Entegrasyonu
61
› Yetkilendirme özellikleri biraz kısıtlı
› LDAP entegrasyonu yok.
› Dashboard bazlı yetkilendirme yok
› Datasource bazlı yetkilendirme var.
› NGINX Proxy
Superset-Druid Entegrasyonu
62
Superset
63
Hepsistream Case Study
64
Hepsistream Case Study
65
Superset
66
Superset
67
Superset
68
e-mail: mustafa.yagimli@hepsiburada.com
69
Sorularınız?
70
Teşekkürler

More Related Content

PPTX
Delta lake and the delta architecture
PDF
Introduction to Machine Learning with Spark
PDF
Mule caching strategy with redis cache
PPTX
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
PDF
Tame the small files problem and optimize data layout for streaming ingestion...
PDF
HDFS on Kubernetes—Lessons Learned with Kimoon Kim
PDF
XStream: stream processing platform at facebook
PPTX
Hadoop World 2011: Advanced HBase Schema Design
Delta lake and the delta architecture
Introduction to Machine Learning with Spark
Mule caching strategy with redis cache
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
Tame the small files problem and optimize data layout for streaming ingestion...
HDFS on Kubernetes—Lessons Learned with Kimoon Kim
XStream: stream processing platform at facebook
Hadoop World 2011: Advanced HBase Schema Design

What's hot (20)

PDF
Intro to HBase
PDF
Data Ingest Self Service and Management using Nifi and Kafka
PDF
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
PPTX
The Top 5 Apache Kafka Use Cases and Architectures in 2022
PPTX
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
PDF
Big Data Processing with Spark and Scala
PPTX
Hadoop configuration & performance tuning
PDF
JupyterHub - A "Thing Explainer" Overview
PPTX
Worst Splunk practices...and how to fix them
PDF
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
PDF
Big Data MDX with Mondrian and Apache Kylin
PDF
ClickHouse Deep Dive, by Aleksei Milovidov
PDF
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
PPTX
Introduction to Storm
PPTX
Preparing for SRE Interviews
PPTX
Apache Arrow Flight Overview
PPTX
Splunk Overview
PDF
Introduction to Redis
PDF
Druid + Kafka: transform your data-in-motion to analytics-in-motion | Gian Me...
PPTX
Apache sqoop with an use case
Intro to HBase
Data Ingest Self Service and Management using Nifi and Kafka
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
Big Data Processing with Spark and Scala
Hadoop configuration & performance tuning
JupyterHub - A "Thing Explainer" Overview
Worst Splunk practices...and how to fix them
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
Big Data MDX with Mondrian and Apache Kylin
ClickHouse Deep Dive, by Aleksei Milovidov
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introduction to Storm
Preparing for SRE Interviews
Apache Arrow Flight Overview
Splunk Overview
Introduction to Redis
Druid + Kafka: transform your data-in-motion to analytics-in-motion | Gian Me...
Apache sqoop with an use case
Ad

Similar to Hepsistream real time click-stream data analytics platform (20)

PDF
Hadoop @ devveri.com
PPTX
Berkeley Data Analytics Stack Genel Bakış
PPTX
Berkeley Data Analytics Stack Genel Bakış
PPTX
Hadoop,Pig,Hive ve Oozie ile Büyük Veri Analizi
PDF
Büyük veri teknolojilerine giriş v1l
ODP
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
PPTX
Big Data Sunum
PPTX
Istanbul Datascience Academy Talks
PDF
Python Programlama Diline Giriş Güncelleme 2024
PDF
Python sitesi
PDF
Riak ve RiakCS
ODP
Hadoop & Cloudera Workshop
PPTX
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
PDF
Apache Kafka Nedir?
PDF
Python odev-sitesi
PDF
Python dokumani
PPT
Internet Tabanli Yildiz Teknik Universitesi Bilgi Sistemi
PDF
Python zirvesi
PDF
Python programlama
PPTX
Microsoft SQL 2014
Hadoop @ devveri.com
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
Hadoop,Pig,Hive ve Oozie ile Büyük Veri Analizi
Büyük veri teknolojilerine giriş v1l
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
Big Data Sunum
Istanbul Datascience Academy Talks
Python Programlama Diline Giriş Güncelleme 2024
Python sitesi
Riak ve RiakCS
Hadoop & Cloudera Workshop
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
Apache Kafka Nedir?
Python odev-sitesi
Python dokumani
Internet Tabanli Yildiz Teknik Universitesi Bilgi Sistemi
Python zirvesi
Python programlama
Microsoft SQL 2014
Ad

Hepsistream real time click-stream data analytics platform