Wie wird eine Ansammlung von in unterschiedlichster Weise miteinander in Beziehung stehenden, verknüpften Datensätze im Web bezeichnet ?
Es wird als “Linked Data” bezeichnet.
Mithilfe von Linked Data werden Daten im Web nun nicht mehr in menschenlesbaren HTML-Dokumenten, sondern in maschinenlesbaren Strukturen veröffentlicht, die quasi wie eine einzige große Datenbank behandelt werden können. Die nachfolgende Abbildung zeigt einen Ausschnitt der Gesamtheit aller Datensätze im Linked Data-Format, die der Linking Open Data Community (Schmachtenberg et al. 2017) durch Organisationen oder Personen zur Verfügung gestellt wurden.
Was ist das DBPedia-Projekt
Das DBPedia-Projekt im Zentrum der Linked Data-Aktivitäten hat es sich zur Aufgabe gemacht, Informationen aus Wikipedia zu extrahieren und der Allgemeinheit unter einer Open Source-Lizenz zur Verfügung zu stellen.
Aktuell werden in der englischen Version von DBPedia ca. 4,6 Millionen Datensätze (Personen, Organisationen, Filme etc.) zum Abruf bereitgestellt.
Was wurde eingeführt um die Daten nicht nur zu lesen und durchsuchen zu können sondern auch mit eigenen Applikationen Daten zu verarbeiten und auszutauschen.
Es muss eine entsprechende Schnittstelle erstellt werden oder die Daten in ein passendes Format überführt werden.
Um zeitaufwendige Konversionen zu vermeiden und um ein einheitliches Format für den Datenaustausch nutzen und für Linked Data erstellen zu können, wurde durch das W3C (World Wide Web Consortium) im Jahr 2014 der RDF-Standard (Resource Description Framework) entwickelt.
Definition RDF
RDF (Resource Description Framework) beschreibt ein Datenmodell, das auf einer graphenorientierten Datenbank basiert und inhaltliche Metadaten darstellt. Eine graphenorientierte Datenbank besteht aus einer Ressource, die Beziehungen zu anderen Ressourcen hat. Das nachfolgende Diagramm stellt ein einfaches Beispiel für eine graphenorientierte Datenbank dar.
RDF, als ein standardisiertes Datenformat um graphenorientierte Datenbanken erstellen zu können, basiert auf sogenannten Statements. Ein RDF-Statement besteht aus den drei Elementen Subjekt, Prädikat (Beziehung) und Objekt. Die Kombination dieser drei Elemente wird auch als RDF-Tripel bezeichnet. RDF-Tripel sind somit die grundlegenden Bausteine für graphenorientierte Datenbanken.
Warum gibt es das RDFS (RDF-Schema)
Mittels RDF können zwar Aussagen (Statements) über einzelne Ressourcen, jedoch nicht über generische Mengen von Personen oder Organisationen (Klassen) definiert werden. Ebenso können keine logischen Zusammenhänge zwischen Ressourcen oder Klassen definiert werden.
RDFS (RDF-Schema) ist Teil der W3C-Empfehlungen zu RDF und beinhaltet genau diese fehlenden Funktionalitäten. RDFS stellt ein passendes Vokabular zur Verfügung, um mittels eines Klassenkonzeptes bestehend aus Klassen und Eigenschaften RDF-Elemente formal zu beschreiben.
Wie kann die automatisierte Suche nach Wissen und das Ziehen logischer Schlussfolgerungen aus dem Wissen im semantischen Web erfolgen ?
Ein Semantic Reasoner ist eine Software, die diese Funktionalität abbildet. Semantic Reasoner Applikationen sind sowohl als kommerzielle Software (z. B. Bossam, RacerPro) als auch als Open Source-Anwendungen (z. B. Pellet, Jena) verfügbar.
Ein Semantic Reasoner bezieht sein Wissen aus einer Knowledge Base (KB), einer Wissensdatenbank. In einer solchen Knowledge Base sind allgemeine Aussagen über Klassen und Aussagen über individuelle Instanzen dieser Klassen gespeichert. Aus den in dieser Knowledge Base gespeicherten Informationen kann nun ein Semantic Reasoner logische Schlussfolgerungen ziehen und diese Informationen auch auf ihre Konsistenz überprüfen.
Ohne den Einsatz von Semantic Reasonern ist das vernetzte Speichern von Informationen im semantischen Web nahezu nutzlos. Insofern kommt dem Einsatz von Semantic Reasonern eine hohe Bedeutung zu.
Was ist CEP (Complexing Event Processing)
CEP ist eine Softwaretechnologie, um massive Datenströme aus heterogenen Quellen in Echtzeit (sogenannte Live-Daten) dynamisch zu analysieren und diese mit anderen Datenströmen zu korrelieren.
Im Unterschied zur klassischen Datenverarbeitung, in der häufig kontinuierlich Datenbankabfragen auf persistente Datenbestände generiert werden, leitet CEP sich dynamisch-verändernde Datenströme auf persistente Analyseregelwerke um.
Complex Event Processing sucht in großen, komplexen Datenströmen nach Ereignismustern. Ein Ereignis ist in diesem Zusammenhang definiert als die Veränderung eines Zustandes – also z. B. die Änderung eines Wertes eines Objektes (z. B. Temperaturveränderung in °C). Diese Ereignismuster werden in Ereignisregeln mittels sogenannten Event Processing Languages (EPL) definiert, für die jedoch aktuell kein verbindlicher Standard existiert.
Was sind Beispiele für Anwendungsszenarien von CEP zur Echtzeitanalyse massiver Datenströme
Finanzmärkte
Sensornetze (SCADA-Systeme)
Dienstleistungen im Handel
Was sind die Kernkomponente eines jeden CEP-Systems ist der sogenannte Event Processing Agent (EPA).
Ereignismodell (definiert Ereignistypen, Attribute und Abhängigkeiten)
Ereignisregeln (Verarbeitung der Ereignisse mittels EPL)
Event Processing Engine (Komponente zur Mustererkennung in Ereignisströmen)
Ein Event Processing Agent als Kernkomponente eines jeden CEP-Systems kann nur eingebettet in eine ereignisgesteuerte Gesamtarchitektur funktionieren.
Aus welchen drei Elemente besteht ein Framework eine solche Event-Driven Architecture (EDA) ?
Ereignisquellen (alle Objekte, die Ereignisse generieren wie z. B. RFID-Sensoren oder SCADA-Systeme, die Temperaturen oder Schaltzyklen kontrollieren)
Ereignisverarbeitung (CEP-System, bestehend aus einem oder mehreren EPAs, die Datenströme auf relevante Ereignismuster analysieren)
Ereignisbehandlung (Auslösen eines Ereignisses bei Mustererkennung in nachgelagerten Systemen, wie z. B. Versand einer E-Mail oder Aktualisierung einer Kennzahl in einem Dashboard)
Was sind die wichtigsten Anforderungen an ein CEP-System
flexible Integration unterschiedlichster Ereignisquellen und -behandlungen
hohe Skalierbarkeit
hohe Verfügbarkeit
Was kann benutzt werden um viele heterogene Datenformate in großen Mengen möglichst in Echtzeit zu verarbeiten ?
Es bietet sich die Nutzung sogenannter NoSQL-Datenbanksysteme (Not only SQL) an, die für die Kommunikation zwischen Server und Client nicht ausschließlich SQL, sondern auch andere Protokolle benutzen.
Für welche Daten sind relationale bzw. NoSQL-Datenbanksysteme gedacht ?
Relationale Datenbanken sind für kleine Transaktionen (Schreibzugriffe) bei relativ statischen Datenbeständen ausgelegt und nicht für große Datenmengen, die sich dynamisch verändern.
NoSQL-Datenbanksysteme hingegen verzichten auf starre Datenbankstrukturen und speichern Daten ohne ein festes Schema so ab, dass der Zugriff auf diese Daten deutlich performanter erfolgen kann, als das bei relationalen Datenbanksystemen möglich wäre.
Welches Konsistenzmodell wird bei relationalen Datenbanken verwendet ?
ACID-Modell (atomicity, consistency, isolation und durability)
Welches Konsistenzmodell wird bei NoSQL Datenbanken verwendet ?
BASE-Modell, welches die Konsistenz zugunsten der Verfügbarkeit in den Hintergrund stellt:
Basically Available
Soft State
Eventual Consistency
Welches Verfahren kann angewendet werden um große, unstrukturierte und in einem verteilten System wie einer NoSQL-Datenbank gelagerten Datenmengen verarbeiten zu können ?
MapReduce
Ist ein durch Google entwickeltes Programmiermodell, das die Verarbeitung und das Durchsuchen großer, verteilter Datenmengen (z.B. von sozialen Netzwerken) in einem Cluster ermöglicht.
Das dem Verfahren zugrundeliegende namensgebende MapReduce-Konzept basiert auf den zwei zentralen Phasen (map und reduce), die zur Strukturierung der Daten angewendet werden.
Wie läuft der Datenfluss im MapReduce-Verfahren ab ?
In der Map-Phase erfolgt die Aufteilung der Eingabedatei auf mehrere Prozesse, die dann parallelisiert Zwischenergebnisse kalkulieren. Nachdem alle Map-Prozesse ordnungsgemäß beendet wurden, starten mehrere Reduce-Prozesse, die ebenfalls parallel Berechnungen starten, wobei jeder Prozess eine eigene Ausgabedatei erzeugt. Anwendungsfälle für MapReduce-Verfahren sind beispielsweise das Zählen einer Worthäufigkeit in einer Datei oder auch die Ermittlung von am häufigsten referenzierten Webseiten.
Last changed3 months ago