SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Wielki Brat patrzy
Czyli jak zbieramy dane o użytkownikach Allegro
O nas
Marcin Kuthan
mkuthan.github.io
Maciej Arciuch
zbyt leniwy, żeby mieć konto na githubie
Opowiemy o
● czym jest clickstream (co?)
● potrzebach biznesowych i
technicznych (dlaczego?)
● ogólnej architekturze
systemu, technicznych
aspektach (jak?)
Clickstream w Allegro
● Czym jest clickstream?
● Zbierane z frontu, web i mobile
● Ponad 400 mln zdarzeń dziennie
● Podstawa do wielu decyzji biznesowych
● Kilka zespołów Big Data
Jak być powinno
● Dane dostępne od razu - małe opóźnienia
● Dobrze opisane, łatwo dostępne dla innych
● Efektywny format danych
● Stabilnie
● Skalowalnie
A jak czasem wychodzi...
Spróbujmy jeszcze raz
● Potrzeba nr 1: szybciej!
● Kolejka + przetw. strumieniowe: po 2s
● Stabilnie i skalowalnie
● Nowe zastosowania:
○ dział wykrywania “wałków”
○ rekomendacje, wyszukiwarka
Spróbujmy jeszcze raz
Spróbujmy jeszcze raz
Potrzeba nr 2: miejsce. Rozwiązanie: format Avro
● dojrzałe rozwiązanie
● zajmuje (całkiem) mało miejsca
● schematy: struktura + dokumentacja
● do przetw. wsadowego i strumieniowego
● kompatybilność
Spróbujmy jeszcze raz
● Dane nieskompresowane: Avro zajmuje 45% JSON-a
● Avro - format binarny: niektóre alg. kompresji się nie
nadają (vide Snappy, 9 razy mniejszy stopień
kompresji Avro niż JSON-a)
● Realny wybór: GZip vs LZ4
○ wybraliśmy LZ4 - mniejsze zużycie CPU kosztem
20% gorszej kompresji
● Możliwość zmiany “w locie” (Kafka)
Spróbujmy jeszcze raz
Problem nr 3: bałagan. Rozwiązanie: centralne
repozytorium schematów.
● single source of truth
● każdy element czyta z repo najnowszy schemat
● kontrola kompatybilności przy commicie
● wiemy z czym porównać
● propagacja do metastore’a, plików, itd.
Repozytorium schematów
● “schema review” - praca nad
schematem przez pull-requesty
● merge, wdrożenie na DEV
● promocja na TEST i PROD
● nie ważne co wdrożymy pierwsze:
kod czy schemat
Repozytorium schematów
● Dwie konkurencyjne implementacje
○ https://github.com/schema-repo/schema-repo
○ https://github.com/confluentinc/schema-registry
● Korzystamy ze schema-repo
○ była pierwsza, wyszła z AVRO-1124
○ trzyma schematy w ZK, a nie Kafce
Pageviews
Mobile
Events
Errors
Source
Clickstream Ingestion System
Buffer
Kafka
...
Clients
Kafka
Pageviews
Mobile
Events
Errors
Clickstream Ingestion System (cont)
...
Clients
Kafka camus
camus2hive.sh
Why Spark Streaming?
Why Apache Kafka?
Requirements
● Scalability
● At least once delivery
● Fault tolerance
● Back pressure
At least once - end2end
“Offset Store”“Streaming Engine”
fetch_data(topic, partitions, offset_begins, offset_ends)
process_data
commit_offsets(topic, partitions, offsets)
publish_results(topic, results)
Kafka Out Kafka In
get_offsets(topic)
Exactly once
“Checkpoint Store”“Streaming Engine”
fetch_data(topic, partitions, offset_begins, offset_ends)
process_data
store_checkpoint(metadata, results)
publish_results(results)
Kafka Out Kafka In
load_checkpoint()
transactional
non-transactional
exactly once
Exactly once - end2end
Apache Kafka
⇓
Streaming Engine
⇓
Apache Kafka
Fault tolerance
● yarn-cluster
● spark.yarn.maxAppAttempts
● spark.yarn.max.executor.failures
● spark.task.maxFailures
● spark.streaming.kafka.maxRetries
Fault tolerance
● min.insync.replicas = 2
● acks = all
● topics rep factor >= 3
● kafka clusters >= 4 nodes
● retries > 0
● retry.backoff.ms > 0
Fault tolerance
Back pressure
input rate == processing rate
Source Sink
Back pressure
Source Sink
input rate > processing rate
Back pressure
Source Sink
steady state again
Back pressure
Source Sink
initial state
spark.streaming.kafka.maxRatePerPartition*
* effectively requires single topic
Back pressure
● Pull from source
● Process
● Push to sink (sync)
buffer.memory=not too much
block.on.buffer.full=true
Spark Streaming & Apache Kafka integration
● Receiver based approach / high
level Kafka consumer
● Direct streams approach / low level
Kafka consumer
Receiver based approach
Spark Executor
Receiver
1
HDFS (WAL)
Spark Driver
Streaming
Context
Offset Store
Source
pull data
Receiver based approach
Spark Executor
Receiver
1
HDFS (WAL)
2
Spark Driver
Streaming
Context
Offset Store
Source
store Write Ahead Log
Receiver based approach
Spark Executor
Receiver
1
HDFS (WAL)
2
Spark Driver
Streaming
Context
3
4
Offset Store
Source
send blocks’ ids and commit offset
Receiver based approach
Spark Executor6
HDFS (WAL)
Spark Driver
Streaming
Context
5
Offset Store
Sink
process data and publish results
Driver checkpointing
Spark Driver
Streaming
Context
Blocks’ ids
HDFS
(checkpoint)
Driver checkpointing
HDFS
(checkpoint)
Failed
Spark Driver
Restarted
Spark Driver
Streaming
Context
Blocks’ ids
Driver checkpointing
StreamingContext.getOrCreate(
checkpointDir,
functionToCreateContext
)
Problems
1. Receiver occupies 1 core / executor
2. Data duplication
3. Additional latency
4. HDFS load
5. Complex back pressure
6. Controversial checkpointing
Other gotchas
● High Level Consumer rebalancing
● Spark partition != Kafka partition
val kafkaDStreams = (1 to readParallelism).map {
KafkaUtils.createStream(...)
}
val unionDStream = ssc.union(kafkaDStreams)
Receivers - summary
Direct stream approach
1
2
Offset Store
Spark Driver
Streaming
Context
Spark Executor
Source
fetch offset & distribute work
Sink
Direct stream approach
1
2 3
Offset Store
Spark Driver
Streaming
Context
Spark Executor
Source
fetch, process & publish data
Sink
4
Direct stream approach
1
2 3
5
6
Offset Store
Spark Driver
Streaming
Context
Spark Executor
Source
wait for completion & commit offset
Sink
4
5’
Direct stream - good parts
● Low level Kafka consumer
● Straightforward fault tolerance for
at least once
● Built-in natural back pressure
● No WAL
● Kafka partition == Spark partition
Direct stream - bad parts
● Built-in at least once
auto.offset.reset=smallest
● Offset Store based at least once
DIY
Direct stream - bad parts
● Lack of kafka connections pool
● Less mature/mainstream than
receiver based approach
Direct stream - summary
Key takeaways
● Avro schemas and a central schema repo
- a way to reduce confusion
● Spark Streaming & Apache Kafka - almost
perfect couple
● Use Direct Streams
Q/A?
Thank you!
http://github.com/allegro
http://allegro.tech

