Zum Hauptinhalt springen
  1. Meine Schriften/

Aufbau einer skalierbaren Datenpipeline für Momspresso: Stärkung der Inhaltspersonalisierung

In der sich ständig weiterentwickelnden digitalen Landschaft benötigen Content-Plattformen wie Momspresso eine robuste Dateninfrastruktur, um ihren Nutzern personalisierte Erlebnisse zu bieten. Heute freue ich mich, Einblicke in die skalierbare Datenpipeline zu geben, die wir für Momspresso aufgebaut haben und die ihre Analyse- und Empfehlungssysteme antreibt.

Die Herausforderung #

Momspresso benötigte ein System, das:

  1. Benutzerereignisse in Echtzeit erfassen kann
  2. Große Datenmengen effizient verarbeiten und speichern kann
  3. Schnelle Analyse und Visualisierung des Nutzerverhaltens ermöglicht
  4. Eine Empfehlungsmaschine für personalisierte Inhaltsbereitstellung unterstützt

Unsere Lösung: Eine umfassende Datenpipeline #

Wir haben eine Datenpipeline mit mehreren Komponenten entworfen, die diese Bedürfnisse adressiert:

1. Python Events SDK #

Wir haben eine einfache Python-Klasse entwickelt, die in den gesamten Momspresso-Code integriert werden kann. Dieses SDK ermöglicht es dem System, Ereignisse zu pushen, ohne zugrunde liegenden Code zu schreiben, was es für Entwickler einfach macht, Benutzerinteraktionen zu verfolgen.

2. Event-Webservice #

Dieser Service empfängt Ereignisse vom SDK und pusht sie nach einer geringfügigen Validierung an Kafka. Er fungiert als Eingangspunkt für alle Benutzerdaten.

3. Apache Kafka #

Wir haben Kafka als unser Message-Broking- und Pub-Sub-System aufgrund seines hohen Durchsatzes und fehlertoleranten Designs gewählt. Derzeit läuft es auf einer einzelnen Maschine, ist aber bereit, mit dem Wachstum von Momspresso zu skalieren.

4. Datenerfassungssystem #

Diese Komponente hört auf alle Ereignisse von Kafka und fügt sie in eine PostgreSQL-Datenbank ein. Durch die Nutzung der JSON-Fähigkeiten von Postgres haben wir einen flexiblen und abfragbaren Datensatz erstellt.

5. PostgreSQL Event Store #

Unser primärer Datenspeicher für alle Ereignisse. Wir haben ein monatliches Archivsystem implementiert, um den Speicher effizient zu verwalten.

6. Grafana für Echtzeit-Analytik #

Verbunden mit unserem Event Store ermöglicht Grafana Momspresso, Echtzeitabfragen zu grafisch darzustellen, die Nutzung von Funktionen zu verfolgen, die Konversionsleistung zu überwachen und Anomalien zu erkennen.

7. Datenansichtssystem #

Diese Komponente führt eine Reihe von Heuristiken und Modellen aus, um Benutzerattribute zu definieren und aktualisiert eine separate Benutzeransichtsdatenbank.

8. PostgreSQL Datenansichtsdatenbank #

Diese Datenbank speichert die verarbeiteten Benutzeransichten und ermöglicht einen schnellen Zugriff auf abgeleitete Benutzerdaten.

9. Metabase für Dashboards #

Unter Verwendung der Datenansichtsdatenbank ermöglicht Metabase Momspresso, benutzerdefinierte Dashboards und Berichte mit SQL-Abfragen zu erstellen.

10. Einzigartiger Userprint-Webservice #

Ein cleverer 1x1-Pixel-Service, der jedem Benutzer eine eindeutige Signatur in einem Cookie zuweist, wodurch wir Benutzer über Sitzungen hinweg verfolgen können.

Die Stärke dieser Pipeline #

Diese Datenpipeline stärkt Momspresso auf mehrere Arten:

  1. Echtzeit-Einblicke: Momspresso kann nun das Nutzerverhalten und die Leistung von Inhalten in Echtzeit verfolgen.
  2. Personalisierung: Die strukturierten Benutzerdaten ermöglichen anspruchsvolle Inhaltsempfehlungsalgorithmen.
  3. Flexible Analyse: Mit in abfragbaren Formaten gespeicherten Daten kann Momspresso leicht Ad-hoc-Analysen durchführen.
  4. Skalierbarkeit: Das modulare Design ermöglicht es, einzelne Komponenten nach Bedarf zu skalieren oder zu ersetzen.

Ausblick #

Während Momspresso weiter wächst, wird diese Datenpipeline eine entscheidende Rolle beim Verständnis des Nutzerverhaltens und der Bereitstellung personalisierter Erlebnisse spielen. Wir sind gespannt darauf zu sehen, wie Momspresso diese Infrastruktur nutzen wird, um ihre Plattform zu verbessern und ihre Community effektiver einzubinden.

Bleiben Sie dran für unseren nächsten Beitrag, in dem wir tiefer in das Empfehlungssystem eintauchen, das auf dieser Datenpipeline aufbaut!