SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Aufbau agiler BI- und Discovery-Applikationen mit
Oracle Endeca
Harald Erb
ORACLE Deutschland B.V. & Co. KG, Frankfurt/Main
Schlüsselworte
Business Analytics, Social Media Monitoring, Endeca, Information Discovery, Data Warehouse,
Business Intelligence, Big Data, Exalytics, In-Memory, Faceted Data Model, geführte Navigation
Einleitung
Seit Jahrzehnten stützen sich Unternehmen bei ihren Geschäftsentscheidungen auf Transaktionsdaten,
die in relationalen Datenbanken gespeichert sind. Neben diesen kritischen Daten gibt es aber noch eine
Vielzahl an weiteren Quellen mit zum Teil weniger streng strukturierten Daten wie Dokumenten,
Social Media Daten, Sensordaten, Internet Foren, Blogs, etc., die nützliche Zusatzinformationen
darstellen und erst ein ganzheitliches Bild auf geschäftliche Zusammenhänge geben können. Immer
mehr Unternehmen sind daher bemüht, neben ihren herkömmlichen Unternehmensdaten auch die nicht
traditionellen, aber potenziell ebenso wertvollen Daten für ihre Business Intelligence-Analysen zu
nutzen.
In Ergänzung zu dem DOAG-Vortrag stellt dieser Artikel nicht nur das neue Produkt Oracle Endeca
Information Discovery (OEID) vor, sondern setzt es in den Gesamtkontext der Business Analytics
Strategie von Oracle. Denn mit der Big Data Appliance (BDA), Exadata und Exalytics bietet Oracle
ein umfassendes und eng integriertes Produktportfolio an, dass die Gewinnung und Organisation
unterschiedlicher Datentypen unterstützt und gemeinsam mit den vorhandenen Unternehmensdaten
auf neue Erkenntnisse und versteckte Zusammenhänge hin analysierbar macht. Endeca Information
Discovery unterstützt dabei auf neuartige Weise, in dem diese Lösung die Funktionen einer
Suchmaschine mit der Leistungsfähigkeit eines Business Intelligence-Werkzeugs kombiniert.
Social Media Monitoring im Laborbeispiel
Liest oder hört man über Big Data Applikationen, so gehört zu den häufig diskutierten Anwendungs-
bereichen das systematische Beobachten und Analysieren von Social Media Beiträgen und Dialogen in
Diskussionsforen, Weblogs, Communitys, etc., um u.a. die Zustimmung oder Ablehnung der
Konsumenten zu Produkten, Services besser verstehen zu lernen. Fragt man etwas genauer nach, wie
z.B. Sentiment Analysen praktisch umgesetzt werden sollen, dann hört man eher unkonkrete
Lösungsansätze.
Die Oracle Business Analytics Plattform bietet die passende Infrastruktur für die Umsetzung solcher
Vorhaben. Bestehend aus der
Big Data Appliance – zur Bereitstellung von un- bzw. semi-strukturierten Ursprungsdaten;
Exadata – für die kombinierte Analyse von Big Data und traditionellen Unternehmensdaten;
Exalytics – für den Aufbau analytischer In-Memory Applikationen,
enthält sie alle notwendigen Funktionen für die Entwicklung von Big Data (Warehouse)
Applikationen. Alle Engineered Systems der Business Analytics Plattform sind per InfiniBand
Netzwerkanbindung miteinander gekoppelt und erzielen zusammen eine herausragende Performance,
sind äußerst skalierbar und sicher.
Dieser Artikel beschreibt nachfolgend anhand eines Beispielszenarios (Thema: Mobilfunk) die vier
wichtigsten Schritte, die für die Entwicklung einer Analyse-Applikation im auf Basis der Oracle
Business Analytics Plattform notwendig sind: Aquire – Organize – Analyze – Decide (siehe Abb. 1).
Abb. 1: Oracle Business Analytics Plattform vs. Entwicklungsschritte
Neben vorhandenen Unternehmensdatenquellen (Data Warehouse, PLM-System, etc.) sollen Twitter
Kurznachrichten die Datenbasis für Social Media Analysen bilden, die später in unserem Beispiels-
zenario mit Oracle Endeca Information Discovery umgesetzt werden.
1. Aquire
In unserem Beispiel müssen zunächst Twitter-Daten, eingeschränkt nach eigenen Suchbegriffen,
beschafft und direkt in die Hadoop Welt der Big Data Appliance (BDA) übertragen werden. Abb. 2
zeigt den Aufbau und die Bestandteile eines „Tweets“:
Abb. 2: Aufbau und Inhalt einer Twitter Nachricht
Twitter stellt hierzu diverse Web Services API’s bereit (siehe Details zu den Schnittstellen unter
http://dev.twitter.com), die es uns entweder erlauben, per Bulk-Collect (REST API) „historische“
Tweets über einen Zeitraum von 7 bis 10 Tagen zu erhalten, oder durch Nutzung der Streaming API‘s
kontinuierlich Tweets zu vorgegebenen Suchbegriffen oder einzelnen Usern in die Big Data Appliance
zu laden. Voraussetzung für das Abrufen der Twitter-Daten ist das Einrichten eines Twitter Developer
Accounts, die Registrierung der eigenen lokalen Applikation bei Twitter und schließlich das
Hinterlegen des Access Tokens innerhalb der BDA Umgebung.
Twitter stellt die angeforderten Daten im XML-/JSON-Dateiformat bereit, daher bietet sich für unser
Szenario die dateiorientierte Speicherung der Twitter-Inhalte im Hadoop Distributed Filesystem
(HDFS) der BDA an. Alternativ steht in der BDA für die satzorientierte Speicherung der Social Media
Daten die Oracle NoSQL Datenbank als Universal-Key-Value-Speicher zur Verfügung, die technisch
auf Oracle‘s Berkeley DB basiert.
Abb. 3 zeigt überblicksweise, wie die Beschaffung der Twitter-Daten - hier im Beispiel mit dem Java-
Programm „twitter_search.jar“ - programmatisch umgesetzt werden kann: Möchte man nahezu in
Echtzeit User-Statusmeldungen oder die Ergebnisse von eigenen Suchanfragen aus dem globalen
Twitter-Stream abrufen, dann startet man mit Aufruf  (Stream) einen Twitter Streaming Job, der die
resultierenden Tweets in ein XML-Dateiformat wandelt und anschließend für die Weiterverarbeitung
in ein Eingangsverzeichnis im verteilten Dateisystem (HDFS) der BDA speichert. Über diesen Weg
erhält man zusammen mit der Twitter Nachricht den Namen des Users, den Zeitstempel der Nachricht
sowie einige User Metriken (Anzahl Follower und Anzahl Freunde). Alternativ lassen sich per Aufruf
 (Search) ältere Twitter-Daten mit eigenen Schlagworten durchsuchen. Im Ergebnis erhält man
zusätzlich zu den gefundenen Tweets nur die Zeitangabe und den User Namen des Verfassers. Die o.g.
User Metriken (social importance metrics), die wichtig für die Bestimmung des Einflusses des Users
in der Netzwelt sind, fehlen allerdings. Über einen User Lookup (Aufruf ) läßt sich dieses
Informationsdefizit allerdings beheben, in dem nachträglich die Ergebisse der Twitter Suche (Aufruf
) um die User Metriken ergänzt werden.
Abb. 3: Beispielszenario „Einsammeln von Twitter Daten“ mit beteiligten Komponenten und Prozessflüssen
Abb. 4: Konfiguration des Twitter Streaming/Search Jobs und Kategorisierung wichtiger Suchbegriffe
Für unser Beispielszenario werden rund um das Thema Mobilfunk die wichtigsten Suchbegriffe in
einer einfachen Konfigurationsdatei hinterlegt und kategorisiert (Abb. 4). Z.B. bilden die Begriffe
„@iPhone“, „@iPhone3“, „@iPhone4“ eine Kategorie „IP“. Die vom Twitter Streaming Job
abgerufenen Ergebnisse werden dann bei der Umformatierung in ein XML-Ausgabeformat noch
zusätzlich um eine entsprechende Kategorieinformation erweitert. Dieser Verabeitungsschritt
ermöglicht später das Organisieren der Daten mittels des Hadoop-Frameworks „MapReduce“.
2. Organize
Nach der gezielten Beschaffung der Twitter-Daten findet in unserem Beispielszenario nun das
Programmier-Framework MapReduce seine Anwendung. Ziel ist dabei die Durchführung einer
Sentiment Analyse, um aus den Twitter Nachrichten systematisch die Konsumentenzustimmung bzw.
-ablehnung zu Produkten oder Services ermitteln zu können (siehe Abb. 5). Die Sentiment Analyse
selbst ist simpel gehalten: der Text eines Tweets wird tokenisiert, ein Fuzzy-Match-Algorithmus
durchsucht dafür hinterlegte Wörterbücher nach passenden positiven oder negativen Wörtern. Wird
ein positives Wort gefunden, erhöht sich der Sentiment Score um ein Inkrement, bei negativen
Treffern reduziert sich der Score entsprechend. Für die Anwendung anspruchsvollerer Methoden bietet
die Oracle Big Data Appliance zusätzliche In-Database Funktionen, wie z.B. Text Mining, Data
Mining, die Statistikumgebung Project R oder unterstützt auch Semantikanalysen.
Abb. 5: Beispielszenario „Sentiment Score der Tweet Nachrichten berechnen“
Die MapReduce Jobs fassen bei unserem Mobilfunkbeispiel in der Mapper-Phase die Tweets und ihre
errechneten Sentiment Scores nach bestimmten Kriterien zusammen: z.B. auf Tagesbasis, nach
Telekommunikationsprovidern (VF = Vodafone), nach den im Aquire-Schritt festgelegten Tweet-
Kategorien (Staff, Contracts, iPhone, etc.), nach Twitter Usern, usw. Im Ergebnis produziert der
Mapper Key-Value-Paare (siehe Abb. 6), die im Anschluss die Shuffle & Sort Phase durchlaufen
bevor sie an den Reducer übergeben werden.
Abb. 6: Beispielszenario „Map“ Filtern und Interpretieren der Twitter Daten“
Für unser Beispielszenario fasst Abb. 7 die beteiligten Komponenten (repräsentiert durch das Java-
Programm „mobile_mr.jar“) und die in der Mapper-Phase zu erledigenden Aufgaben zusammen.
Abb. 7: Zugehörigen Komponenten für das „Map“ Beispielszenario
In der Reducer-Phase erfolgt schließlich die Weiterverarbeitung der sortierten Schlüssel und Werte-
Arrays. Im Beispielszenario entstehen dabei neue Key-Value-Paare mit nun zwei Metriken: dem
aufsummierten Sentiment Score und die Anzahl der Vorkommnisse pro Schlüssel (vgl. hierzu Abb. 8).
Der letzte Schritt ist wiederum die Ausgabe der vom Reducer generierten finalen Key-Value-Paare,
die nun als Textdateien im HDFS abgelegt werden (pro MapReduce Job ein eigenes Verzeichnis).
Abb.8: Beispielszenario „Reduce“ mit den beteiligten Komponenten
An dieser Stelle könnte man in der Big Data Appliance mit „Hive“, einem mächtigen MapReduce-Job,
erste Auswertungen durchführen, ohne eine Oracle Datenbank dazu zu verwenden. Hive erweitert
Hadoop mit einer eigenen Anfragesprache HQL um Data-Warehouse-Funktionalitäten. HQL basiert
auf SQL und ermöglicht dem Entwickler somit die Verwendung einer SQL-ähnlichen Syntax.
In unserem Beispiel soll später einmal der Marketing-Bereich eines Telekomunikationsanbieters mit
Oracle Endeca Information Discovery die Tonalität der Twitter-Posts seiner Konsumenten für eine
gezielte Kundenansprache nutzen können. Dafür werden die Ergebisse der MapReduce-Jobs mit dem
Oracle Direct Connector for HDFS (ODCH) via InfiniBand Netzwerkverbindung in eine Oracle
Datenbank geladen, siehe hierzu Abb. 9.
Abb. 9: Beispielszenario „Laden der MapReduce Ergebnisse in das Exadata Data Warehouse“
Die im verteilten Dateisystem der BDA abgelegten Key-Value-Paare können somit im Exadata Data
Warehouse über eine externe Tabelle bequem mit SQL abgefragt und weiterverarbeitet werden. Für
unser Beispielszenario ist das ein wichtiger Punkt, denn es gilt die neuen Erkenntnisse aus dem Social
Media Monitoring mit den Kundeninformationen im Enterprise Data Warehouse zu verknüpfen. Rein
praktisch wäre dies möglich, wenn die Kunden unseres Telekommunikationsanbieters z.B. über eine
Opt-in Maßnahme gegen eine kleine Belohnung ihren Twitter User Namen bekanntgeben. Aufgrund
dieser Verknüpfung können nun auch technisch die Unternehmensdaten mit den aufbereiteten Social
Media Daten vereint und mit Hilfe der Exadata In-Database Analytik für eine große Anzahl von
Anwendern genutzt werden (Abb. 10).
Abb. 10: Merge der MapReduce Ergebnisse mit den Unternehmensdaten im Enterprise Data Warehouse
3. Analyze
In unserem Beispielszenario haben wir nun die Sentimente zu allen Tweets errechnet, die wir zu
diesem Zweck vom globalen Twitter Stream in die Big Data Appliance übertragen und anschließend
nach verschiedenen Kategorien (auf Tagesbasis, nach Hersteller, Mobilfunkkunden, Service Aspekte)
aggregiert haben. Ferner kennen wir aufgrund einiger Metriken (Anzahl Freunde, Anzahl Follower)
die Social Importance“ der Verfasser zu den von uns untersuchten Tweets.
Durch das Laden der „veredelten“ Twitter-Daten in das Enterprise Data Warehouse (Exadata) und die
Verknüpfung mit den vorhandenen Unternehmensdaten, läßt sich nun beispielsweise über die Zeit die
Kundenzufriedenheit darstellen. Es können aber auch Trends ermittelt und die Kundenzufriedenheit
der eigenen Kunden mit denen des Wettbewerbs verglichen werden. Mit den bekannten analytischen
Fähigkeiten der Oracle Datenbank läßt sich also nun herausfinden: Welche öknomisch wichtigen
Kunden sind aufgrund bestimmter Mißstände zunehmend frustriert? Oder: Bei welchen Kunden-
verträgen ist mit höherer Wahrscheinlichkeit mit einer Kündigung zu rechnen? Welche Kunden sind,
im Social Media Kontext betrachtet, die „Meinungsmacher“ und nehmen Einfluss auf mein Geschäft?
Zur Umsetzung der meisten o.g. Fragestellungen würde man vermutlich den klassischen Data
Warehouse- und Business Intelligence Ansatz wählen und für die Fachanwender, vom zentralen
Entprise Data Warehouse (Datenmodell) ausgehend, themenspezifische Data Marts (relational /
multidimensional) ableiten, die für einen definierten Zeitbereich verdichtete Informationen enthalten.
Auf diesen auswerteoptimierten Datenquellen läßt sich dann mit der Exalytics „BI Machine“ und der
Business Intelligence Foundation Suite eine unternehmensweit einsetzbare BI-Plattform aufbauen, die
es den Fachanwendern erlaubt, per „Self-Service BI“ alle relevanten Geschäftsinformationen
abzurufen oder graphisch unterstützt eigene Analysen durchzuführen.
Hier kann man sich nun die Frage stellen: Wozu also jetzt Endeca einsetzen? Wozu der Artikel über
agile BI und Discovery Applikationen?
Aus Oracle Sicht kann man zwischen zwei Arten von Fragestellungen unterscheiden, mit denen
analytische Applikationen umgehen müssen. Zum einen gibt es den Typ von Business
Fragestellungen, bei denen im Voraus die entsprechenden Geschäftsprozesse und die dazu benötigten
Daten durch die Fachseite bekannt sind: Wie stellt sich die Umsatzprognose nach Region für eine
bestimmten Zeitraum dar? Oder: Wie ist die Performance meiner Organisation im Vergleich zu den
gesetzten Zielen? Zum anderen gibt es Fragestellungen, bei denen weder der entsprechende
Geschäftsprozess noch die benötigten Daten vorab durch die Fachseite definiert werden können: Auf
welche Kunden sollen wir uns fokussieren? Warum gehen meine Verkaufszahlen zurück? Interessant
ist dabei zu sehen, dass der zweite Fragentyp aufgrund seines offenen Charakters im Vergleich zum
ersten Typ viel kurzlebiger ist und eher neue Fragen hervorbringt, als abschließend beantwortet zu
werden.
Das Interaktionsmodell für die „bekannten Fragestellungen“ kann man ganz gut mit dem „Nachsehen
von aufbereiteten Informationen“ beschreiben, z.B. mittels eines Standardberichts oder eines BI
Dashboards – so wie es heute mit traditionellen Business Intelligence Mitteln umgesetzt wird. Bei den
heute noch unbekannten aber morgen schon von den Fachanwendern nachgefragten Analysen ist
dagegen ein Interaktionsmodell erforderlich, das eher die „Datenerkundung bzw. das Entdecken neuer
Zusammenhänge“ (Data Discovery) unterstützt. Siehe hierzu Abb. 11.
Abb. 11: Komplementäre Lösungen: Data Discovery vs. Business Intelligence
Betrachtet man in Abb. 11 zusätzlich den Aspekt der Datenmodellierung, so finden wir bei Business
Intelligence Lösungen in der Regel den allumfassenden Semantischen Layer vor, dessen Aufbau und
Pflege Zeit und Geld kostet. Investitionen dieser Art werden von Unternehmen nur getätigt, wenn sich
die Anstrengungen durch Effizienzgewinne bei der Informationsbeschaffung wieder amortisieren.
Gleichzeitig sinken weiterhin die Kosten für Speichermedien und mit der Popularisierung von Hadoop
steigen die Aussichten, dass aus nicht-modellierten Daten Nutzen gezogen werden kann. Das Ergebnis
ist eine Explosion bei der Erfassung nicht-modellierter Daten (also Social Media Daten, Sensordaten,
usw.) durch die Unternehmen.
Aus diesen beiden Blickwinkeln erkennt man, dass sich traditionelle Business Intelligence Lösungen
und Data Discovery Lösungen ergänzen können: Die nach den Anforderungen der Fachseite
aufgebaute Business Intelligence Anwendung liefert qualitätsgesicherte Ergebnisse für bekannte
Fragestellungen. Es können aber auch neue Fragen aufgeworfen werden, deren Beantwortung unter
Umständen erst mit einem neuen Release der BI Anwendung oder gar des Data Warehouses möglich
ist im schlimmsten Fall ist die Anforderung bis dahin schon obsolet geworden. Mit einer Data
Discovery Lösung von Endeca sind dagegen neue fachliche Fragestellungen schneller beantwortbar.
Inbesondere dann, wenn die dafür notwendigen Informationen in den unterschiedlichsten Formaten
vorliegen (strukturiert, semi-strukturiert,unstrukturiert) und in den verschiedensten Systemen
gespeichert sind (Data Warehouse, operativ genutzte Datenbanken, Office-Dokumente). Stellt sich bei
der Arbeit mit Endeca Information Discovery heraus, dass die beantworteten Fragestellungen
regelmäßig benötigt werden, kann dies als Anforderung in die Releaseplanung für die nächste Data
Warehouse Version bzw. Version der Business Intelligence Applikation einfließen.
Zurück zu unserem Beispielszenario: In Abb. 12 wird der oben beschriebene typische Endeca Fall
dargestellt. Ein Großteil der zu analysierenden Daten (inkl. der aufbereiteten Tweets) stammen aus
dem Entprise Data Warehouse (Exadata), weitere Zusatzinformationen liefern in strukurierter Form
die Datenbank eines Product Lifecycle Management Systems (detailierte Gerätebeschreibungen) und
in semi-strukturierter Form (Vertragsdokumente) ein Content Management oder CRM System.
Abb. 12: “Model As You Go” Ansatz mit Endeca Information Discovery
In einem Datenintegrationsschritt werden die Informationen aus den unterschiedlichen Quellen
miteinander verknüpft und in der Exalytics-Umgebung als denormalisierter „Endeca Record“ im
Endeca Server, einer spaltenorientierten In-Memory-Datenbank, gespeichert (siehe Abb. 13).
Abb. 13: Aufbau eines denormalisierten Endeca Records
Die facettierte Datenhaltung im Endeca Server kommt ohne Tabellen und vordefiniertes Datenmodell
(Schema) aus. Die Datensätze selbst werden als Sammlung von Key-Value-Paaren gespeichert, dabei
kann jeder Datensatz anders aufgebaut sein – das Facetten Datenmodell leitet sich automatisch aus den
geladenen Daten ab. Das bedeutet in Abb. 14 zum Beispiel, dass es Datenattribute gibt, die exklusiv
nur im Data Warehouse, im Product Lifecycle Management System (PLM) oder in den (Meta-)Daten
der geladenen Dokumente vorkommen. Andere (globale) Attribute finden sich in mehreren oder allen
Datenquellen wieder. Ferner läßt der Endeca Server auch die Speicherung von semi-strukturierten
Daten und Multi-Value Feldern zu.
Abb. 14: Endeca Daten Modell
Aufgrund dieser Charakteristik können analytische Anwendungen schnell implementiert und iterativ
weiterentwickelt werden. Z.B. kann sich die Erweiterung der Produkt Dimension in einem relationalen
Data Warehouse Schema (Abb. 15) beim ständigen Hinzufügen neuer Produkt-“Facetten“ auf die
Dauer als komplex erweisen. Der Endeca Data Store kann hingegen mit einer flachen, XML-ähnlichen
Struktur bestehend aus sich selbst beschreibenden Key-Value-Paaren verglichen werden, die sich
beliebig erweitern lässt.
Abb. 15: Relationales Star Schema vs. XML-ähnlich strukturierter Datenhaltung im Endeca Server
Abb. 16: Oracle Endeca Information Discovery Integrator
Für das Laden der Daten aus den verschiedenen Quellsystemen kommt die Endeca Integration Suite
zum Einsatz, die aus einem leistungsfähigen Werkzeug „CloverETL“ (siehe Abb. 16), System-
Konnektoren und Content-Enrichment-Bibliotheken für die Zusammenführung und Anreicherung
vielfältiger Informationen besteht. Sie ermöglicht die effiziente Vernetzung von strukturierten und
unstrukturierten Daten zu einer einheitlichen, integrierten Sicht. Die Kommunikation mit dem Endeca-
Server erfolgt über Webservices, für große Datenmengen gibt es ein Bulk-Loader-Interface. Während
des Betriebs können neue Daten zum Endeca Data Store hinzugefügt oder bereits gespeicherte
Informationen aktualisiert werden, ohne dass eine Neuindexierung aller Daten erforderlich ist.
Für unser Beispielszenario ist das zur Integration Suite zugehörige „Content Acquisition System“
(CAS) interessant. Dabei handelt es sich um eine Crawling-Umgebung, die verschiedene Konnektoren
zur Integration unstrukturierter Daten bietet – in unserem Fall zum Erfassen der Vertragsdokumente
im MS Office oder PDF-Format geeignet. Zum weiteren Leistungsumfang zählt auch ein Webcrawler
zur Anbindung von Internet-Foren, Twitter oder Facebook.
Die Endeca Integration Suite ermöglicht optional auch die Einbindung von Text-Analyse- und Text-
Mining-Produkten von Drittanbietern. Auf diesem Weg lassen sich wichtige Begriffe (wie Personen-,
Orts- und Firmen-Namen) aus textbasierten Informationsquellen extrahieren oder Sentiment-Analysen
durchgeführen, um die positive/negative Tonalität eines Forenbeitrags oder die Produktzustimmung/ -
ablehnung von Konsumenten erkennen zu können. Für unser Beispielszenario wäre dies also eine
Alternative zu unserer selbstprogrammierten Sentiment Analyse in der Big Data Appliance.
Abb. 17: Oracle Endeca Information Discovery Integrators
4. Decide
Wie im vorigen Abschnitt für den Endeca Server schon beschrieben, kann auf der Exalytics „BI
Machine“ neben der Business Intelligence Foundation Suite auch die gesamte Endeca Infrastruktur
betrieben werden (siehe Abb. 17). Dazu gehört als Middleware-Komponente Oracle Endeca Studio,
eine webgestützte Infrastruktur, auf die Endanwender über einen Browser zugreifen können.
Für die Anwender steht eine Bibliothek mit zahlreichen vorgefertigten Portlets zur Verfügung, die per
„Drag & Drop“ auf die Anwenderoberfläche gezogen und dort konfiguriert werden können – eine
Auswahl an Portlets zeigt Abb. 18. In kurzer Zeit lassen sich so von Beginn an neue BI Anwendungen
mit der vollumfänglichen Auswahl an Attributen erstellen, die im Endeca Datenmodell vorhanden sind
(das können hunderte oder gar tausende von Attributen sein). Eine Java-API erlaubt zudem die
Entwicklung weiterer Visualisierungs- und Filterkomponenten.
Abb. 18: Auswahl vorgefertigter Portlets in Endeca Studio
Die Funktionsweise von Endeca Studio erlaubt eine Vielzahl von Abfragemöglichkeiten. Neben
interaktiven Visualisierungen, Analysen, Bereichsfiltern, Tag Clouds, etc. sind die beiden Portlets
„Guided Navigation“ und „Search Box“ unverzichtbare Schlüsselfunktionen einer agilen Endeca BI
Applikation. Denn insbesondere die umfassende Volltextsuche in den semi- bzw. unstruktierten Daten
des Endeca Data Stores (siehe Abb. 19) ergibt am Ende, kombiniert mit einem leistungsfähigen BI-
Tool, die Möglichkeit neue Zusammenhänge in den Daten zu erkennen.
Abb. 19: Endeca Studio Portlets „Search Box“ und “Metrics Bar”
Abb. 19 zeigt ferner, dass der Endeca-Server für die Berechnung und Darstellung von Metriken oder
für Ad-hoc-Abfragen über eine Analyse-Sprache, der Endeca Query Language (EQL), verfügt. EQL
ist mit SQL-ähnlicher Syntax verwendbar. Ein weiteres Highlight sind die Geodatenfilter, die
Umkreissuchen und das Festlegen von Bereichsfiltern in Karten ermöglichen.
Abb. 20: Blick hinter die Kulissen des Endeca Studio Portlets „Map“
Und so kann eine agile BI Applikation für unser Social Media Beispielszenario aussehen: Eine
Anwenderoberfläche, in der jedes Attribut, das in den Endeca-Datensätzen enthalten ist, als Filter-Kriterium
dienen kann. Alle Charts und Filtermöglichkeiten berechnen sich direkt nach jedem Filter neu und die „Faceted
Navigation“ zeigt dabei stets die aktuell gültigen Navigationsoptionen an. So werden Ergebnisse immer neu
zusammengefasst präsentiert, die Nutzer bekommen so einen Anhaltspunkt, wie sie die Ergebnisse weiter
verfeinern und erkunden können.
Abb. 21: Social Media Monitoring mit Oracle Endeca Information Discovery
Fazit
Der Artikel hat anhand eines Beispiels beschrieben, wie die enorme Menge und Vielfalt an Daten, die
heutzutage in unserer Informationsgesellschaft entstehen, mit einer End-to-End Lösung von Oracle,
bestehend aus der Big Data Appliance, Exadata und Exlytics, bewältigt und mit Unternehmensdaten
kombiniert ausgewertet werden kann. Agile BI-Anwendungen lassen sich insbesondere mit Oracle
Endeca Information Discovery schnell realisieren, siehe zusammenfassend dazu Abb. 22:
Abb. 22: “Model As You Go” Applikationen sind in Wochen oder Monaten realisierbar
Weiterführende Informationen
[1] Jean-Pierre Dijcks: Oracle: Big Data for the Enterprise, An Oracle White Paper, Januar 2012,
http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/1453236.pdf
[2] V. Murthy, M. Goel, A. Lee, D. Granholm, S. Cheung: Oracle Exalytics In-Memory Machine: A
brief introduction, An Oracle White Paper, Oktober 2011,
http://www.oracle.com/us/solutions/ent-performance-bi/business-intelligence/exalytics-bi-
machine/overview/exalytics-introduction-1372418.pdf
[3] o.V.: A Technical Overview of Oracle Endeca Information Discovery, An Oracle White Paper,
Mai 2012,
http://www.oracle.com/us/solutions/ent-performance-bi/oeid-tech-overview-1674380.pdf
[4] M. Klein: Informationen mit Oracle Endeca Information Discovery entdecken, DOAG News 4-
2012
[5] C. Czarski: Big Data: Eine Einführung, Oracle Dojo Nr. 2, München 2012,
http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html
Kontaktadresse:
Harald Erb
ORACLE Deutschland B.V. & Co. KG
Robert-Bosch-Straße 5
D-63303 Dreieich
Telefon: +49 (0) 6103-397 403
Fax: +49 (0) 6103-397 397
E-Mail: harald.erb@oracle.com
Internet: www.oracle.com

Más contenido relacionado

Destacado

Rosalía Morlán
Rosalía Morlán Rosalía Morlán
Rosalía Morlán bibliocoto
 
Grundlagen des Online Medien Management - Web 1.0
Grundlagen des Online Medien Management - Web 1.0Grundlagen des Online Medien Management - Web 1.0
Grundlagen des Online Medien Management - Web 1.0KMTO
 
Social Software – Status Quo Im Web 2.0
Social Software – Status Quo Im Web 2.0Social Software – Status Quo Im Web 2.0
Social Software – Status Quo Im Web 2.0SebStS1
 
Snapchat Einführung im ADAC
Snapchat Einführung im ADACSnapchat Einführung im ADAC
Snapchat Einführung im ADACADAC
 
Ingolstadt privatheit 2011_print
Ingolstadt privatheit 2011_printIngolstadt privatheit 2011_print
Ingolstadt privatheit 2011_printJan Schmidt
 
Schmidt socialmedia 2010_print
Schmidt socialmedia 2010_printSchmidt socialmedia 2010_print
Schmidt socialmedia 2010_printJan Schmidt
 
Archivierungsbox - Office Box bb 345 de
Archivierungsbox - Office Box bb 345 deArchivierungsbox - Office Box bb 345 de
Archivierungsbox - Office Box bb 345 deAlu-Logic
 
Morning linedealfonsorodriguezveralar7dic14
Morning linedealfonsorodriguezveralar7dic14Morning linedealfonsorodriguezveralar7dic14
Morning linedealfonsorodriguezveralar7dic14Winston1968
 
pvrb GV Physik am Velo 12.03.27 Dacfey
pvrb GV Physik am Velo 12.03.27 Dacfeypvrb GV Physik am Velo 12.03.27 Dacfey
pvrb GV Physik am Velo 12.03.27 DacfeyPro Velo Region Baden
 

Destacado (17)

Rosalía Morlán
Rosalía Morlán Rosalía Morlán
Rosalía Morlán
 
via_04_2012_d
via_04_2012_dvia_04_2012_d
via_04_2012_d
 
Grundlagen des Online Medien Management - Web 1.0
Grundlagen des Online Medien Management - Web 1.0Grundlagen des Online Medien Management - Web 1.0
Grundlagen des Online Medien Management - Web 1.0
 
SEM SEO Vortrag an der BAW München
SEM SEO Vortrag an der BAW MünchenSEM SEO Vortrag an der BAW München
SEM SEO Vortrag an der BAW München
 
Social Software – Status Quo Im Web 2.0
Social Software – Status Quo Im Web 2.0Social Software – Status Quo Im Web 2.0
Social Software – Status Quo Im Web 2.0
 
Snapchat Einführung im ADAC
Snapchat Einführung im ADACSnapchat Einführung im ADAC
Snapchat Einführung im ADAC
 
Inversionistas MIT
Inversionistas MITInversionistas MIT
Inversionistas MIT
 
Ingolstadt privatheit 2011_print
Ingolstadt privatheit 2011_printIngolstadt privatheit 2011_print
Ingolstadt privatheit 2011_print
 
Kunst in deutschland
Kunst in deutschlandKunst in deutschland
Kunst in deutschland
 
Schmidt socialmedia 2010_print
Schmidt socialmedia 2010_printSchmidt socialmedia 2010_print
Schmidt socialmedia 2010_print
 
Reciclar
ReciclarReciclar
Reciclar
 
YouHelp Card
YouHelp CardYouHelp Card
YouHelp Card
 
Archivierungsbox - Office Box bb 345 de
Archivierungsbox - Office Box bb 345 deArchivierungsbox - Office Box bb 345 de
Archivierungsbox - Office Box bb 345 de
 
Website images
Website imagesWebsite images
Website images
 
Morning linedealfonsorodriguezveralar7dic14
Morning linedealfonsorodriguezveralar7dic14Morning linedealfonsorodriguezveralar7dic14
Morning linedealfonsorodriguezveralar7dic14
 
Schulgesundheitspflege
SchulgesundheitspflegeSchulgesundheitspflege
Schulgesundheitspflege
 
pvrb GV Physik am Velo 12.03.27 Dacfey
pvrb GV Physik am Velo 12.03.27 Dacfeypvrb GV Physik am Velo 12.03.27 Dacfey
pvrb GV Physik am Velo 12.03.27 Dacfey
 

Más de Harald Erb

Actionable Insights with AI - Snowflake for Data Science
Actionable Insights with AI - Snowflake for Data ScienceActionable Insights with AI - Snowflake for Data Science
Actionable Insights with AI - Snowflake for Data ScienceHarald Erb
 
Snowflake for Data Engineering
Snowflake for Data EngineeringSnowflake for Data Engineering
Snowflake for Data EngineeringHarald Erb
 
Dataiku & Snowflake Meetup Berlin 2020
Dataiku & Snowflake Meetup Berlin 2020Dataiku & Snowflake Meetup Berlin 2020
Dataiku & Snowflake Meetup Berlin 2020Harald Erb
 
Does it only have to be ML + AI?
Does it only have to be ML + AI?Does it only have to be ML + AI?
Does it only have to be ML + AI?Harald Erb
 
Delivering rapid-fire Analytics with Snowflake and Tableau
Delivering rapid-fire Analytics with Snowflake and TableauDelivering rapid-fire Analytics with Snowflake and Tableau
Delivering rapid-fire Analytics with Snowflake and TableauHarald Erb
 
Machine Learning - Eine Challenge für Architekten
Machine Learning - Eine Challenge für ArchitektenMachine Learning - Eine Challenge für Architekten
Machine Learning - Eine Challenge für ArchitektenHarald Erb
 
DOAG Big Data Days 2017 - Cloud Journey
DOAG Big Data Days 2017 - Cloud JourneyDOAG Big Data Days 2017 - Cloud Journey
DOAG Big Data Days 2017 - Cloud JourneyHarald Erb
 
Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen Harald Erb
 
Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?
Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?
Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?Harald Erb
 
Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Harald Erb
 
Big Data Discovery
Big Data DiscoveryBig Data Discovery
Big Data DiscoveryHarald Erb
 
DOAG News 2012 - Analytische Mehrwerte mit Big Data
DOAG News 2012 - Analytische Mehrwerte mit Big DataDOAG News 2012 - Analytische Mehrwerte mit Big Data
DOAG News 2012 - Analytische Mehrwerte mit Big DataHarald Erb
 
Oracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by ExampleOracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by ExampleHarald Erb
 
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...Harald Erb
 

Más de Harald Erb (14)

Actionable Insights with AI - Snowflake for Data Science
Actionable Insights with AI - Snowflake for Data ScienceActionable Insights with AI - Snowflake for Data Science
Actionable Insights with AI - Snowflake for Data Science
 
Snowflake for Data Engineering
Snowflake for Data EngineeringSnowflake for Data Engineering
Snowflake for Data Engineering
 
Dataiku & Snowflake Meetup Berlin 2020
Dataiku & Snowflake Meetup Berlin 2020Dataiku & Snowflake Meetup Berlin 2020
Dataiku & Snowflake Meetup Berlin 2020
 
Does it only have to be ML + AI?
Does it only have to be ML + AI?Does it only have to be ML + AI?
Does it only have to be ML + AI?
 
Delivering rapid-fire Analytics with Snowflake and Tableau
Delivering rapid-fire Analytics with Snowflake and TableauDelivering rapid-fire Analytics with Snowflake and Tableau
Delivering rapid-fire Analytics with Snowflake and Tableau
 
Machine Learning - Eine Challenge für Architekten
Machine Learning - Eine Challenge für ArchitektenMachine Learning - Eine Challenge für Architekten
Machine Learning - Eine Challenge für Architekten
 
DOAG Big Data Days 2017 - Cloud Journey
DOAG Big Data Days 2017 - Cloud JourneyDOAG Big Data Days 2017 - Cloud Journey
DOAG Big Data Days 2017 - Cloud Journey
 
Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen
 
Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?
Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?
Exploratory Analysis in the Data Lab - Team-Sport or for Nerds only?
 
Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!
 
Big Data Discovery
Big Data DiscoveryBig Data Discovery
Big Data Discovery
 
DOAG News 2012 - Analytische Mehrwerte mit Big Data
DOAG News 2012 - Analytische Mehrwerte mit Big DataDOAG News 2012 - Analytische Mehrwerte mit Big Data
DOAG News 2012 - Analytische Mehrwerte mit Big Data
 
Oracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by ExampleOracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by Example
 
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
 

DOAG News 2013 - Aufbau agiler Discovery-Applikationen mit Oracle Endeca

  • 1. Aufbau agiler BI- und Discovery-Applikationen mit Oracle Endeca Harald Erb ORACLE Deutschland B.V. & Co. KG, Frankfurt/Main Schlüsselworte Business Analytics, Social Media Monitoring, Endeca, Information Discovery, Data Warehouse, Business Intelligence, Big Data, Exalytics, In-Memory, Faceted Data Model, geführte Navigation Einleitung Seit Jahrzehnten stützen sich Unternehmen bei ihren Geschäftsentscheidungen auf Transaktionsdaten, die in relationalen Datenbanken gespeichert sind. Neben diesen kritischen Daten gibt es aber noch eine Vielzahl an weiteren Quellen mit zum Teil weniger streng strukturierten Daten wie Dokumenten, Social Media Daten, Sensordaten, Internet Foren, Blogs, etc., die nützliche Zusatzinformationen darstellen und erst ein ganzheitliches Bild auf geschäftliche Zusammenhänge geben können. Immer mehr Unternehmen sind daher bemüht, neben ihren herkömmlichen Unternehmensdaten auch die nicht traditionellen, aber potenziell ebenso wertvollen Daten für ihre Business Intelligence-Analysen zu nutzen. In Ergänzung zu dem DOAG-Vortrag stellt dieser Artikel nicht nur das neue Produkt Oracle Endeca Information Discovery (OEID) vor, sondern setzt es in den Gesamtkontext der Business Analytics Strategie von Oracle. Denn mit der Big Data Appliance (BDA), Exadata und Exalytics bietet Oracle ein umfassendes und eng integriertes Produktportfolio an, dass die Gewinnung und Organisation unterschiedlicher Datentypen unterstützt und gemeinsam mit den vorhandenen Unternehmensdaten auf neue Erkenntnisse und versteckte Zusammenhänge hin analysierbar macht. Endeca Information Discovery unterstützt dabei auf neuartige Weise, in dem diese Lösung die Funktionen einer Suchmaschine mit der Leistungsfähigkeit eines Business Intelligence-Werkzeugs kombiniert. Social Media Monitoring im Laborbeispiel Liest oder hört man über Big Data Applikationen, so gehört zu den häufig diskutierten Anwendungs- bereichen das systematische Beobachten und Analysieren von Social Media Beiträgen und Dialogen in Diskussionsforen, Weblogs, Communitys, etc., um u.a. die Zustimmung oder Ablehnung der Konsumenten zu Produkten, Services besser verstehen zu lernen. Fragt man etwas genauer nach, wie z.B. Sentiment Analysen praktisch umgesetzt werden sollen, dann hört man eher unkonkrete Lösungsansätze. Die Oracle Business Analytics Plattform bietet die passende Infrastruktur für die Umsetzung solcher Vorhaben. Bestehend aus der Big Data Appliance – zur Bereitstellung von un- bzw. semi-strukturierten Ursprungsdaten; Exadata – für die kombinierte Analyse von Big Data und traditionellen Unternehmensdaten; Exalytics – für den Aufbau analytischer In-Memory Applikationen, enthält sie alle notwendigen Funktionen für die Entwicklung von Big Data (Warehouse) Applikationen. Alle Engineered Systems der Business Analytics Plattform sind per InfiniBand Netzwerkanbindung miteinander gekoppelt und erzielen zusammen eine herausragende Performance, sind äußerst skalierbar und sicher.
  • 2. Dieser Artikel beschreibt nachfolgend anhand eines Beispielszenarios (Thema: Mobilfunk) die vier wichtigsten Schritte, die für die Entwicklung einer Analyse-Applikation im auf Basis der Oracle Business Analytics Plattform notwendig sind: Aquire – Organize – Analyze – Decide (siehe Abb. 1). Abb. 1: Oracle Business Analytics Plattform vs. Entwicklungsschritte Neben vorhandenen Unternehmensdatenquellen (Data Warehouse, PLM-System, etc.) sollen Twitter Kurznachrichten die Datenbasis für Social Media Analysen bilden, die später in unserem Beispiels- zenario mit Oracle Endeca Information Discovery umgesetzt werden. 1. Aquire In unserem Beispiel müssen zunächst Twitter-Daten, eingeschränkt nach eigenen Suchbegriffen, beschafft und direkt in die Hadoop Welt der Big Data Appliance (BDA) übertragen werden. Abb. 2 zeigt den Aufbau und die Bestandteile eines „Tweets“: Abb. 2: Aufbau und Inhalt einer Twitter Nachricht
  • 3. Twitter stellt hierzu diverse Web Services API’s bereit (siehe Details zu den Schnittstellen unter http://dev.twitter.com), die es uns entweder erlauben, per Bulk-Collect (REST API) „historische“ Tweets über einen Zeitraum von 7 bis 10 Tagen zu erhalten, oder durch Nutzung der Streaming API‘s kontinuierlich Tweets zu vorgegebenen Suchbegriffen oder einzelnen Usern in die Big Data Appliance zu laden. Voraussetzung für das Abrufen der Twitter-Daten ist das Einrichten eines Twitter Developer Accounts, die Registrierung der eigenen lokalen Applikation bei Twitter und schließlich das Hinterlegen des Access Tokens innerhalb der BDA Umgebung. Twitter stellt die angeforderten Daten im XML-/JSON-Dateiformat bereit, daher bietet sich für unser Szenario die dateiorientierte Speicherung der Twitter-Inhalte im Hadoop Distributed Filesystem (HDFS) der BDA an. Alternativ steht in der BDA für die satzorientierte Speicherung der Social Media Daten die Oracle NoSQL Datenbank als Universal-Key-Value-Speicher zur Verfügung, die technisch auf Oracle‘s Berkeley DB basiert. Abb. 3 zeigt überblicksweise, wie die Beschaffung der Twitter-Daten - hier im Beispiel mit dem Java- Programm „twitter_search.jar“ - programmatisch umgesetzt werden kann: Möchte man nahezu in Echtzeit User-Statusmeldungen oder die Ergebnisse von eigenen Suchanfragen aus dem globalen Twitter-Stream abrufen, dann startet man mit Aufruf  (Stream) einen Twitter Streaming Job, der die resultierenden Tweets in ein XML-Dateiformat wandelt und anschließend für die Weiterverarbeitung in ein Eingangsverzeichnis im verteilten Dateisystem (HDFS) der BDA speichert. Über diesen Weg erhält man zusammen mit der Twitter Nachricht den Namen des Users, den Zeitstempel der Nachricht sowie einige User Metriken (Anzahl Follower und Anzahl Freunde). Alternativ lassen sich per Aufruf  (Search) ältere Twitter-Daten mit eigenen Schlagworten durchsuchen. Im Ergebnis erhält man zusätzlich zu den gefundenen Tweets nur die Zeitangabe und den User Namen des Verfassers. Die o.g. User Metriken (social importance metrics), die wichtig für die Bestimmung des Einflusses des Users in der Netzwelt sind, fehlen allerdings. Über einen User Lookup (Aufruf ) läßt sich dieses Informationsdefizit allerdings beheben, in dem nachträglich die Ergebisse der Twitter Suche (Aufruf ) um die User Metriken ergänzt werden. Abb. 3: Beispielszenario „Einsammeln von Twitter Daten“ mit beteiligten Komponenten und Prozessflüssen
  • 4. Abb. 4: Konfiguration des Twitter Streaming/Search Jobs und Kategorisierung wichtiger Suchbegriffe Für unser Beispielszenario werden rund um das Thema Mobilfunk die wichtigsten Suchbegriffe in einer einfachen Konfigurationsdatei hinterlegt und kategorisiert (Abb. 4). Z.B. bilden die Begriffe „@iPhone“, „@iPhone3“, „@iPhone4“ eine Kategorie „IP“. Die vom Twitter Streaming Job abgerufenen Ergebnisse werden dann bei der Umformatierung in ein XML-Ausgabeformat noch zusätzlich um eine entsprechende Kategorieinformation erweitert. Dieser Verabeitungsschritt ermöglicht später das Organisieren der Daten mittels des Hadoop-Frameworks „MapReduce“. 2. Organize Nach der gezielten Beschaffung der Twitter-Daten findet in unserem Beispielszenario nun das Programmier-Framework MapReduce seine Anwendung. Ziel ist dabei die Durchführung einer Sentiment Analyse, um aus den Twitter Nachrichten systematisch die Konsumentenzustimmung bzw. -ablehnung zu Produkten oder Services ermitteln zu können (siehe Abb. 5). Die Sentiment Analyse selbst ist simpel gehalten: der Text eines Tweets wird tokenisiert, ein Fuzzy-Match-Algorithmus durchsucht dafür hinterlegte Wörterbücher nach passenden positiven oder negativen Wörtern. Wird ein positives Wort gefunden, erhöht sich der Sentiment Score um ein Inkrement, bei negativen Treffern reduziert sich der Score entsprechend. Für die Anwendung anspruchsvollerer Methoden bietet die Oracle Big Data Appliance zusätzliche In-Database Funktionen, wie z.B. Text Mining, Data Mining, die Statistikumgebung Project R oder unterstützt auch Semantikanalysen. Abb. 5: Beispielszenario „Sentiment Score der Tweet Nachrichten berechnen“
  • 5. Die MapReduce Jobs fassen bei unserem Mobilfunkbeispiel in der Mapper-Phase die Tweets und ihre errechneten Sentiment Scores nach bestimmten Kriterien zusammen: z.B. auf Tagesbasis, nach Telekommunikationsprovidern (VF = Vodafone), nach den im Aquire-Schritt festgelegten Tweet- Kategorien (Staff, Contracts, iPhone, etc.), nach Twitter Usern, usw. Im Ergebnis produziert der Mapper Key-Value-Paare (siehe Abb. 6), die im Anschluss die Shuffle & Sort Phase durchlaufen bevor sie an den Reducer übergeben werden. Abb. 6: Beispielszenario „Map“ Filtern und Interpretieren der Twitter Daten“ Für unser Beispielszenario fasst Abb. 7 die beteiligten Komponenten (repräsentiert durch das Java- Programm „mobile_mr.jar“) und die in der Mapper-Phase zu erledigenden Aufgaben zusammen. Abb. 7: Zugehörigen Komponenten für das „Map“ Beispielszenario In der Reducer-Phase erfolgt schließlich die Weiterverarbeitung der sortierten Schlüssel und Werte- Arrays. Im Beispielszenario entstehen dabei neue Key-Value-Paare mit nun zwei Metriken: dem aufsummierten Sentiment Score und die Anzahl der Vorkommnisse pro Schlüssel (vgl. hierzu Abb. 8). Der letzte Schritt ist wiederum die Ausgabe der vom Reducer generierten finalen Key-Value-Paare, die nun als Textdateien im HDFS abgelegt werden (pro MapReduce Job ein eigenes Verzeichnis).
  • 6. Abb.8: Beispielszenario „Reduce“ mit den beteiligten Komponenten An dieser Stelle könnte man in der Big Data Appliance mit „Hive“, einem mächtigen MapReduce-Job, erste Auswertungen durchführen, ohne eine Oracle Datenbank dazu zu verwenden. Hive erweitert Hadoop mit einer eigenen Anfragesprache HQL um Data-Warehouse-Funktionalitäten. HQL basiert auf SQL und ermöglicht dem Entwickler somit die Verwendung einer SQL-ähnlichen Syntax. In unserem Beispiel soll später einmal der Marketing-Bereich eines Telekomunikationsanbieters mit Oracle Endeca Information Discovery die Tonalität der Twitter-Posts seiner Konsumenten für eine gezielte Kundenansprache nutzen können. Dafür werden die Ergebisse der MapReduce-Jobs mit dem Oracle Direct Connector for HDFS (ODCH) via InfiniBand Netzwerkverbindung in eine Oracle Datenbank geladen, siehe hierzu Abb. 9. Abb. 9: Beispielszenario „Laden der MapReduce Ergebnisse in das Exadata Data Warehouse“ Die im verteilten Dateisystem der BDA abgelegten Key-Value-Paare können somit im Exadata Data Warehouse über eine externe Tabelle bequem mit SQL abgefragt und weiterverarbeitet werden. Für unser Beispielszenario ist das ein wichtiger Punkt, denn es gilt die neuen Erkenntnisse aus dem Social Media Monitoring mit den Kundeninformationen im Enterprise Data Warehouse zu verknüpfen. Rein praktisch wäre dies möglich, wenn die Kunden unseres Telekommunikationsanbieters z.B. über eine Opt-in Maßnahme gegen eine kleine Belohnung ihren Twitter User Namen bekanntgeben. Aufgrund dieser Verknüpfung können nun auch technisch die Unternehmensdaten mit den aufbereiteten Social Media Daten vereint und mit Hilfe der Exadata In-Database Analytik für eine große Anzahl von Anwendern genutzt werden (Abb. 10).
  • 7. Abb. 10: Merge der MapReduce Ergebnisse mit den Unternehmensdaten im Enterprise Data Warehouse 3. Analyze In unserem Beispielszenario haben wir nun die Sentimente zu allen Tweets errechnet, die wir zu diesem Zweck vom globalen Twitter Stream in die Big Data Appliance übertragen und anschließend nach verschiedenen Kategorien (auf Tagesbasis, nach Hersteller, Mobilfunkkunden, Service Aspekte) aggregiert haben. Ferner kennen wir aufgrund einiger Metriken (Anzahl Freunde, Anzahl Follower) die Social Importance“ der Verfasser zu den von uns untersuchten Tweets. Durch das Laden der „veredelten“ Twitter-Daten in das Enterprise Data Warehouse (Exadata) und die Verknüpfung mit den vorhandenen Unternehmensdaten, läßt sich nun beispielsweise über die Zeit die Kundenzufriedenheit darstellen. Es können aber auch Trends ermittelt und die Kundenzufriedenheit der eigenen Kunden mit denen des Wettbewerbs verglichen werden. Mit den bekannten analytischen Fähigkeiten der Oracle Datenbank läßt sich also nun herausfinden: Welche öknomisch wichtigen Kunden sind aufgrund bestimmter Mißstände zunehmend frustriert? Oder: Bei welchen Kunden- verträgen ist mit höherer Wahrscheinlichkeit mit einer Kündigung zu rechnen? Welche Kunden sind, im Social Media Kontext betrachtet, die „Meinungsmacher“ und nehmen Einfluss auf mein Geschäft? Zur Umsetzung der meisten o.g. Fragestellungen würde man vermutlich den klassischen Data Warehouse- und Business Intelligence Ansatz wählen und für die Fachanwender, vom zentralen Entprise Data Warehouse (Datenmodell) ausgehend, themenspezifische Data Marts (relational / multidimensional) ableiten, die für einen definierten Zeitbereich verdichtete Informationen enthalten. Auf diesen auswerteoptimierten Datenquellen läßt sich dann mit der Exalytics „BI Machine“ und der Business Intelligence Foundation Suite eine unternehmensweit einsetzbare BI-Plattform aufbauen, die es den Fachanwendern erlaubt, per „Self-Service BI“ alle relevanten Geschäftsinformationen abzurufen oder graphisch unterstützt eigene Analysen durchzuführen. Hier kann man sich nun die Frage stellen: Wozu also jetzt Endeca einsetzen? Wozu der Artikel über agile BI und Discovery Applikationen? Aus Oracle Sicht kann man zwischen zwei Arten von Fragestellungen unterscheiden, mit denen analytische Applikationen umgehen müssen. Zum einen gibt es den Typ von Business Fragestellungen, bei denen im Voraus die entsprechenden Geschäftsprozesse und die dazu benötigten Daten durch die Fachseite bekannt sind: Wie stellt sich die Umsatzprognose nach Region für eine
  • 8. bestimmten Zeitraum dar? Oder: Wie ist die Performance meiner Organisation im Vergleich zu den gesetzten Zielen? Zum anderen gibt es Fragestellungen, bei denen weder der entsprechende Geschäftsprozess noch die benötigten Daten vorab durch die Fachseite definiert werden können: Auf welche Kunden sollen wir uns fokussieren? Warum gehen meine Verkaufszahlen zurück? Interessant ist dabei zu sehen, dass der zweite Fragentyp aufgrund seines offenen Charakters im Vergleich zum ersten Typ viel kurzlebiger ist und eher neue Fragen hervorbringt, als abschließend beantwortet zu werden. Das Interaktionsmodell für die „bekannten Fragestellungen“ kann man ganz gut mit dem „Nachsehen von aufbereiteten Informationen“ beschreiben, z.B. mittels eines Standardberichts oder eines BI Dashboards – so wie es heute mit traditionellen Business Intelligence Mitteln umgesetzt wird. Bei den heute noch unbekannten aber morgen schon von den Fachanwendern nachgefragten Analysen ist dagegen ein Interaktionsmodell erforderlich, das eher die „Datenerkundung bzw. das Entdecken neuer Zusammenhänge“ (Data Discovery) unterstützt. Siehe hierzu Abb. 11. Abb. 11: Komplementäre Lösungen: Data Discovery vs. Business Intelligence Betrachtet man in Abb. 11 zusätzlich den Aspekt der Datenmodellierung, so finden wir bei Business Intelligence Lösungen in der Regel den allumfassenden Semantischen Layer vor, dessen Aufbau und Pflege Zeit und Geld kostet. Investitionen dieser Art werden von Unternehmen nur getätigt, wenn sich die Anstrengungen durch Effizienzgewinne bei der Informationsbeschaffung wieder amortisieren. Gleichzeitig sinken weiterhin die Kosten für Speichermedien und mit der Popularisierung von Hadoop steigen die Aussichten, dass aus nicht-modellierten Daten Nutzen gezogen werden kann. Das Ergebnis ist eine Explosion bei der Erfassung nicht-modellierter Daten (also Social Media Daten, Sensordaten, usw.) durch die Unternehmen. Aus diesen beiden Blickwinkeln erkennt man, dass sich traditionelle Business Intelligence Lösungen und Data Discovery Lösungen ergänzen können: Die nach den Anforderungen der Fachseite aufgebaute Business Intelligence Anwendung liefert qualitätsgesicherte Ergebnisse für bekannte Fragestellungen. Es können aber auch neue Fragen aufgeworfen werden, deren Beantwortung unter Umständen erst mit einem neuen Release der BI Anwendung oder gar des Data Warehouses möglich ist im schlimmsten Fall ist die Anforderung bis dahin schon obsolet geworden. Mit einer Data Discovery Lösung von Endeca sind dagegen neue fachliche Fragestellungen schneller beantwortbar. Inbesondere dann, wenn die dafür notwendigen Informationen in den unterschiedlichsten Formaten vorliegen (strukturiert, semi-strukturiert,unstrukturiert) und in den verschiedensten Systemen gespeichert sind (Data Warehouse, operativ genutzte Datenbanken, Office-Dokumente). Stellt sich bei
  • 9. der Arbeit mit Endeca Information Discovery heraus, dass die beantworteten Fragestellungen regelmäßig benötigt werden, kann dies als Anforderung in die Releaseplanung für die nächste Data Warehouse Version bzw. Version der Business Intelligence Applikation einfließen. Zurück zu unserem Beispielszenario: In Abb. 12 wird der oben beschriebene typische Endeca Fall dargestellt. Ein Großteil der zu analysierenden Daten (inkl. der aufbereiteten Tweets) stammen aus dem Entprise Data Warehouse (Exadata), weitere Zusatzinformationen liefern in strukurierter Form die Datenbank eines Product Lifecycle Management Systems (detailierte Gerätebeschreibungen) und in semi-strukturierter Form (Vertragsdokumente) ein Content Management oder CRM System. Abb. 12: “Model As You Go” Ansatz mit Endeca Information Discovery In einem Datenintegrationsschritt werden die Informationen aus den unterschiedlichen Quellen miteinander verknüpft und in der Exalytics-Umgebung als denormalisierter „Endeca Record“ im Endeca Server, einer spaltenorientierten In-Memory-Datenbank, gespeichert (siehe Abb. 13). Abb. 13: Aufbau eines denormalisierten Endeca Records
  • 10. Die facettierte Datenhaltung im Endeca Server kommt ohne Tabellen und vordefiniertes Datenmodell (Schema) aus. Die Datensätze selbst werden als Sammlung von Key-Value-Paaren gespeichert, dabei kann jeder Datensatz anders aufgebaut sein – das Facetten Datenmodell leitet sich automatisch aus den geladenen Daten ab. Das bedeutet in Abb. 14 zum Beispiel, dass es Datenattribute gibt, die exklusiv nur im Data Warehouse, im Product Lifecycle Management System (PLM) oder in den (Meta-)Daten der geladenen Dokumente vorkommen. Andere (globale) Attribute finden sich in mehreren oder allen Datenquellen wieder. Ferner läßt der Endeca Server auch die Speicherung von semi-strukturierten Daten und Multi-Value Feldern zu. Abb. 14: Endeca Daten Modell Aufgrund dieser Charakteristik können analytische Anwendungen schnell implementiert und iterativ weiterentwickelt werden. Z.B. kann sich die Erweiterung der Produkt Dimension in einem relationalen Data Warehouse Schema (Abb. 15) beim ständigen Hinzufügen neuer Produkt-“Facetten“ auf die Dauer als komplex erweisen. Der Endeca Data Store kann hingegen mit einer flachen, XML-ähnlichen Struktur bestehend aus sich selbst beschreibenden Key-Value-Paaren verglichen werden, die sich beliebig erweitern lässt. Abb. 15: Relationales Star Schema vs. XML-ähnlich strukturierter Datenhaltung im Endeca Server
  • 11. Abb. 16: Oracle Endeca Information Discovery Integrator Für das Laden der Daten aus den verschiedenen Quellsystemen kommt die Endeca Integration Suite zum Einsatz, die aus einem leistungsfähigen Werkzeug „CloverETL“ (siehe Abb. 16), System- Konnektoren und Content-Enrichment-Bibliotheken für die Zusammenführung und Anreicherung vielfältiger Informationen besteht. Sie ermöglicht die effiziente Vernetzung von strukturierten und unstrukturierten Daten zu einer einheitlichen, integrierten Sicht. Die Kommunikation mit dem Endeca- Server erfolgt über Webservices, für große Datenmengen gibt es ein Bulk-Loader-Interface. Während des Betriebs können neue Daten zum Endeca Data Store hinzugefügt oder bereits gespeicherte Informationen aktualisiert werden, ohne dass eine Neuindexierung aller Daten erforderlich ist. Für unser Beispielszenario ist das zur Integration Suite zugehörige „Content Acquisition System“ (CAS) interessant. Dabei handelt es sich um eine Crawling-Umgebung, die verschiedene Konnektoren zur Integration unstrukturierter Daten bietet – in unserem Fall zum Erfassen der Vertragsdokumente im MS Office oder PDF-Format geeignet. Zum weiteren Leistungsumfang zählt auch ein Webcrawler zur Anbindung von Internet-Foren, Twitter oder Facebook. Die Endeca Integration Suite ermöglicht optional auch die Einbindung von Text-Analyse- und Text- Mining-Produkten von Drittanbietern. Auf diesem Weg lassen sich wichtige Begriffe (wie Personen-, Orts- und Firmen-Namen) aus textbasierten Informationsquellen extrahieren oder Sentiment-Analysen durchgeführen, um die positive/negative Tonalität eines Forenbeitrags oder die Produktzustimmung/ - ablehnung von Konsumenten erkennen zu können. Für unser Beispielszenario wäre dies also eine Alternative zu unserer selbstprogrammierten Sentiment Analyse in der Big Data Appliance.
  • 12. Abb. 17: Oracle Endeca Information Discovery Integrators 4. Decide Wie im vorigen Abschnitt für den Endeca Server schon beschrieben, kann auf der Exalytics „BI Machine“ neben der Business Intelligence Foundation Suite auch die gesamte Endeca Infrastruktur betrieben werden (siehe Abb. 17). Dazu gehört als Middleware-Komponente Oracle Endeca Studio, eine webgestützte Infrastruktur, auf die Endanwender über einen Browser zugreifen können. Für die Anwender steht eine Bibliothek mit zahlreichen vorgefertigten Portlets zur Verfügung, die per „Drag & Drop“ auf die Anwenderoberfläche gezogen und dort konfiguriert werden können – eine Auswahl an Portlets zeigt Abb. 18. In kurzer Zeit lassen sich so von Beginn an neue BI Anwendungen mit der vollumfänglichen Auswahl an Attributen erstellen, die im Endeca Datenmodell vorhanden sind (das können hunderte oder gar tausende von Attributen sein). Eine Java-API erlaubt zudem die Entwicklung weiterer Visualisierungs- und Filterkomponenten. Abb. 18: Auswahl vorgefertigter Portlets in Endeca Studio
  • 13. Die Funktionsweise von Endeca Studio erlaubt eine Vielzahl von Abfragemöglichkeiten. Neben interaktiven Visualisierungen, Analysen, Bereichsfiltern, Tag Clouds, etc. sind die beiden Portlets „Guided Navigation“ und „Search Box“ unverzichtbare Schlüsselfunktionen einer agilen Endeca BI Applikation. Denn insbesondere die umfassende Volltextsuche in den semi- bzw. unstruktierten Daten des Endeca Data Stores (siehe Abb. 19) ergibt am Ende, kombiniert mit einem leistungsfähigen BI- Tool, die Möglichkeit neue Zusammenhänge in den Daten zu erkennen. Abb. 19: Endeca Studio Portlets „Search Box“ und “Metrics Bar” Abb. 19 zeigt ferner, dass der Endeca-Server für die Berechnung und Darstellung von Metriken oder für Ad-hoc-Abfragen über eine Analyse-Sprache, der Endeca Query Language (EQL), verfügt. EQL ist mit SQL-ähnlicher Syntax verwendbar. Ein weiteres Highlight sind die Geodatenfilter, die Umkreissuchen und das Festlegen von Bereichsfiltern in Karten ermöglichen. Abb. 20: Blick hinter die Kulissen des Endeca Studio Portlets „Map“ Und so kann eine agile BI Applikation für unser Social Media Beispielszenario aussehen: Eine Anwenderoberfläche, in der jedes Attribut, das in den Endeca-Datensätzen enthalten ist, als Filter-Kriterium
  • 14. dienen kann. Alle Charts und Filtermöglichkeiten berechnen sich direkt nach jedem Filter neu und die „Faceted Navigation“ zeigt dabei stets die aktuell gültigen Navigationsoptionen an. So werden Ergebnisse immer neu zusammengefasst präsentiert, die Nutzer bekommen so einen Anhaltspunkt, wie sie die Ergebnisse weiter verfeinern und erkunden können. Abb. 21: Social Media Monitoring mit Oracle Endeca Information Discovery
  • 15. Fazit Der Artikel hat anhand eines Beispiels beschrieben, wie die enorme Menge und Vielfalt an Daten, die heutzutage in unserer Informationsgesellschaft entstehen, mit einer End-to-End Lösung von Oracle, bestehend aus der Big Data Appliance, Exadata und Exlytics, bewältigt und mit Unternehmensdaten kombiniert ausgewertet werden kann. Agile BI-Anwendungen lassen sich insbesondere mit Oracle Endeca Information Discovery schnell realisieren, siehe zusammenfassend dazu Abb. 22: Abb. 22: “Model As You Go” Applikationen sind in Wochen oder Monaten realisierbar Weiterführende Informationen [1] Jean-Pierre Dijcks: Oracle: Big Data for the Enterprise, An Oracle White Paper, Januar 2012, http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/1453236.pdf [2] V. Murthy, M. Goel, A. Lee, D. Granholm, S. Cheung: Oracle Exalytics In-Memory Machine: A brief introduction, An Oracle White Paper, Oktober 2011, http://www.oracle.com/us/solutions/ent-performance-bi/business-intelligence/exalytics-bi- machine/overview/exalytics-introduction-1372418.pdf [3] o.V.: A Technical Overview of Oracle Endeca Information Discovery, An Oracle White Paper, Mai 2012, http://www.oracle.com/us/solutions/ent-performance-bi/oeid-tech-overview-1674380.pdf [4] M. Klein: Informationen mit Oracle Endeca Information Discovery entdecken, DOAG News 4- 2012 [5] C. Czarski: Big Data: Eine Einführung, Oracle Dojo Nr. 2, München 2012, http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html Kontaktadresse: Harald Erb ORACLE Deutschland B.V. & Co. KG Robert-Bosch-Straße 5 D-63303 Dreieich Telefon: +49 (0) 6103-397 403 Fax: +49 (0) 6103-397 397 E-Mail: harald.erb@oracle.com Internet: www.oracle.com