Más contenido relacionado

La actualidad más candente

Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
Technologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreTechnologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreSages
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkThe Software House
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
Metaprogramowanie w JS
Metaprogramowanie w JSMetaprogramowanie w JS
Metaprogramowanie w JSDawid Rusnak
 
Kubernetes: from zero to be hero
Kubernetes: from zero to be heroKubernetes: from zero to be hero
Kubernetes: from zero to be heroThe Software House
 
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDKZłam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDKSemihalf
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxDawid Rusnak
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITKamil Grabowski
 
Jak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIXJak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIXKamil Grabowski
 
xlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring Bootxlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring BootXSolve
 
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Michał Kurzeja
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJSSages
 
Programowanie Równolegle - Parallel Extensions
Programowanie Równolegle - Parallel ExtensionsProgramowanie Równolegle - Parallel Extensions
Programowanie Równolegle - Parallel ExtensionsWojciech Grześkowiak
 
PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...
PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...
PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...PROIDEA
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Polska
 

La actualidad más candente (20)

Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
PHP-PM. Hit czy kit?
PHP-PM. Hit czy kit?PHP-PM. Hit czy kit?
PHP-PM. Hit czy kit?
 
Technologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreTechnologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT core
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic Beanstalk
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?
 
Metaprogramowanie w JS
Metaprogramowanie w JSMetaprogramowanie w JS
Metaprogramowanie w JS
 
Kubernetes: from zero to be hero
Kubernetes: from zero to be heroKubernetes: from zero to be hero
Kubernetes: from zero to be hero
 
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDKZłam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/Redux
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań IT
 
Jak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIXJak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIX
 
xlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring Bootxlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring Boot
 
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJS
 
