Effiziente und sichere Deduplizierung von Kundendaten

3 Minuten Lesedauer | 24. September 2024 Simon Irmer, Nicolai Lang und Alexander Strauß
  • Architektur
  • Deduplizierung
Effiziente und sichere Deduplizierung von Kundendaten

Problemstellung

Die effiziente und genaue Verwaltung von Kundendaten ist in der modernen Geschäftswelt von entscheidender Bedeutung. Ein häufig auftretendes Problem in vielen Unternehmen sind Dubletten in den Kundenstammdaten. Ohne einen robusten und sicheren Dublettenabgleich kann es leicht zu mehrfachen Einträgen für dieselbe Person kommen. Diese Dubletten führen zu einer Vielzahl von Problemen: Geschäftsanalysen und -entscheidungen werden ungenau, Marketingmaßnahmen weniger effektiv und die Kundenzufriedenheit leidet. Darüber hinaus steigen die Kosten für SaaS-Produkte, da redundante Daten zusätzliche Lizenzen erfordern.

Ein effektiver Deduplizierungsmechanismus muss zwei Hauptanforderungen erfüllen:

  • Präzise Erkennung von Dubletten: Das System muss in der Lage sein, nicht nur identische Kontakte sicher zu erkennen, sondern auch solche, die Abweichungen aufweisen, wie z.B. Tippfehler, unterschiedliche Schreibweisen von Adressen, fehlende oder abgekürzte Namen und vertauschte Felder (z.B. Vorname und Nachname). Gleichzeitig muss das System sicherstellen, dass keine Kontakte fälschlicherweise zusammengeführt werden.
  • Datenschutz und Sicherheit: Der Schutz der sensiblen Kundendaten hat oberste Priorität. Eine Deduplizierungslösung muss sicherstellen, dass alle Datenschutzrichtlinien und gesetzlichen Anforderungen strikt eingehalten werden.

Lösung

Die implementierte Lösung bietet durch die effektive Kombination von Hash-Funktionen eine hochpräzise Dublettenerkennung. Der Dublettenabgleich erfolgt in zwei Schritten:

  • Berechnung der Hashwerte: Zunächst werden die Hashwerte für den neuen Kontakt berechnet. Diese Werte sind eindeutig und basieren auf den spezifischen Attributen des Kontakts.
  • Vergleich und Klassifizierung: Anschließend werden für jeden berechneten Hashwert Kontakte mit den gleichen Hashwerten gesucht. Der Anteil der übereinstimmenden Hashwerte dient als Maß für die Ähnlichkeit der Kontakte. Kontakte, deren Hashwerte zu einem bestimmten Prozentsatz übereinstimmen, werden als Dubletten klassifiziert.

Dieser Ansatz ermöglicht eine äußerst präzise und effiziente Dublettenerkennung.

Unsere Lösung gewährleistet zudem höchste Datensicherheit, da keine Kundendaten im Klartext oder verschlüsselt auf unseren Systemen gespeichert werden. Jeder Kontakt wird mit Hilfe spezieller Hash-Funktionen in mehreren Hashwerten gespeichert, so dass nur die IDs und die zugehörigen Hashwerte bei uns hinterlegt sind. Dadurch werden die Daten unkenntlich und können nicht rekonstruiert werden. Die Hash-Funktionen sind so gestaltet, dass ähnlichen Kontakten ähnliche Kombinationen von Hashwerten zugeordnet werden, was die Dublettenerkennung weiter optimiert.

Wir bieten eine leistungsfähige API, die es ermöglicht, Kundendaten anzulegen und zu bereinigen sowie bei der Neuanlage von Kontakten automatisch nach Dubletten zu suchen.

Technische Umsetzung

Technische Umsetzung

Im Mittelpunkt der Architektur steht eine DynamoDB Table, in der die zu einem Datensatz errechneten Hashwerte gespeichert werden. Zusätzlich wird zu den Hashwerten die ID des jeweiligen Datensatzes gespeichert, aus dem der Hashwert stammt. DynamoDB ist ideal, weil es effizient große Datenmengen speichern kann und bei einfachen Zugriffsmustern, wie in diesem Fall über Hashwerte, besonders gut funktioniert. Die Hashes werden anhand von verschiedenen Parametern und definierten Pre-Processing Algorithmen gebildet. Diese Parameter und Algorithmen werden über AWS AppConfig konfiguriert und verwaltet. Die Berechnungen an sich werden in AWS Lambda Funktionen ausgeführt. API Gateway und Lambda bieten eine skalierbare und serverlose Kombination für die Bereitstellung der REST API. Es stehen Endpunkte zum Erstellen, Aktualisieren und Löschen von Datensätzen, sowie zum Durchführen der Ähnlichkeitssuche zur Verfügung. Eine asynchrone Batch-API zur Beladung mit größeren Mengen an Daten rundet die Schnittstelle ab. Im Falle der Batch-API werden die Datensätze zuerst in eine SQS Queue geschrieben und dann mittels AWS Lambda abgearbeitet. Die Verwendung von SQS ermöglicht es, große Datenmengen effizient und asynchron zu verarbeiten, ohne die Echtzeitleistung der API zu beeinträchtigen.

Klingt spannend?

Sprechen Sie mit uns und erfahren Sie, wie auch Ihr Unternehmen von unserer Expertise profitieren kann.

Ihre Nachricht konnte leider nicht übermittelt werden, bitte versuchen Sie es erneut.