Effiziente MapReduce-Parallelisierung von Entity Resolution Workflows

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Fast Fourier Transformation
Matrixmultiplikation
Partitionierungstechniken in Datenbanksystemen
Inhalt Saarbrücken,.
Indizierung von Graphen durch häufige Subgraphen (2)
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
Institut für Informatik Abteilung Datenbanken Problemseminar Datacleaning Überblick Datacleaning.
Ontologien- Query 1 Teil2
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Sortierverfahren Richard Göbel.
Union-Find-Strukturen
OpenMP Präsentation im Rahmen des Seminars
Agenda Einführung Haskell QuickCheck Zusammenfassung
Vermessungsportal Auskünfte – Auszüge – Shop
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Grundschutztools
Kurzreferat Der Wissensbegriff auf einer Grundlage von: Towards the Semantic Web - Ontology-Driven Knowledge Management von: Lars Aßmann.
Duo- und Quad Prozessor-Architektur
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Nestor Workshop im Rahmen der GES 2007 Digitale Langzeitarchivierung und Grid: Gemeinsam sind wir stärker? Anforderungen von eScience und Grid-Technologie.
XML-Archivierung betriebswirtschaftlicher Datenbank-Objekte*
1 Semiautomatische Medienresonanz- und Diffusions-Analyse Waltraud Wiedermann, GF APA-DeFacto und APA-MediaWatch Michael Granitzer, Know-Center.
Automatic composition of UI mashups Vortrag zum Seminar Webengineering 2011 Michael Reißner.
Einführung in die Programmierung
Pühringer, Duscher 1 Workflow Mediation with VorteXML Artikel von [Christophides, Hull, Kumar, Simeon] ©2000 Bell Laboratories, Lucent Technologies.
Proseminar: „Webtechnologien für Ecommerce“
1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets.
Polynome und schnelle Fourier-Transformation
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Übung Datenbanksysteme II Index- strukturen
Hauptseminar Web Engineering – Semantic Web Dominik Pretzsch.
Shape Similarity 27. Februar 2006 Michael Keller.
Definitionen der SWT (1)
Analyse von Ablaufdiagrammen
Archival and Discovery
Finnische Lehrerinnenbildung: Forschungsorientiert Englisch Research-based teaching According to the teaching philosophy of the University, teaching and.
Microsoft Office Das neue Office Unternehmensgerechte Produktivität und Zusammenarbeit für KMUs Microsoft Corporation Jeff Vogt © 2012 Microsoft.
Ein Vortrag von Simon Bayer
VL Algorithmische BioInformatik (19710)
Abteilung für automatische Sprachverarbeitung
Datenbanksysteme für hörer anderer Fachrichtungen
Performance-Testing als Basis für Performanceoptimierungen
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Einführung in Datenbankmodellierung und SQL
Hauptseminar SS 2006 Hinweise für Autoren.
Das relationale Modell
Zukunft der Kohäsionspolitik
1 von 7 ViS:AT BMUKK, IT – Systeme für Unterrichtszwecke 05/11 EZ, CR Social Networks – Soziale Netzwerke Virtuelle Science Cafes & Diskussionsforen für.
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
[Sprecher/Autor] [Titel] [Organisation][Kontaktinfos] Windows Azure Windows Azure SQL Databases.
Parallelisierung für Multiprozessor-Maschinen
xRM1 Pilot Implementierung
Take Off Ergebnisveranstaltung Wien, 19. März 2007 Webfähige Ausbildungssoftware zum Trainings Syllabus von EASA PART-66 Projekt GZ Das neue Ausbildungskonzept.
Eike Schallehn, Martin Endig
Hugo Bos 16 Juni 2014 Der Mensch im Mittelpunkt des digitalen Arbeitsplatzes.
T. Wallrath Optimierung des Photon Mapping Verfahrens durch Verbesserung der Radiance Estimate Berechnung und Einsatz von Radiosity Photonen.
HADOOP – a Brief overview
Oracle Portal think fast. think simple. think smart. Dieter Lorenz, Christian Witt.
Managing Internationalisation Patricia Adam © UVK Verlagsgesellschaft mbH, Konstanz und München Slides Chapter 7 Patricia Adam Managing Internationalisation.
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
Zürcher Fachhochschule Einführung in Big Data I Kurt Stockinger 1.
Der AUDITOR Der Rohstoffinformationsdienst The commodity information service.
© 2015 TravelTainment NoSQL – Eine Alternative zu relationalen Datenbanken Dominik Schmitz.
Dr. Klaus Ruhlig Technology & Product Consulting Sun Microsystems, München Skalierbare Rechnerarchitekturen für ein DWH: Eine vergleichende Analyse.
Premiere Conferencing GmbH
Geschäftsentwicklung auf Sicht 3 Jahre
Integrating Knowledge Discovery into Knowledge Management
 Präsentation transkript:

Effiziente MapReduce-Parallelisierung von Entity Resolution Workflows Leipzig, 08.12.2014 Effiziente MapReduce-Parallelisierung von Entity Resolution Workflows – Verteidigung der Dissertation – Lars Kolb Abteilung Datenbanken Universität Leipzig

Entity Resolution Identifikation semantisch äquivalenter Datensätze Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Entity Resolution Identifikation semantisch äquivalenter Datensätze Keine eindeutigen Identifier Falsche Werte Heterogene Repräsentationen Fehlende Werte Bezeichnung Produktkategorie Hersteller IXUS 115 HS - Digitalkamera - unterstützter Speicher: SD, SDXC, SDHC Foto & Video Canon IXUS 115 HS Rosa Kompaktkameras Einsteiger Canon IXUS 115 HS, 12 Megapixel, Pink Digitalkamera > Canon HP Officejet 4500 Multifunktionsgerät mit Fax Multifunktionsgerät Hewlett Packard Officejet 4500 HP

Entity Resolution-Workflow Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Entity Resolution-Workflow Entdeckung weiterer, indirekter Matches (a, b) ∈ M und (b, c) ∈ M  (a, c) ∈ M Kombination der berechneten Ähnlichkeitswerte Klassifikation eines jeden Kandidatenpaares in Match oder Non-Match Schwellwertbasiert Regelbasiert Maschinelle Lernverfahren Paarweise Ähnlichkeitsberechnung Editierdistanzbasiert Tokenbasiert Berücksichtigung v. Kontextinformationen Aufwändigster Teilschritt >95% der Gesamtlaufzeit Partitionierung der Datenquelle zur Eingrenzung potentieller Duplikate Standard Blocking Gruppierung der Datensätze nach Blockschlüssel Duplikatsuche nur innerhalb eines Blocks sim(„Sony Xperia Z1“, „Sony Xperia E1“) = |{Sony, Xperia, Z1} ∩ {Sony, Xperia, E1}| |{Sony, Xperia, Z1} ∪ {Sony, Xperia, E1}| = 2/4 = 50% Console Phone „Group by product type“

Motivation Vielzahl existierender ER-Systeme Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Motivation Vielzahl existierender ER-Systeme Vergleichende Evaluation* aus 2010 „Bestehende Systeme skalieren nicht für große Datenmengen“ Beschleunigung durch Parallelisierung Einsatz des MapReduce-Programmiermodells für verteilte Berechnungen in Clusterumgebungen *Köpcke, H., Thor, A., Rahm, E. Evaluation of entity resolution approaches on real-world match problems. PVLDB 3, 1 (2010).

Beiträge MapReduce-basiertes ER-Framework Dedoop [VLDB 2012] Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Beiträge MapReduce-basiertes ER-Framework Dedoop [VLDB 2012] High-Level-Spezifikation von ER-Workflows Automatische Parallelisierung in MapReduce-Clustern Umsetzung von Blocking-Verfahren Standard Blocking & Sorted Neighborhood [BTW 2011 /CSRD 2012] Lastbalancierung [ICDE 2012] Vermeidung redundanter Ähnlichkeitsberechnungen [DanaC 2013] Iterative Berechnung der transitiven Hülle [DB-Spektrum 2014]

Das Dedoop-Framework Dedoop = Deduplication with Hadoop Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Das Dedoop-Framework Dedoop = Deduplication with Hadoop

MapReduce & Umsetzung des Standard Blockings Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows MapReduce & Umsetzung des Standard Blockings Reduce-Task 1: 0+6 Paarvergleiche Datenungleichver-teilung begrenzt Skalierbarkeit!!! Reduce-Task 2: 3+10 Paarvergleiche (m=2 Map Tasks) (r=2 Reduce Tasks)

Lastbalancierung – Problematik & Lösungsansatz Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – Problematik & Lösungsansatz Datenungleichverteilung verursacht ungleichmäßige Auslastung der Ressourcen Alle Werte mit Schlüssel k werden vom selben Reduce-Task bearbeitet Große Blöcke  wenige Ressourcen sinnvoll genutzt Verringert Skalierbarkeit und Effizienz Grundideen der Lastbalancierung für Entity Resolution Ähnlichkeitsberechnung (und Klassifikation) zweier Datensätze unabhängig von anderen Datensätzen Zusätzlicher Vorverarbeitungsschritt zur Analyse der vorliegenden Datenverteilung (z.B. Anzahl und Größe der Blöcke) Gleichmäßige Aufteilung der Paarvergleiche (großer Blöcke) auf mehrere Reduce-Tasks

Lastbalancierung – Überblick Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – Überblick

Lastbalancierung – BlockSplit-Algorithmus Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – BlockSplit-Algorithmus BDM (m=2, r=2) map1 Block Map1 Map2 Size Pairs Mp3 1 Phone 2 4 6 Console 3 Tablet 5 10 𝚺 19 “Großer” Block da #PBlock > #POverall / r (10 > 19/2) Analyse map2 Job1 Generierung von Match-Tasks Teilung großer Blöcke in m Subblöcke Job2 (Map-Phase) Match task Pairs Phone 6 Console 3 Tablet1 - Tablet2 Tablet1 Tablet2 1 𝚺 19 Match task Pairs Phone 6 Tablet1 - Tablet2 Console 3 Tablet1 Tablet2 1 𝚺 19 ORDER BY Pairs DESC Task Match tasks Pairs 1 2 Task Match tasks Pairs 1 Phone, Console, Tablet2 10 2 Tablet1 - Tablet2, Tablet1 9 Task Match tasks Pairs 1 Phone, Console 9 2 Tablet1 - Tablet2, Tablet1 Task Match tasks Pairs 1 Phone 6 2 Tablet1 - Tablet2 Task Match tasks Pairs 1 Phone, Console 9 2 Tablet1 - Tablet2 6 Task Match tasks Pairs 1 Phone 6 2 Aufteilung von Match-Tasks auf r =2 Reduce-Tasks nach Greedy-Prinzip

Lastbalancierung – Datenfluss BlockSplit-Algorithmus Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – Datenfluss BlockSplit-Algorithmus (m=2, r=2) 3 Vgl. 6 Vgl. 1 Vgl. 3 Vgl. 6 Vgl.

Lastbalancierung – Evaluation (Data Skew) Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – Evaluation (Data Skew) BlockSplit ist robust gegenüber Datenungleichverteilung 114.000 Datensätze, fixe Cloud-Umgebung mit 10 VMs 100 Blöcke, Größe des k-ten Blocks ∼ 𝑒 −𝑠⋅𝑘 Durchschnittliche Zeit pro Paar-Vergleich konstant (unabhängig von der Datenverteilung) Perfekte Gleichverteilung 63% aller Datensätze im ersten Block

Lastbalancierung – Evaluation (Skalierbarkeit) Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – Evaluation (Skalierbarkeit) BlockSplit skaliert 114.000 Produktdatensätze Blockschlüssel: productTitle.substr(0, 3)

Lastbalancierung – Zusammenfassung Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Lastbalancierung – Zusammenfassung Techniken zur Lastbalancierung notwendig für effiziente und skalierbare MapReduce-Parallelisierung BlockSplit-Algorithmus Datenanalyse durch zusätzlichen MapReduce-Job Identifikation großer Blöcke und Aufteilung von Paarvergleichen auf mehrere Match-Tasks (Datenreplikation) Zuweisung von Match-Tasks zu Reduce-Tasks nach Greedy-Heuristik (PairRange-Algorithmus) Virtuelle Nummerierung aller Paare und Aufteilung gleichgroßer Paar-Bereiche auf Reduce-Tasks

redundante Ähnlichkeitsberechnungen – Problematik Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows redundante Ähnlichkeitsberechnungen – Problematik ID Entity Blocking Keys 1 Console, Sony 2 3 Console, Nintendo 4 5 Phone, Sony 6 7 Phone, Samsung ID Entity Blocking Keys 1 2 3 4 5 6 7 ID Entity Blocking Keys 1 Console, Sony 2 3 Console, Nintendo 4 5 Phone, Sony 6 7 Phone ID Entity Blocking Keys 1 Console, Sony 2 3 Console 4 5 Phone, Sony 6 7 Phone ID Entity Blocking Keys 1 Console 2 3 4 5 Phone 6 7 ID Entity Blocking Keys 1 Console 2 3 4 5 6 7 Console 3 von 16 Vrgl. wer- den unnötigerweise mehrfach ausgeführt Nintendo = Sony Samsung Phone Duplikat kann ge- funden werden (Cluster Sony) Duplikat nicht gefunden aufgrund „schmutziger”, fehlender oder fehler-hafter Attributwerte “Partition by product type” Überlappende Cluster verursachen redundante Paarvergleiche!!! & “Partition by manufacturer” Strategie: Verwendung mehrere Blockschlüssel pro Datensatz Sony Ericsson Xperia Play “A smartphone designed for gamers”

Vermeidung redundanter Ähnlichkeitsberechnungen Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Vermeidung redundanter Ähnlichkeitsberechnungen Anforderung σ(oi) = Menge der Signaturen (Blockschlüssel) des Objektes oi Ähnlichkeitsberechnung (u. Klassifikation) von (o1, o2) ausschließlich für eine Signatur s ∈ σ(o1) ∩ σ(o2) MapReduce-Umgebung Datensatzpaar (o1, o2) mit |σ(o1) ∩ σ(o2)|>1 wird von verschiedenen Knoten (bzgl. verschiedener Signaturen) bearbeitet Jeder Knoten muss entscheiden ob Paarvergleich durchzuführen ist “Least Common Signature”-Ansatz (LCS): s = min(σ(o1) ∩ σ(o2)) Vergleiche o1 und o2 nur bezüglich ihrer kleinsten gemeinsamen Signatur

Vermeidung red. Ähnlichkeitsberechnungen – Überblick Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Vermeidung red. Ähnlichkeitsberechnungen – Überblick + Hinzufügen v. Metadaten + Überprüfung d. LCS-Bedingung

Vermeidung red. Ähnlichkeitsberechnungen – Datenfluss Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Vermeidung red. Ähnlichkeitsberechnungen – Datenfluss Map: Signatures Reduce: Pair Comparisons Annotiere A mit all seinen Signaturen < 1 Annotiere A mit all seinen Signaturen < 3 Partitioning by hash(Key) modulo r Key Value 1 A,  3 A, {1} B,  B, {1} C,  4 C, {1} D,  D, {1} Key Value 1 A,  B,  C,  D,  4 C, {1} D, {1} Obj A B C D Pairs A-B, A-C, A-D, B-C, B-D, C-D C-D Object Signatures A {1, 3} B C {1, 4} D E {2, 3} F G {2, 5} Object Signatures A {1, 3} B C {1, 4} D E {2, 3} F G {2} Key Value 2 E,  F,  G,  3 A, {1} B, {1} E, {2} F, {2} {1}∩{1} ≠   min(σ(o1) ∩ σ(o2)) ≠ 4 Pairs E-F, E-G, F-G A-B, A-E, A-F, B-E, B-F, E-F Key Value 2 E,  3 E, {1} F,  F, {2} G,  Obj E F G {1}∩{1} ≠   min(σ(o1) ∩ σ(o2)) ≠ 3 {2}∩{2} ≠   min(σ(o1) ∩ σ(o2)) ≠ 3

Evaluation – Match-Qualität vs. Laufzeit Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Evaluation – Match-Qualität vs. Laufzeit 114.000 Produktdatensätze Fixe Cloud-Umgebung mit 20 VMs Verwendung mehrerer Signaturen entscheidend für Match-Qualität Signifikanter Anteil redundanter Paarvergleiche Laufzeiteinsparungen proportional zum Anteil redundanter Paarvrgl.

red. Ähnlichkeitsberechnungen – Zusammenfassung Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows red. Ähnlichkeitsberechnungen – Zusammenfassung Verwendung mehrerer Signaturen pro Datensatz Robustheit gegenüber Datenqualitätsproblemen Redundante Verarbeitung von Paaren, die in mehr als ein Cluster fallen Least Common Signature-Strategie Vergleiche o1, o2 nur für Signatur s = min(𝜎(o1) ∩ 𝜎(o2)) Einfacher, aber effektiver Ansatz zur Vermeidung redundanter Ähnlichkeitsberechnungen Kombinierbar mit Lastbalancierungsansätzen (Schlüsselaufbau, Partitionierung, Sortierung, Gruppierung unverändert)

Zusammenfassung und Ausblick Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Zusammenfassung und Ausblick MapReduce-basiertes Entity Resolution-Framework Dedoop Effiziente Parallelisierung von Entity Resolution-Workflows Umsetzung von Blocking-Verfahren Lastbalancierung Vermeidung redundanter Ähnlichkeitsberechnungen Aktuelle/zukünftige Themen: Kombination verschiedener paralleler Programmierparadigma Einsatz von GPUs Privacy Preserving Entity Resolution Danke!

Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Publikationen Toralf Kirsten, Lars Kolb, Michael Hartung, Anika Groß, Hanna Köpcke, Erhard Rahm. Data Partitioning for Parallel Entity Matching. Intl. Workshop on Quality in Databases (QDB), 2010. Lars Kolb, Andreas Thor, Erhard Rahm. Parallel Sorted Neighborhood Blocking with MapReduce. GI-Fachtagung für Datenbanksysteme in Business, Technologie und Web (BTW), 2011. Lars Kolb, Andreas Thor, Erhard Rahm. Block-based Load Balancing for Entity Resolution with MapReduce (Poster Paper). Intl. Conference on Information and Knowledge Management (CIKM), 2011. Lars Kolb, Hanna Köpcke, Andreas Thor, Erhard Rahm. Learning-based Entity Resolution with MapReduce. Intl. Workshop on Cloud Data Management, 2011. Lars Kolb, Andreas Thor, Erhard Rahm. Multi-pass Sorted Neighborhood Blocking with MapReduce. Computer Science – Research and Development 27(1), 2012. Lars Kolb, Andreas Thor, Erhard Rahm. Load Balancing for MapReduce-based Entity Resolution. Intl. Conference on Data Engineering (ICDE), 2012. Lars Kolb, Andreas Thor, Erhard Rahm. Dedoop: Efficient Deduplication with Hadoop (Demo Paper). Intl. Conference on Very Large Databases (VLDB), 2012. Lars Kolb, Erhard Rahm. Parallel Entity Resolution with Dedoop. Datenbank-Spektrum 13(1), 2013. Axel-Cyrille Ngonga Ngomo, Lars Kolb, Norman Heino, Michael Hartung, Sören Auer, Erhard Rahm. When to Reach for the Cloud: Using Parallel Hardware for Link Discovery. Intl. Extended Semantic Web Conference (ESWC), 2013. Lars Kolb, Andreas Thor, Erhard Rahm. Don’t Match Twice: Redundancy-free Similarity Computation with MapReduce. Intl. Workshop on Data Analytics in the Cloud (DanaC), 2013. Michael Hartung, Lars Kolb, Anika Groß, Erhard Rahm. Optimizing Similarity Computations for Ontology Matching – Experiences from GOMMA. Intl. Conference on Data Integration in the Life Sciences (DILS), 2013. Lars Kolb, Ziad Sehili, Erhard Rahm. Iterative Computation of Connected Graph Components with MapReduce. Datenbank-Spektrum 14(2), 2014. Ziad Sehili, Lars Kolb, Christian Borgs, Rainer Schnell, Erhard Rahm. Privacy Preserving Record Linkage with PPJoin. GI-Fachtagung für Datenbanksysteme in Business, Technologie und Web (BTW), 2015.

Effiziente MapReduce-Parallelisierung von Entity Resolution-Workflows Programmiermodell für verteilte Berechnungen in Clusterumgebungen Anwendung der UDF map auf jeden Datensatz UDF part weist jedes Schlüssel-Wert-Paar einem Reduce-Task zu Sortierung & Gruppierung der eingehenden Paare anhand Schlüssel Aufruf der UDF reduce pro Gruppe reduce0 Π0’ map0 1 Π0 Input data 2 reduce1 Π1’ map1 Π1 part(key)  [0, r-1] 1 Π2 map2 reduce2 Π2’ 2 m=3 Map-Tasks 1 r=3 Reduce-Tasks