Programowanie Równolegle - Parallel Extensions
Programowanie Równolegle - Parallel ExtensionsProgramowanie Równolegle - Parallel Extensions
Programowanie Równolegle - Parallel Extensions
 
PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...
PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...
PLNOG 7: Paweł Pierścionek, Michał Podoski - FreeSwitch, czyli Open Source Vo...
 
Ansible w praktyce
Ansible w praktyceAnsible w praktyce
Ansible w praktyce
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
 

Destacado

Microservices architecture pitfalls
Microservices architecture pitfallsMicroservices architecture pitfalls
Microservices architecture pitfallsallegro.tech
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesEberhard Wolff
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale AgileEberhard Wolff
 
Microservice architecture 바로 알기
Microservice architecture 바로 알기Microservice architecture 바로 알기
Microservice architecture 바로 알기GunHee Lee
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology StackEberhard Wolff
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeAdrian Cockcroft
 
Designing London 2012: the story behind the venues
Designing London 2012: the story behind the venuesDesigning London 2012: the story behind the venues
Designing London 2012: the story behind the venuesdcmsdigital
 
Intergrated for signout2hangout Caraka 2013
Intergrated for signout2hangout Caraka 2013Intergrated for signout2hangout Caraka 2013
Intergrated for signout2hangout Caraka 2013Muhammad Hibatullah
 
Salam Base Business
Salam Base BusinessSalam Base Business
Salam Base BusinessHaziq Jadoon
 
Perrilaku terpuji
Perrilaku terpujiPerrilaku terpuji
Perrilaku terpujiyaniajhaa34
 
Sustainable Event Tips
Sustainable Event TipsSustainable Event Tips
Sustainable Event TipsTerra Walker
 
Communication Protocols
Communication  ProtocolsCommunication  Protocols
Communication Protocolsguest798cc7
 
Si Kecil Yang Berharga - A Campaign Against Smoking Around Children
Si Kecil Yang Berharga - A Campaign Against Smoking Around ChildrenSi Kecil Yang Berharga - A Campaign Against Smoking Around Children
Si Kecil Yang Berharga - A Campaign Against Smoking Around ChildrenJames Hezekiah
 

Destacado (20)

Microservices architecture pitfalls
Microservices architecture pitfallsMicroservices architecture pitfalls
Microservices architecture pitfalls
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
Microservice architecture 바로 알기
Microservice architecture 바로 알기Microservice architecture 바로 알기
Microservice architecture 바로 알기
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A Challenge
 
Designing London 2012: the story behind the venues
Designing London 2012: the story behind the venuesDesigning London 2012: the story behind the venues
Designing London 2012: the story behind the venues
 
ORACLE HCM_2708
ORACLE HCM_2708ORACLE HCM_2708
ORACLE HCM_2708
 
Salam tempel
Salam tempelSalam tempel
Salam tempel
 
Intergrated for signout2hangout Caraka 2013
Intergrated for signout2hangout Caraka 2013Intergrated for signout2hangout Caraka 2013
Intergrated for signout2hangout Caraka 2013
 
Salam Base Business
Salam Base BusinessSalam Base Business
Salam Base Business
 
Perrilaku terpuji
Perrilaku terpujiPerrilaku terpuji
Perrilaku terpuji
 
Sustainable Event Tips
Sustainable Event TipsSustainable Event Tips
Sustainable Event Tips
 
Bid’ah, apakah itu
Bid’ah, apakah ituBid’ah, apakah itu
Bid’ah, apakah itu
 
Communication Protocols
Communication  ProtocolsCommunication  Protocols
Communication Protocols
 
Si Kecil Yang Berharga - A Campaign Against Smoking Around Children
Si Kecil Yang Berharga - A Campaign Against Smoking Around ChildrenSi Kecil Yang Berharga - A Campaign Against Smoking Around Children
Si Kecil Yang Berharga - A Campaign Against Smoking Around Children
 

