Hoppa till huvudinnehåll
  1. Mina skrifter/

Bygga en skalbar datapipeline för Momspresso: Möjliggöra personalisering av innehåll

I det ständigt föränderliga digitala landskapet behöver innehållsplattformar som Momspresso robust datainfrastruktur för att leverera personaliserade upplevelser till sina användare. Idag är jag glad att dela insikter om den skalbara datapipeline vi har byggt för Momspresso, som driver deras analys- och rekommendationssystem.

Utmaningen #

Momspresso behövde ett system som kunde:

  1. Fånga användaraktiviteter i realtid
  2. Bearbeta och lagra stora mängder data effektivt
  3. Möjliggöra snabb analys och visualisering av användarbeteende
  4. Stödja en rekommendationsmotor för personaliserad innehållsleverans

Vår lösning: En omfattande datapipeline #

Vi designade en datapipeline med flera komponenter som adresserar dessa behov:

1. Python Events SDK #

Vi utvecklade en enkel Python-klass som kan integreras i Momspressos kodbas. Detta SDK gör det möjligt för systemet att skicka händelser utan att skriva underliggande kod, vilket gör det enkelt för utvecklare att spåra användarinteraktioner.

2. Event Web Service #

Denna tjänst tar emot händelser från SDK:n och skickar dem till Kafka efter mindre validering. Den fungerar som ingångspunkt för all användarinteraktionsdata.

3. Apache Kafka #

Vi valde Kafka som vårt meddelandeförmedlings- och pub-sub-system för dess höga genomströmning och feltolerans. För närvarande körs det på en enda maskin, redo att skalas när Momspresso växer.

4. Datainsamlingssystem #

Denna komponent lyssnar på alla händelser från Kafka och infogar dem i en PostgreSQL-databas. Genom att använda Postgres JSON-funktioner har vi skapat en flexibel och sökbar datamängd.

5. PostgreSQL Event Store #

Vår primära datalagring för alla händelser. Vi har implementerat ett månatligt arkiveringssystem för att hantera lagring effektivt.

6. Grafana för realtidsanalys #

Ansluten till vår händelselagring möjliggör Grafana för Momspresso att grafera realtidsfrågor, spåra funktionsanvändning, övervaka konverteringsprestanda och upptäcka avvikelser.

7. Data View System #

Denna komponent kör en serie heuristik och modeller för att definiera användarattribut och uppdaterar en separat User View-databas.

8. PostgreSQL Data View Database #

Denna databas lagrar de bearbetade användarvyerna, vilket möjliggör snabb åtkomst till härledda användardata.

9. Metabase för instrumentpaneler #

Med hjälp av Data View-databasen kan Metabase låta Momspresso skapa anpassade instrumentpaneler och rapporter med SQL-frågor.

10. Unik Userprint Web Service #

En smart 1x1 pixel-tjänst som tilldelar en unik signatur i en cookie för varje användare, vilket gör det möjligt för oss att spåra användare över sessioner.

Kraften i denna pipeline #

Denna datapipeline stärker Momspresso på flera sätt:

  1. Realtidsinsikter: Momspresso kan nu spåra användarbeteende och innehållsprestanda i realtid.
  2. Personalisering: Den strukturerade användardatan möjliggör sofistikerade innehållsrekommendationsalgoritmer.
  3. Flexibel analys: Med data lagrad i sökbara format kan Momspresso enkelt utföra ad hoc-analyser.
  4. Skalbarhet: Den modulära designen gör att enskilda komponenter kan skalas eller ersättas efter behov.

Framtidsutsikter #

När Momspresso fortsätter att växa kommer denna datapipeline att spela en avgörande roll för att förstå användarbeteende och leverera personaliserade upplevelser. Vi ser fram emot att se hur Momspresso kommer att utnyttja denna infrastruktur för att förbättra sin plattform och engagera sin gemenskap mer effektivt.

Håll utkik efter vårt nästa inlägg, där vi kommer att fördjupa oss i rekommendationssystemet som byggts ovanpå denna datapipeline!