Ad-Tech platform MobPro verwerkt dagelijks ruim 1 miljard events tot rapportages, die real-time inzicht geven in de voortgang van advertentiecampagnes. In deze presentatie vertelt Gijs hoe Mobpro samen met GoDataDriven een schaalbaar, open-source platform heeft geimplementeerd om deze enorme hoeveelheid data te verwerken tot bruikbare inzichten.
3. ● ● ● Gijs van der Voort
● Computer Science (Universiteit van Amsterdam)
● 7 jaar in de ad-tech sector
● Waarvan 5 jaar bij MobPro
● Van developer tot head of IT
Gijs van der Voort
4. ● ● ● MobPro
Een full service bureau gespecialiseerd in
mobile advertising campagnes.
Wij begrijpen consumentengedrag en
ontwikkelen campagnes vanuit die gedachte.
Zo creëren we mentale beschikbaarheid en
gedragsverandering.
Met 30 mobile consultants,
campagnemanagers, creative developers &
techneuten de expert aan de zijde van ruim
vijftig A-merken, zoals:
5. ● ● ● MobPro & tech
MobPro & Tech
● Real-time inkoop van advertentie ruimtes
voor tonen van advertentie campagnes
● Meten van gebeurtenissen met betrekking
tot de advertentie ruimtes
● Attributie van in-app gebeurtenissen aan
getoonde advertenties
6. ● ● ● Fokko Driesprong
● Distributed Systems & Software Engineering
at University of Groningen
● Data Engineer at GoDataDriven
● Apache PPMC Member and Apache Airflow
committer
● Contributer to Apache Flink, Apache Spark,
Apache Druid and any many more
Fokko Driesprong
8. ● ● ● Analytics bij MobPro
De getallen
● 22 advertentienetwerken
● 10.000 veilingen per seconde
● 500 biedingen per seconde
● 400 tracking events per seconde
● 70GB per dag gecomprimeerd
● 400GB per dag rauwe data
De getallen
9. ● ● ● Analytics bij MobPro
De verschillende type analyses
Rapportage
● “Hoeveel impressies hebben we per dag gerealiseerd?”
● “Op welk platform presenteerde de campagne het beste?”
● “Hoeveel mensen hebben we met de campagne bereikt?”
Forecasting
● “Is het mogelijk om 100.000 mensen binnen Amsterdam te bereiken?”
● “Is het mogelijk om 200.000 views te realiseren in een specifieke groep apps op Android?”
Exploration/debugging
● “Wat voor apps zitten er in netwerk X?”
● “Wat voor impact heeft de nieuwe cookie/consent wetgeving op ons netwerk?”
● “In welk format stuurt app X land codes?”
De verschillende type analyses
10. ● ● ● Analytics bij MobPro
De oude situatie
PostgreSQL
● Alleen bruikbaar voor rapportage
● ‘Unieken’ moeilijk/onmogelijk
● Alleen verticaal schaalbaar
● Schema changes ‘forwards only’
Metamarkets
● Druid as a service
● Black box
● Schema changes duur en traag
● API eerst niet beschikbaar, later slecht bruikbaar
De oude situatie
Vervelend: moeizaam mee
te veranderen met de markt
Erger: verschil in metrics
tussen Postgres en
Metamarkets
12. ● ● ● Schaalbare oplossing
Speerpunten
● Flexibiliteit
● Lage Total Cost of Ownership (TCO)
De oude situatie
13. ● ● ● Apache Druid (Incubating)
● Gedistribueerd, kolom georiënteerd, real-time analytics
● Geoptimaliseerd voor sub-second slice-and-dice analytische queries
● Gebruikt door: Netflix, Wallmart, AirBnB, en meer
● Horizontaal schaalbaar
● 2011: Ontwikkeld door Metamarkets
● 2015: Open Source Apache 2.0 licentie
● 2017: Naar de Apache software foundation
De oude situatie
15. ● ● ● Schaalbare oplossing
Open Source
● Toegang tot de broncode
● Ondersteund door grote bedrijven
● Laatste technologie
● Samen een beter product
● Samen het fixen van bugs
Open Source
19. ● ● ●
Resultaat
Schaalbare oplossing
Resultaat
● Single source of truth
● `Unieken` in elke analyse beschikbaar
● Redundantie ingebakken
● Schema veranderingen met terugwerkende kracht
● Zo snel als dat we ervoor willen betalen
○ Alle rapportages binnen 2 seconden
○ Forecasting/debugging in enkele minuten
● Integreerbaar in bestaande systemen via API
20. ● ● ● Schaalbare oplossing
Next steps
Streaming ingestion
● Data real-time beschikbaar
● Ook bij mislukte batch jobs
Eigen hardware
● Sneller
○ Lokale disks, geen noisy neighbours, geen IOPS restricties
● Goedkoper
○ Alleen redundantie daar waar nodig
○ Specs sluiten beter aan op type workload
Next steps
21. ● Grote tech stack, dus:
○ Engineering culture nodig
○ Java java java
● Kosten trade-offs
● Maar ready for the future
● Naast scalable analytics ook ‘gratis’ een big-data stack
Take-aways