Similar a [WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro

Wjug from java to big data
Wjug   from java to big dataWjug   from java to big data
Wjug from java to big dataPiotr Guzik
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PROIDEA
 
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl 3camp
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logówDivante
 
tRPC - czy to koniec GraphQL?
tRPC - czy to koniec GraphQL?tRPC - czy to koniec GraphQL?
tRPC - czy to koniec GraphQL?Brainhub
 
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Filip Rembialkowski
 
Najbardziej popularne wzorce architektoniczne w chmurze
Najbardziej popularne wzorce architektoniczne w chmurzeNajbardziej popularne wzorce architektoniczne w chmurze
Najbardziej popularne wzorce architektoniczne w chmurzeLukasz Kaluzny
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajnościmagda3695
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaWojciech Lichota
 
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł StefańskiPLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł StefańskiPROIDEA
 
TV i video w Internecie
TV i video w InternecieTV i video w Internecie
TV i video w InternecieDivante
 
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...PROIDEA
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Confitura 2018 - Sekretne życie jobów Sparkowych
Confitura 2018 - Sekretne życie jobów SparkowychConfitura 2018 - Sekretne życie jobów Sparkowych
Confitura 2018 - Sekretne życie jobów SparkowychMarcin Jasiński
 
Shall we play a game? PL version
Shall we play a game? PL versionShall we play a game? PL version
Shall we play a game? PL versionMaciej Lasyk
 

Similar a [WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro (20)

Wjug from java to big data
Wjug   from java to big dataWjug   from java to big data
Wjug from java to big data
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
It od kuchni w nokaut.pl
It od kuchni w nokaut.plIt od kuchni w nokaut.pl
It od kuchni w nokaut.pl
 
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logów
 
tRPC - czy to koniec GraphQL?
tRPC - czy to koniec GraphQL?tRPC - czy to koniec GraphQL?
tRPC - czy to koniec GraphQL?
 
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Najbardziej popularne wzorce architektoniczne w chmurze
Najbardziej popularne wzorce architektoniczne w chmurzeNajbardziej popularne wzorce architektoniczne w chmurze
Najbardziej popularne wzorce architektoniczne w chmurze
 
EXADATA - Infrastruktura Przyszłości
EXADATA - Infrastruktura PrzyszłościEXADATA - Infrastruktura Przyszłości
EXADATA - Infrastruktura Przyszłości
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
 
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł StefańskiPLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
 
TV i video w Internecie
TV i video w InternecieTV i video w Internecie
TV i video w Internecie
 
university day 1
university day 1university day 1
university day 1
 
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Confitura 2018 - Sekretne życie jobów Sparkowych
Confitura 2018 - Sekretne życie jobów SparkowychConfitura 2018 - Sekretne życie jobów Sparkowych
Confitura 2018 - Sekretne życie jobów Sparkowych
 
Shall we play a game? PL version
Shall we play a game? PL versionShall we play a game? PL version
Shall we play a game? PL version
 

Más de allegro.tech

allegro.tech Data Science Meetup #2: Elasticsearch w praktyce
allegro.tech Data Science Meetup #2: Elasticsearch w praktyceallegro.tech Data Science Meetup #2: Elasticsearch w praktyce
allegro.tech Data Science Meetup #2: Elasticsearch w praktyceallegro.tech
 
Scaling infrastructure beyond containers
Scaling infrastructure beyond containersScaling infrastructure beyond containers
Scaling infrastructure beyond containersallegro.tech
 
Confitura 2015 - Mikrousługi nie lubią być samotne
Confitura 2015 - Mikrousługi nie lubią być samotneConfitura 2015 - Mikrousługi nie lubią być samotne
Confitura 2015 - Mikrousługi nie lubią być samotneallegro.tech
 
RxJava - introduction & design
RxJava - introduction & designRxJava - introduction & design
RxJava - introduction & designallegro.tech
 
JDD 2014: Adam Dubiel - Import allegro.tech.internal.*
JDD 2014: Adam Dubiel - Import allegro.tech.internal.*JDD 2014: Adam Dubiel - Import allegro.tech.internal.*
JDD 2014: Adam Dubiel - Import allegro.tech.internal.*allegro.tech
 
Fighting with scale
Fighting with scaleFighting with scale
Fighting with scaleallegro.tech
 

Más de allegro.tech (6)

allegro.tech Data Science Meetup #2: Elasticsearch w praktyce
allegro.tech Data Science Meetup #2: Elasticsearch w praktyceallegro.tech Data Science Meetup #2: Elasticsearch w praktyce
allegro.tech Data Science Meetup #2: Elasticsearch w praktyce
 
Scaling infrastructure beyond containers
Scaling infrastructure beyond containersScaling infrastructure beyond containers
Scaling infrastructure beyond containers
 
Confitura 2015 - Mikrousługi nie lubią być samotne
Confitura 2015 - Mikrousługi nie lubią być samotneConfitura 2015 - Mikrousługi nie lubią być samotne
Confitura 2015 - Mikrousługi nie lubią być samotne
 
RxJava - introduction & design
RxJava - introduction & designRxJava - introduction & design
RxJava - introduction & design
 
JDD 2014: Adam Dubiel - Import allegro.tech.internal.*
JDD 2014: Adam Dubiel - Import allegro.tech.internal.*JDD 2014: Adam Dubiel - Import allegro.tech.internal.*
JDD 2014: Adam Dubiel - Import allegro.tech.internal.*
 
Fighting with scale
Fighting with scaleFighting with scale
Fighting with scale
 

[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro