SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Automotive Information Research
driven by Apache Solr
Mario-Leander Reimer
Cheftechnologe, QAware GmbH

mario-leander.reimer@qaware.de
@LeanderReimer
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Agenda
• Reverse Data Engineering und Daten-Exploration mit MIR
• Informationsrecherche im Aftersales mit AIR
• System-Architektur und Herausforderungen
• Lösungen für das Problem der kombinatorischen Explosion
• Datenaktualität und Konsistenz
• Auflösung von Stücklisten und Bedarfsrechner mit ZEBRA
2
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Reverse Data Engineering und
Daten-Exploration mit MIR
4
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
In welchem Daten-Silo sind die gesuchten Daten?
5
System A System B System C System D
Fahrzeugdaten
Weitere Daten
Wo sind die gesuchten Fahrzeugdaten?
60 potentielle Systeme und 5000 Entitäten.
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Welche versteckten Relationen gibt es zwischen
den Silos und deren Daten?
6
Wie sind die Daten miteinander verbunden?
400.000 potentielle Relationen.
Fahrzeugdaten
Weitere Daten
System A System B System C System D
Teile
Dokumente
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Reverse Data Engineering und Exploration mit MIR
• MIR indiziert und verwaltet die Beschreibung der Datenmodelle und Records aller
relevanten Quell-Systeme (RDBMS, XML, WSDL, …)
• MIR ermöglicht die Suche und Navigation in den Meta-Informationen, der Drill-
Down funktioniert über Solr Facets
• MIR verwaltet das Datenmodell und das Solr XML Schema des Zielsystems AIR
7
Tree-View der
Systeme, Tabellen
und Attribute
Wildcard-Suche
Drill-Down über
Facetten
Such-
Ergebnisse
Mögliche
Synonyme für
Fahrgestell-Nr.
gefunden
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Informationsrecherche im
Aftersales mit AIR
9
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Die richtige Information in nur 3 Klicks.
Die Ausgangssituation:
• Benutzer müssen bis zu 7 verschiedene Applikationen gleichzeitig benutzen.
• Die Bestandsapplikationen sind nicht wirklich gut integriert.
• Die Suche nach den richtigen Informationen ist aufwändig und fehleranfällig.
Die Projektvision:
• Aggregation aller relevanten Daten in ein konsistentes Informationsnetz
• Freie Suche nach Informationen und Navigation zu den verknüpften Informationen
• Ablöse der Bestandsapplikationen durch eine einfache Suchanwendung
10
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer11
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer12
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
–Unbekannt
„Aber Apache Solr ist doch eine Volltext-
Suchmaschine. Für die Anwendungsdaten müsst ihr
Oracle verwenden.“
13
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Apache Solr schlägt Oracle deutlich im direkten Vergleich
in Sachen Query-Performance und Index-Größe.
14
SELECT * FROM VEHICLE WHERE VIN='V%'
INFO_TYPE:VEHICLE AND VIN:V*
SELECT * FROM MEASURE WHERE TEXT='engine'
INFO_TYPE:MEASURE AND TEXT:engine
SELECT * FROM VEHICLE WHERE VIN='%X%'
INFO_TYPE:VEHICLE AND VIN:*X*
| 038 ms | 000 ms | 000 ms
| 383 ms | 384 ms | 383 ms
| 092 ms | 000 ms | 000 ms
| 389 ms | 387 ms | 386 ms
| 039 ms | 000 ms | 000 ms
| 859 ms | 379 ms | 383 ms
Disk space: 132 MB Solr vs. 385 MB OracleTest Datenset: 150.000 Records
Der Dirt Race Use-Case:
•Keine Internet-Verbindung
•Low-End Devices
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Solr und AIR auf einem Raspberry Pi Model B als
Proof of Concept lief 1A.
16
Running Debian Linux + JDK8
Jetty Servlet Container mit den Solr
und AIR Webapps
Reduziertes offline Datenset mit
~1.5 Mio Solr Documents
Model B Hardware Specs:
• ARMv6 CPU 700Mhz
• 512MB RAM
• 32GB SD Card
And now try this
with Oracle!
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Nur ein überlegtes Schema-Design führt zu einer
optimalen Solr Query-Performance.
17
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Naive Denormalisierung der Daten führt schnell zu
kombinatorischer Explosion.
18
33.071.137
Fahrzeuge14.830.197
Arbeitswerte
1.678.667
Pakete
5.078.411
AW Gruppen
18.573
Reparatur-
Anleitungen
648.129
Technische
Dokumente
55.000
Teile
648.129
Maßnamen
41.385
Typen
6.180
Fehler Indikationen
Relationship
Navigation
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Multi-valued Felder können 1..n Relationen effizient
abbilden, ergeben aber manchmal False Positives.
19
{
"INFO_TYPE":"AWPOS_GROUP",
"NUMMER" :[ "1134190" , "1235590" ]
"BAUSTAND" :["1969-12-31T23:00:00Z","1975-12-31T23:00:00Z"]
"E_SERIES" :[ "F10" , "E30" ]
}
Dieser Ansatz erfordert ein Nachfiltern der Suchergebnisse. Bei wenigen Treffern kein Problem.
Alternative: neuere Versionen von Solr unterstützen Nested Child Documents.
Index 0 Index 1
fq=INFO_TYPE:AWPOS_GROUP AND NUMMER:1134190 AND E_SERIES:F10
fq=INFO_TYPE:AWPOS_GROUP AND NUMMER:1134190 AND E_SERIES:E30
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Die Gültigkeiten von Technischen Dokumenten sind
als Boolsche Ausdrücke in binärer Form abgelegt.
• Gültigkeits-Ausdrücke haben bis zu 46 verschiedene Terme.
• Gültigkeits-Ausdrücke nutzen bis zu fünf Operatoren (AND, NOT, …)
• Gültigkeits-Ausdrücke sind geschachtelt und komplex.
• Einige Terme sind dynamisch und somit unbekannt zum Zeitpunkt
der Indizierung.
20
Die Lösung: Transformation der Ausdrücke in einen equivalenten, ternären Ausdruck.
Auswertung der Ausdrücke zum Abfrage-Zeitpunkt über eine Custom Function Query.
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Beispiel für einen binären Gültigkeits-Ausdruck
21
Type(53078923) = ‚Brand‘, Value(53086475) = ‚BMW PKW‘
Type(53088651) = ‚E-Series‘, Value(53161483) = ‚F10‘
Type(64555275) = ‚Transmission‘, Value(53161483) = ‚MECH‘
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Transformation der binären Gültigkeits-Ausdrücke in
ihr JavaScript Equivalent während der Indizierung.
22
((BRAND=='BMW PKW')&&(E_SERIES=='F10')&&(TRANSMISSION=='MECH'))
AND(Brand='BMW PKW', E-Series='F10'‚ Transmission='MECH')
{
"INFO_TYPE": "TECHNISCHES_DOKUMENT",
"DOKUMENT_TITEL": "Getriebe aus- und einbauen",
"DOKUMENT_ART": " reparaturanleitung",
"VALIDITY": "((BRAND=='BMW PKW')&&((E_SERIES=='F10')&&(...))",
„BRAND": [„BMW PKW"]
}
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Auswertung der JavaScript Gültigkeits-Ausdrücke zum
Abfrage-Zeitpunkt über eine Custom Function Query.
23
&fq=INFO_TYPE:TECHNISCHES_DOKUMENT
&fq=DOKUMENT_ART:reparaturanleitung
&fq={!frange l=1 u=1 incl=true incu=true cache=false cost=500}
jsTerm(VALIDITY,eyJNT1RPUl9LUkFGVFNUT0ZGQVJUX01PVE9SQVJCRUlUU
1ZFUkZBSFJFTiI6IkIiLCJFX01BU0NISU5FX0tSQUZUU1RPRkZBUlQiOm51bG
wsIlNJQ0hFUkhFSVRTRkFIUlpFVUciOiIwIiwiQU5UUklFQiI6IkFXRCIsIkV
kJBVVJFSUhFIjoiWCcifQ==)
http://qaware.blogspot.de/2014/11/how-to-write-postfilter-for-solr-49.html
Base64decode
{
"BRAND":"BMW PKW",
"E_SERIES":"F10",
"TRANSMISSION":"MECH"
}
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Ein flexibler ETL Prozess, Continuous Delivery und
DevOps sorgen für Datenaktualität und Konsistenz.
24
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Auflösung von Stücklisten und
Bedarfsrechner mit ZEBRA
25
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Bills of Materials (BOMs) explained
26
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
BOMs werden gebraucht für …
27
Produktionsplanung Vorhersage von
Bedarfen
Scenario-basierte PlanungSimulationen
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Die grobe Architektur von ZEBRA
28
Teile /
abstrakte
Bedarfe
Bestellungen /
tatsächliche
Bedarfe
Analytics
BOMs /
Abhängige
Bedarfe
Demand
Resolver
Produktions-
Planung
7 Mio.2 Mio. 21 Mrd.
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Die wesentlichen Solr Optimierungen für ZEBRA
29
Bulk RequestHandler
Binary DocValue Support
Boolean Interpreter als Post-Filter
Massen-Data Response Format
Search Komponenten für 

Custom JOIN Algorithmus
Auflösung von tausenden
Orders mit einem Request.
Effizienter Datenspeicher
mit Custom JOIN Logik
Drastische Verbesserung
der Zugriffszeiten auf die
gespeicherten Daten über
Binary DocValues.
0111 0111
Nutzt den Default Solr Binary
Codec mit einem optimierten
Datenmodell. Reduziert die
Datenmenge um Faktor 8.
Computing
BOMs
Eigene Post-Filter Implementierung
zur Auswertung der am Dokumente
gespeicherten Boolean Ausdrücke.
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Low-Level Optimierungen der Solr-Interna führten
zu einer drastischen Steigerung der Performance.
30
October 14 January 15 May 15 October 15
4,9 ms 0,28 ms
24 ms
TimetocalculatetheBoMforoneorder
0,08 ms
Scoring (-8%)
Default Query Parser (-25%)
Stat-Cache (-8%)
String DocValues (-28%)
Development of the processing time Demand Calulation Service PoC Profiling result and the some improvements to reduce the query time.
X
X
X
X
| data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer
Solr ist ein leistungsfähiges Werkzeug
das für den Bau von Enterprise und Datenanalyse

Anwendungen eingesetzt werden kann.
Seien Sie kreativ!
31
Mario-Leander Reimer
Cheftechnologe, QAware GmbH
mario-leander.reimer@qaware.de
https://www.qaware.de
https://slideshare.net/MarioLeanderReimer/
https://speakerdeck.com/lreimer/
https://twitter.com/leanderreimer/
&

Weitere ähnliche Inhalte

Andere mochten auch

Hardening cassandra q2_2016
Hardening cassandra q2_2016Hardening cassandra q2_2016
Hardening cassandra q2_2016zznate
 
Cassandra Summit 2014: CQL Under the Hood
Cassandra Summit 2014: CQL Under the HoodCassandra Summit 2014: CQL Under the Hood
Cassandra Summit 2014: CQL Under the HoodDataStax Academy
 
Hadoop 2.0 - The Next Level
Hadoop 2.0 - The Next LevelHadoop 2.0 - The Next Level
Hadoop 2.0 - The Next LevelSascha Dittmann
 
Cassandra presentation at NoSQL
Cassandra presentation at NoSQLCassandra presentation at NoSQL
Cassandra presentation at NoSQLEvan Weaver
 
DataStax: A deep look at the CQL WHERE clause
DataStax: A deep look at the CQL WHERE clauseDataStax: A deep look at the CQL WHERE clause
DataStax: A deep look at the CQL WHERE clauseDataStax Academy
 
The data model is dead, long live the data model
The data model is dead, long live the data modelThe data model is dead, long live the data model
The data model is dead, long live the data modelPatrick McFadin
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkQAware GmbH
 
Cassandra by example - the path of read and write requests
Cassandra by example - the path of read and write requestsCassandra by example - the path of read and write requests
Cassandra by example - the path of read and write requestsgrro
 
Learning Cassandra
Learning CassandraLearning Cassandra
Learning CassandraDave Gardner
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraAdrian Cockcroft
 
Architektur Insights - Big Data, NoSQL
Architektur Insights - Big Data, NoSQLArchitektur Insights - Big Data, NoSQL
Architektur Insights - Big Data, NoSQLClaudio Altamura
 
Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)Andreas Buckenhofer
 
INFOTIC AMBIENTAL
INFOTIC AMBIENTALINFOTIC AMBIENTAL
INFOTIC AMBIENTALximila
 
Creasoft - Software QS
Creasoft - Software QSCreasoft - Software QS
Creasoft - Software QSCreasoft AG
 
VÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10º
VÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10ºVÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10º
VÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10ºErika Martinez
 

Andere mochten auch (20)

Hardening cassandra q2_2016
Hardening cassandra q2_2016Hardening cassandra q2_2016
Hardening cassandra q2_2016
 
Cassandra Summit 2014: CQL Under the Hood
Cassandra Summit 2014: CQL Under the HoodCassandra Summit 2014: CQL Under the Hood
Cassandra Summit 2014: CQL Under the Hood
 
Hadoop 2.0 - The Next Level
Hadoop 2.0 - The Next LevelHadoop 2.0 - The Next Level
Hadoop 2.0 - The Next Level
 
Cassandra presentation at NoSQL
Cassandra presentation at NoSQLCassandra presentation at NoSQL
Cassandra presentation at NoSQL
 
DataStax: A deep look at the CQL WHERE clause
DataStax: A deep look at the CQL WHERE clauseDataStax: A deep look at the CQL WHERE clause
DataStax: A deep look at the CQL WHERE clause
 
Become a super modeler
Become a super modelerBecome a super modeler
Become a super modeler
 
Camunda and Apache Cassandra
Camunda and Apache CassandraCamunda and Apache Cassandra
Camunda and Apache Cassandra
 
The data model is dead, long live the data model
The data model is dead, long live the data modelThe data model is dead, long live the data model
The data model is dead, long live the data model
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark
 
Cassandra by example - the path of read and write requests
Cassandra by example - the path of read and write requestsCassandra by example - the path of read and write requests
Cassandra by example - the path of read and write requests
 
Learning Cassandra
Learning CassandraLearning Cassandra
Learning Cassandra
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
 
Architektur Insights - Big Data, NoSQL
Architektur Insights - Big Data, NoSQLArchitektur Insights - Big Data, NoSQL
Architektur Insights - Big Data, NoSQL
 
Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)
 
JUST
JUSTJUST
JUST
 
Kristelproyecto
KristelproyectoKristelproyecto
Kristelproyecto
 
INFOTIC AMBIENTAL
INFOTIC AMBIENTALINFOTIC AMBIENTAL
INFOTIC AMBIENTAL
 
Creasoft - Software QS
Creasoft - Software QSCreasoft - Software QS
Creasoft - Software QS
 
Manual buenas prácticas suberícolas en masas jóvenes de alcornoque
Manual buenas prácticas suberícolas en masas jóvenes de alcornoqueManual buenas prácticas suberícolas en masas jóvenes de alcornoque
Manual buenas prácticas suberícolas en masas jóvenes de alcornoque
 
VÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10º
VÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10ºVÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10º
VÍDEO DE NACIMIENTO DE GEOGEBRA Y LINEAMIENTOS CURRICULARES 10º
 

Ähnlich wie Automotive Information Research driven by Apache Solr

Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...inovex GmbH
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatengeKarin Patenge
 
Data lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesData lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesComsysto Reply GmbH
 
Analytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rAnalytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rMarcel Franke
 
Sonnenschein für ihre Website
Sonnenschein für ihre WebsiteSonnenschein für ihre Website
Sonnenschein für ihre WebsiteOlivier Dobberkau
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceStefan Kolb
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...Niels de Bruijn
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG
 
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor IntegrationWebcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor IntegrationQUIBIQ Hamburg
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzenAWS Germany
 
TechEvent Vorsprung durch Agilität. Scrum@Automotive
TechEvent Vorsprung durch Agilität. Scrum@AutomotiveTechEvent Vorsprung durch Agilität. Scrum@Automotive
TechEvent Vorsprung durch Agilität. Scrum@AutomotiveTrivadis
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridMicrosoft Österreich
 
AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...
AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...
AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...Amazon Web Services
 
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive AnalyticsWebinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive AnalyticsCONOGY GmbH
 
Big/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewBig/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewOMM Solutions GmbH
 

Ähnlich wie Automotive Information Research driven by Apache Solr (20)

Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
 
Data lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesData lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid Architectures
 
Analytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rAnalytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und r
 
Sonnenschein für ihre Website
Sonnenschein für ihre WebsiteSonnenschein für ihre Website
Sonnenschein für ihre Website
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a Service
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Apache Solr Revisited 2015
Apache Solr Revisited 2015Apache Solr Revisited 2015
Apache Solr Revisited 2015
 
BizSpark goes Cloud
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes Cloud
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum Apex
 
JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor IntegrationWebcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
 
TechEvent Vorsprung durch Agilität. Scrum@Automotive
TechEvent Vorsprung durch Agilität. Scrum@AutomotiveTechEvent Vorsprung durch Agilität. Scrum@Automotive
TechEvent Vorsprung durch Agilität. Scrum@Automotive
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | Hybrid
 
AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...
AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...
AWS Initiate Berlin - Maschinelles Lernen - Chancen, Werkzeuge und Beispiel-A...
 
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive AnalyticsWebinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
 
Big/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overviewBig/Smart/Fast Data – a very compact overview
Big/Smart/Fast Data – a very compact overview
 

Mehr von Mario-Leander Reimer

Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.Mario-Leander Reimer
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEMario-Leander Reimer
 
Steinzeit war gestern! Die vielfältigen Wege der Cloud-nativen Evolution
Steinzeit war gestern! Die vielfältigen Wege der Cloud-nativen EvolutionSteinzeit war gestern! Die vielfältigen Wege der Cloud-nativen Evolution
Steinzeit war gestern! Die vielfältigen Wege der Cloud-nativen EvolutionMario-Leander Reimer
 
Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....
Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....
Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....Mario-Leander Reimer
 
Das kleine Einmaleins der sicheren Architektur @heise_devSec
Das kleine Einmaleins der sicheren Architektur @heise_devSecDas kleine Einmaleins der sicheren Architektur @heise_devSec
Das kleine Einmaleins der sicheren Architektur @heise_devSecMario-Leander Reimer
 
Polyglot Adventures for the Modern Java Developer #javaone2017
Polyglot Adventures for the Modern Java Developer #javaone2017Polyglot Adventures for the Modern Java Developer #javaone2017
Polyglot Adventures for the Modern Java Developer #javaone2017Mario-Leander Reimer
 
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2dayElegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2dayMario-Leander Reimer
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconMario-Leander Reimer
 
A Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPL
A Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPLA Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPL
A Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPLMario-Leander Reimer
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLMario-Leander Reimer
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17Mario-Leander Reimer
 
Per Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHHPer Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHHMario-Leander Reimer
 
Everything-as-code. Ein polyglottes Abenteuer. #jax2017
Everything-as-code. Ein polyglottes Abenteuer. #jax2017Everything-as-code. Ein polyglottes Abenteuer. #jax2017
Everything-as-code. Ein polyglottes Abenteuer. #jax2017Mario-Leander Reimer
 
Everything-as-code. Eine vielsprachige Reise. #javaland
Everything-as-code. Eine vielsprachige Reise. #javalandEverything-as-code. Eine vielsprachige Reise. #javaland
Everything-as-code. Eine vielsprachige Reise. #javalandMario-Leander Reimer
 
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017Mario-Leander Reimer
 
Everything-as-code. A polyglot journey.
Everything-as-code. A polyglot journey.Everything-as-code. A polyglot journey.
Everything-as-code. A polyglot journey.Mario-Leander Reimer
 
Lightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with GradleLightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with GradleMario-Leander Reimer
 
Lightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-codeLightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-codeMario-Leander Reimer
 
Secure JEE Architecture and Programming 101
Secure JEE Architecture and Programming 101Secure JEE Architecture and Programming 101
Secure JEE Architecture and Programming 101Mario-Leander Reimer
 

Mehr von Mario-Leander Reimer (20)

Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Vielfältige Wege der Cloud-nativen Evolution.
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
Steinzeit war gestern! Die vielfältigen Wege der Cloud-nativen Evolution
Steinzeit war gestern! Die vielfältigen Wege der Cloud-nativen EvolutionSteinzeit war gestern! Die vielfältigen Wege der Cloud-nativen Evolution
Steinzeit war gestern! Die vielfältigen Wege der Cloud-nativen Evolution
 
Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....
Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....
Everything-as-code: DevOps und Continuous Delivery aus Sicht des Entwicklers....
 
Das kleine Einmaleins der sicheren Architektur @heise_devSec
Das kleine Einmaleins der sicheren Architektur @heise_devSecDas kleine Einmaleins der sicheren Architektur @heise_devSec
Das kleine Einmaleins der sicheren Architektur @heise_devSec
 
Polyglot Adventures for the Modern Java Developer #javaone2017
Polyglot Adventures for the Modern Java Developer #javaone2017Polyglot Adventures for the Modern Java Developer #javaone2017
Polyglot Adventures for the Modern Java Developer #javaone2017
 
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2dayElegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
 
A Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPL
A Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPLA Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPL
A Hitchhiker’s Guide to the Cloud Native Stack. #DevoxxPL
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPL
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
Per Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHHPer Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHH
 
Everything-as-code. Ein polyglottes Abenteuer. #jax2017
Everything-as-code. Ein polyglottes Abenteuer. #jax2017Everything-as-code. Ein polyglottes Abenteuer. #jax2017
Everything-as-code. Ein polyglottes Abenteuer. #jax2017
 
Everything-as-code. Eine vielsprachige Reise. #javaland
Everything-as-code. Eine vielsprachige Reise. #javalandEverything-as-code. Eine vielsprachige Reise. #javaland
Everything-as-code. Eine vielsprachige Reise. #javaland
 
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Everything-as-code. A polyglot journey.
Everything-as-code. A polyglot journey.Everything-as-code. A polyglot journey.
Everything-as-code. A polyglot journey.
 
Lightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with GradleLightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with Gradle
 
Lightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-codeLightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-code
 
Secure JEE Architecture and Programming 101
Secure JEE Architecture and Programming 101Secure JEE Architecture and Programming 101
Secure JEE Architecture and Programming 101
 

Automotive Information Research driven by Apache Solr

  • 1. Automotive Information Research driven by Apache Solr Mario-Leander Reimer Cheftechnologe, QAware GmbH
 mario-leander.reimer@qaware.de @LeanderReimer
  • 2. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Agenda • Reverse Data Engineering und Daten-Exploration mit MIR • Informationsrecherche im Aftersales mit AIR • System-Architektur und Herausforderungen • Lösungen für das Problem der kombinatorischen Explosion • Datenaktualität und Konsistenz • Auflösung von Stücklisten und Bedarfsrechner mit ZEBRA 2
  • 3.
  • 4. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Reverse Data Engineering und Daten-Exploration mit MIR 4
  • 5. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer In welchem Daten-Silo sind die gesuchten Daten? 5 System A System B System C System D Fahrzeugdaten Weitere Daten Wo sind die gesuchten Fahrzeugdaten? 60 potentielle Systeme und 5000 Entitäten.
  • 6. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Welche versteckten Relationen gibt es zwischen den Silos und deren Daten? 6 Wie sind die Daten miteinander verbunden? 400.000 potentielle Relationen. Fahrzeugdaten Weitere Daten System A System B System C System D Teile Dokumente
  • 7. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Reverse Data Engineering und Exploration mit MIR • MIR indiziert und verwaltet die Beschreibung der Datenmodelle und Records aller relevanten Quell-Systeme (RDBMS, XML, WSDL, …) • MIR ermöglicht die Suche und Navigation in den Meta-Informationen, der Drill- Down funktioniert über Solr Facets • MIR verwaltet das Datenmodell und das Solr XML Schema des Zielsystems AIR 7
  • 8. Tree-View der Systeme, Tabellen und Attribute Wildcard-Suche Drill-Down über Facetten Such- Ergebnisse Mögliche Synonyme für Fahrgestell-Nr. gefunden
  • 9. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Informationsrecherche im Aftersales mit AIR 9
  • 10. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Die richtige Information in nur 3 Klicks. Die Ausgangssituation: • Benutzer müssen bis zu 7 verschiedene Applikationen gleichzeitig benutzen. • Die Bestandsapplikationen sind nicht wirklich gut integriert. • Die Suche nach den richtigen Informationen ist aufwändig und fehleranfällig. Die Projektvision: • Aggregation aller relevanten Daten in ein konsistentes Informationsnetz • Freie Suche nach Informationen und Navigation zu den verknüpften Informationen • Ablöse der Bestandsapplikationen durch eine einfache Suchanwendung 10
  • 11. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer11
  • 12. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer12
  • 13. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer –Unbekannt „Aber Apache Solr ist doch eine Volltext- Suchmaschine. Für die Anwendungsdaten müsst ihr Oracle verwenden.“ 13
  • 14. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Apache Solr schlägt Oracle deutlich im direkten Vergleich in Sachen Query-Performance und Index-Größe. 14 SELECT * FROM VEHICLE WHERE VIN='V%' INFO_TYPE:VEHICLE AND VIN:V* SELECT * FROM MEASURE WHERE TEXT='engine' INFO_TYPE:MEASURE AND TEXT:engine SELECT * FROM VEHICLE WHERE VIN='%X%' INFO_TYPE:VEHICLE AND VIN:*X* | 038 ms | 000 ms | 000 ms | 383 ms | 384 ms | 383 ms | 092 ms | 000 ms | 000 ms | 389 ms | 387 ms | 386 ms | 039 ms | 000 ms | 000 ms | 859 ms | 379 ms | 383 ms Disk space: 132 MB Solr vs. 385 MB OracleTest Datenset: 150.000 Records
  • 15. Der Dirt Race Use-Case: •Keine Internet-Verbindung •Low-End Devices
  • 16. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Solr und AIR auf einem Raspberry Pi Model B als Proof of Concept lief 1A. 16 Running Debian Linux + JDK8 Jetty Servlet Container mit den Solr und AIR Webapps Reduziertes offline Datenset mit ~1.5 Mio Solr Documents Model B Hardware Specs: • ARMv6 CPU 700Mhz • 512MB RAM • 32GB SD Card And now try this with Oracle!
  • 17. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Nur ein überlegtes Schema-Design führt zu einer optimalen Solr Query-Performance. 17
  • 18. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Naive Denormalisierung der Daten führt schnell zu kombinatorischer Explosion. 18 33.071.137 Fahrzeuge14.830.197 Arbeitswerte 1.678.667 Pakete 5.078.411 AW Gruppen 18.573 Reparatur- Anleitungen 648.129 Technische Dokumente 55.000 Teile 648.129 Maßnamen 41.385 Typen 6.180 Fehler Indikationen Relationship Navigation
  • 19. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Multi-valued Felder können 1..n Relationen effizient abbilden, ergeben aber manchmal False Positives. 19 { "INFO_TYPE":"AWPOS_GROUP", "NUMMER" :[ "1134190" , "1235590" ] "BAUSTAND" :["1969-12-31T23:00:00Z","1975-12-31T23:00:00Z"] "E_SERIES" :[ "F10" , "E30" ] } Dieser Ansatz erfordert ein Nachfiltern der Suchergebnisse. Bei wenigen Treffern kein Problem. Alternative: neuere Versionen von Solr unterstützen Nested Child Documents. Index 0 Index 1 fq=INFO_TYPE:AWPOS_GROUP AND NUMMER:1134190 AND E_SERIES:F10 fq=INFO_TYPE:AWPOS_GROUP AND NUMMER:1134190 AND E_SERIES:E30
  • 20. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Die Gültigkeiten von Technischen Dokumenten sind als Boolsche Ausdrücke in binärer Form abgelegt. • Gültigkeits-Ausdrücke haben bis zu 46 verschiedene Terme. • Gültigkeits-Ausdrücke nutzen bis zu fünf Operatoren (AND, NOT, …) • Gültigkeits-Ausdrücke sind geschachtelt und komplex. • Einige Terme sind dynamisch und somit unbekannt zum Zeitpunkt der Indizierung. 20 Die Lösung: Transformation der Ausdrücke in einen equivalenten, ternären Ausdruck. Auswertung der Ausdrücke zum Abfrage-Zeitpunkt über eine Custom Function Query.
  • 21. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Beispiel für einen binären Gültigkeits-Ausdruck 21 Type(53078923) = ‚Brand‘, Value(53086475) = ‚BMW PKW‘ Type(53088651) = ‚E-Series‘, Value(53161483) = ‚F10‘ Type(64555275) = ‚Transmission‘, Value(53161483) = ‚MECH‘
  • 22. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Transformation der binären Gültigkeits-Ausdrücke in ihr JavaScript Equivalent während der Indizierung. 22 ((BRAND=='BMW PKW')&&(E_SERIES=='F10')&&(TRANSMISSION=='MECH')) AND(Brand='BMW PKW', E-Series='F10'‚ Transmission='MECH') { "INFO_TYPE": "TECHNISCHES_DOKUMENT", "DOKUMENT_TITEL": "Getriebe aus- und einbauen", "DOKUMENT_ART": " reparaturanleitung", "VALIDITY": "((BRAND=='BMW PKW')&&((E_SERIES=='F10')&&(...))", „BRAND": [„BMW PKW"] }
  • 23. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Auswertung der JavaScript Gültigkeits-Ausdrücke zum Abfrage-Zeitpunkt über eine Custom Function Query. 23 &fq=INFO_TYPE:TECHNISCHES_DOKUMENT &fq=DOKUMENT_ART:reparaturanleitung &fq={!frange l=1 u=1 incl=true incu=true cache=false cost=500} jsTerm(VALIDITY,eyJNT1RPUl9LUkFGVFNUT0ZGQVJUX01PVE9SQVJCRUlUU 1ZFUkZBSFJFTiI6IkIiLCJFX01BU0NISU5FX0tSQUZUU1RPRkZBUlQiOm51bG wsIlNJQ0hFUkhFSVRTRkFIUlpFVUciOiIwIiwiQU5UUklFQiI6IkFXRCIsIkV kJBVVJFSUhFIjoiWCcifQ==) http://qaware.blogspot.de/2014/11/how-to-write-postfilter-for-solr-49.html Base64decode { "BRAND":"BMW PKW", "E_SERIES":"F10", "TRANSMISSION":"MECH" }
  • 24. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Ein flexibler ETL Prozess, Continuous Delivery und DevOps sorgen für Datenaktualität und Konsistenz. 24
  • 25. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Auflösung von Stücklisten und Bedarfsrechner mit ZEBRA 25
  • 26. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Bills of Materials (BOMs) explained 26
  • 27. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer BOMs werden gebraucht für … 27 Produktionsplanung Vorhersage von Bedarfen Scenario-basierte PlanungSimulationen
  • 28. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Die grobe Architektur von ZEBRA 28 Teile / abstrakte Bedarfe Bestellungen / tatsächliche Bedarfe Analytics BOMs / Abhängige Bedarfe Demand Resolver Produktions- Planung 7 Mio.2 Mio. 21 Mrd.
  • 29. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Die wesentlichen Solr Optimierungen für ZEBRA 29 Bulk RequestHandler Binary DocValue Support Boolean Interpreter als Post-Filter Massen-Data Response Format Search Komponenten für 
 Custom JOIN Algorithmus Auflösung von tausenden Orders mit einem Request. Effizienter Datenspeicher mit Custom JOIN Logik Drastische Verbesserung der Zugriffszeiten auf die gespeicherten Daten über Binary DocValues. 0111 0111 Nutzt den Default Solr Binary Codec mit einem optimierten Datenmodell. Reduziert die Datenmenge um Faktor 8. Computing BOMs Eigene Post-Filter Implementierung zur Auswertung der am Dokumente gespeicherten Boolean Ausdrücke.
  • 30. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Low-Level Optimierungen der Solr-Interna führten zu einer drastischen Steigerung der Performance. 30 October 14 January 15 May 15 October 15 4,9 ms 0,28 ms 24 ms TimetocalculatetheBoMforoneorder 0,08 ms Scoring (-8%) Default Query Parser (-25%) Stat-Cache (-8%) String DocValues (-28%) Development of the processing time Demand Calulation Service PoC Profiling result and the some improvements to reduce the query time. X X X X
  • 31. | data2day 2016 | Automotive Information Research driven by Apache Solr | @LeanderReimer Solr ist ein leistungsfähiges Werkzeug das für den Bau von Enterprise und Datenanalyse
 Anwendungen eingesetzt werden kann. Seien Sie kreativ! 31
  • 32. Mario-Leander Reimer Cheftechnologe, QAware GmbH mario-leander.reimer@qaware.de https://www.qaware.de https://slideshare.net/MarioLeanderReimer/ https://speakerdeck.com/lreimer/ https://twitter.com/leanderreimer/ &