Graphdatenbanksysteme Überblick und Benchmark

Größe: px
Ab Seite anzeigen:

Download "Graphdatenbanksysteme Überblick und Benchmark"

Transkript

1 Graphdatenbanksysteme Überblick und Benchmark Diplomarbeit zur Erlangung des akademischen Grades Diplominformatiker Humboldt-Universitat zu Berlin Mathematisch-Naturwissenschaftliche Fakult at II Institut fur Informatik eingereicht von: Benjamin Raphael Gehrels geboren am: 10. September 1987 in: Heidelberg Gutachter: Prof. Dr. Ulf Leser Prof. Dr.-Ing. Stefan Edlich eingereicht am: verteidigt am:......

2

3 Zusammenfassung Netzartige Strukturen erfahren derzeit ein steigendes Interesse in der Informatik, sowohl im akademischen als auch im kommerziellen Bereich. Der Trend, die soziale Interaktion von Nutzern und die Ähnlichkeit ihrer Interessen zur Verbesserung von Onlinediensten zu nutzen, ist im kommerziellen Bereich der wohl einflussreichste Faktor soziale Netzwerke stellen hier eines der prominentesten Beispiele dar. Im akademischen Bereich lässt sich beispielsweise die Analyse von metabolischen Netzen und Protein-Interaktions-Netzen nennen. In den letzten Jahren kamen unter dem Stichwort NoSQL eine Vielzahl neuer Datenbankmanagementsysteme auf den Markt. Sie versuchen, bestimmte Probleme mit anderen als den dominierenden relationalen Datenmodellen und teils neuen Anfrageparadigmen besser zu lösen. In diesem Zusammenhang erfreuen sich auch Graphdatenbankmanagementsysteme steigender Popularität. Diese nutzen Graphen, eine mathematische Repräsentation von Netzen, als Datenmodell und versprechen Vorteile für die Speicherung und Analyse großer Netze. Diese Arbeit gibt einen Überblick über das Themenfeld der Graphdatenbankmanagementsysteme. Sie beginnt mit einer historischen Einordnung und definiert die mathematischen Grundlagen der verwendeten Datenmodelle. Anhand von vier exemplarischen Systemen Neo4j, FlockDB, HyperGraphDB und DEX wird anschließend ein funktionaler Vergleich verschiedener am Markt existierender Systeme vorgenommen: Welche Datenmodelle wurden gewählt, welche Anfragesprachen existieren, welche Indexstrukturen können genutzt werden, wie werden die Graphdaten persistiert, welche Ansätze zur Transaktionskontrolle werden unterstützt und wie skalieren die Systeme bei wachsenden Anfrage- oder Datenmengen? Der rein funktionalen Analyse wird ein Benchmark der untersuchten Systeme gegenübergestellt, welches die Geschwindigkeit von typischen Graphanfragen auf Graphen verschiedener Größe misst und vergleicht. Abgeschlossen wird diese Arbeit mit einer zusammenfassenden Einordnung der Erkenntnisse: Welche Konzepte und Systeme erweisen sich für welche Anwendungsgebiete als vorteilhaft und wo liegen ihre Probleme?

4 Inhaltsverzeichnis 1. Motivation Probleme bei der Nutzung relationaler Datenbanken zur Speicherung von Graphen Graphdatenbankmanagementsysteme als Alternative Related Work Ziel der Arbeit Historischer Hintergrund Grundbegriffe Graphen Hypergraphen Reguläre Pfadanfragen Reguläre Graphanfragen Graphdatenbankmanagementsysteme Eingebettetes Datenbankmanagementsystem Horizontale und vertikale Skalierbarkeit Überblick über verschiedene Graphdatenbankmanagementsysteme Neo4j Indexstrukturen Anfragemechanismen Transaktionen Persistenz und Caching Skalierbarkeit und Ausfallsicherheit FlockDB Anfragemechanismen Persistenz und Caching Transaktionen Skalierbarkeit und Ausfallsicherheit HyperGraphDB Indexstrukturen Anfragemechanismen Persistenz und Caching

5 Transaktionen Skalierbarkeit und Ausfallsicherheit DEX Anfragemechanismen Transaktionen Persistenz und Caching Indexstrukturen Skalierbarkeit und Ausfallsicherheit Zusammenfassung Benchmark Datengrundlage Typische Eigenschaften großer Graphen Generierung von Graphen Die generierten Daten Algorithmen Neo4j FlockDB HyperGraphDB DEX Experimentaufbau Neo4j FlockDB HyperGraphDB DEX Methodenkritik Ergebnisse Ergebnisse der einzelnen Algorithmen Gesamtergebnis Zusammenfassung Neo4j FlockDB HyperGraphDB DEX Ausblick A. Literaturverzeichnis 89 B. Messergebnisse des Benchmarks 96 C. Selbstständigkeitserklärung 120 5

6 Abbildungsverzeichnis 5.1. Beispiel eines gerichteten Multigraphen mit Kanten-Labeln und Knoten- Properties Beispiel eines gelabelten und gerichteten Multihypergraphen Schematische Darstellung einer zusammenhängenden regulären Graphanfrage mit 4 Variablen und 4 Ausdrücken Beispielhafte Darstellung einer Neo4j-Datenbank Beispielhafte Darstellung einer FlockDB-Datenbank Beispielhafte Darstellung einer HyperGraphDB-Datenbank Schematische Darstellung der Datenspeicherung von HyperGraphDB Beispielhafte Darstellung einer DEX-Datenbank Die Knotengradverteilung des generierten Benchmarkgraphen ( Knoten, 1 Mio Kanten) verglichen mit einer Power-Law-Distribution mit γ = 1, Visualisierung des im Rahmen des Benchmarks ausgeführten regulären Graphausdrucks: Gegeben der Knoten x, welche Knoten y und z sind mit diesem über einen Dreieckspfad mit den Labeln L1, L2 und L3 verbunden? Messergebnisse: Import eines Graphen mit variabler Anzahl Knoten und Kanten in verschiedene Datenbanksysteme Messergebnisse: Auslesen aller Kanten eines Graphen mit variabler Anzahl Knoten und Kanten bei kalten Caches aus verschiedenen Datenbanksystemen Messergebnisse: Auslesen transitiv inzidenter Knoten in einem Graphen mit variabler Anzahl Knoten und Kanten bei warmen Caches aus verschiedenen Datenbanksystemen Messergebnisse: Berechnung der starken Zusammenhangskomponenten eines Graphen mit variabler Anzahl Knoten und Kanten bei warmen Caches aus verschiedenen Datenbanksystemen Messergebnisse: Auslesen gemeinsamer inzidenter Knoten in einem Graphen mit variabler Anzahl Knoten und Kanten bei warmen Caches aus verschiedenen Datenbanksystemen Messergebnisse: Finden von Dreiecken in einem Graphen mit variabler Anzahl Knoten und Kanten bei warmen Caches aus verschiedenen Datenbanksystemen

7 Tabellenverzeichnis 6.1. Überblick der untersuchten Datenbankmanagementsysteme: Allgemeines, Datenmodell und Anfragemöglichkeiten Überblick der untersuchten Datenbankmanagementsysteme: Persistenz, Caching und Indexstrukturen Überblick der untersuchten Datenbankmanagementsysteme: Transaktionen und Verteilung B.1. Messergebnisse: Datenimport in Neo4j B.2. Messergebnisse: Auslesen aller Kanten aus Neo4j B.3. Messergebnisse: Berechnung der starken Zusammenhangskomponenten mit Neo4j B.4. Messergebnisse: Abfrage transitiv inzidenter Knoten auf Neo4j B.5. Messergebnisse: Abfrage gemeinsamer inzidenter Knoten auf Neo4j. 100 B.6. Messergebnisse: Suchen von Dreickspfaden in Neo4j B.7. Messergebnisse: Datenimport in FlockDB B.8. Messergebnisse: Auslesen aller Kanten aus FlockDB B.9. Messergebnisse: Berechnung der starken Zusammenhangskomponenten mit FlockDB B.10.Messergebnisse: Abfrage transitiv inzidenter Knoten auf FlockDB B.11.Messergebnisse: Abfrage gemeinsamer inzidenter Knoten auf FlockDB 106 B.12.Messergebnisse: Suchen von Dreickspfaden in FlockDB B.13.Messergebnisse: Datenimport in HyperGraphDB B.14.Messergebnisse: Auslesen aller Kanten aus HyperGraphDB B.15.Messergebnisse: Berechnung der starken Zusammenhangskomponenten mit HyperGraphDB B.16.Messergebnisse: Abfrage transitiv inzidenter Knoten auf HyperGraphDB111 B.17.Messergebnisse: Abfrage gemeinsamer inzidenter Knoten auf Hyper- GraphDB B.18.Messergebnisse: Suchen von Dreickspfaden in HyperGraphDB B.19.Messergebnisse: Datenimport in DEX B.20.Messergebnisse: Auslesen aller Kanten aus DEX B.21.Messergebnisse: Berechnung der starken Zusammenhangskomponenten mit DEX B.22.Messergebnisse: Abfrage transitiv inzidenter Knoten auf DEX B.23.Messergebnisse: Abfrage gemeinsamer inzidenter Knoten auf DEX. 118 B.24.Messergebnisse: Suchen von Dreickspfaden in DEX

8 Listings 1.1. Beispiel einer rekursiven SQL-Anfrage: Finde alle Vorgesetzten einer Person Beispiel einer graphbasierten Anfragesprache (Cypher): Finde alle Vorgesetzten einer Person Beispiel einer rein lesenden Cypher-Anfrage Beispiel einer komplexen Selektionsanfrage in FlockDB [Gehrels, 2013] SQL-Schema der FlockDB Kantentabellen SQL-Schema der FlockDB Knotentabellen

9 1. Motivation Viele Strukturen der realen Welt lassen sich als Graphen interpretieren, einer mathematischen Repräsentation von Netzen. Bei Straßennetzen, Beziehungsgeflechten zwischen Personen oder den Reaktionswegen biochemischer Komponenten ist dies offensichtlich, ebenso bei Baumstrukturen beispielsweise Hierarchien, Ontologien oder Stücklisten in der Industrie, bei denen einzelne Produkte jeweils aus Vorprodukten zusammengesetzt sind. Doch auch in der objektorientierten Programmierung werden Graphen aufgebaut: So lassen sich Objektinstanzen als Knoten und ihre Beziehungen als Kanten interpretieren. Möchte man Graphen automatisiert verarbeiten, so müssen diese in der Regel effizient gespeichert und ausgelesen werden. Hierfür können Datenbanksysteme genutzt werden Probleme bei der Nutzung relationaler Datenbanken zur Speicherung von Graphen Eine in der Praxis stark verbreitete Klasse von Datenbankmanagementsystemen basiert auf dem von Codd [1970] entwickelten relationalen Datenmodell. Dieses fußt auf dem Konzept der Relation, einer Menge von Tupeln gleicher Länge und gleicher Domänenfolge. Beziehungen zwischen verschiedenen Tupeln werden lediglich dadurch dargestellt, dass eines der Tupel den identifizierenden Schlüssel des anderen Tupels als Attribut enthält ( Fremdschlüssel ). Mit Joins lassen sich die Tupel mehrerer Relationen zu einer neuen Relation verknüpfen; Joins gelten als sehr rechenaufwendig, wobei sich der Aufwand durch Indexstrukturen verringern lässt. Das relationale Modell legt seinen Fokus somit auf die Entitäten selbst (in Form von Tupeln) und deren Attribute (in Form von Elementen des Tupels). Diese ergeben sich explizit aus dem Datenmodell. Beziehungen zwischen Entitäten hingegen werden nur implizit über die Gleichheit von Attributwerten repräsentiert. Bei der Navigation in großen Straßennetzen hingegen beispielsweise liegt der Fokus auf den Wegen zwischen den Orten, weniger auf den Orten selbst. Auch bei biochemischen Reaktionswegen ist gerade die Reaktionskette der interessante Part, nicht die einzelnen beteiligten Substanzen in Isolation. Die wichtigen Informationen liegen bei derartigen Modellen in der Struktur des modellierten Graphen, nicht in den Eigenschaften seiner 9

10 WITH RECURSIVE manager ( level, managerid) AS ( SELECT 1 AS depth, employees.managerid AS managerid FROM employees WHERE employees.employeeid=13 UNION ALL SELECT manager.depth+1, employees.managerid FROM manager INNER JOIN employees ON employees.employeeid=manager.managerid ) SELECT manager.depth, manager.employeeid FROM manager ORDER BY manager.depth ASC; Listing 1.1: Beispiel einer rekursiven SQL-Anfrage: Finde alle Vorgesetzten einer Person Knoten. Es liegt daher nahe, zur Speicherung solcher Daten ein Datenmodell zu nutzen, welches seinen Fokus auf diese Beziehungen legt. Nach Iordanov [2010] gibt es drei typische Anfragemuster auf Graphen. Nur eines davon, mengenbasierte Anfragen, wird von der weit verbreiteten relationalen Anfragesprache SQL [1999] gut abgedeckt. Bei den anderen beiden Anfragemustern zeigt sich die Diskrepanz zwischen dem Fokus des relationalen Datenmodells und den Fragestellungen graphorientierter Probleme. So folgen traversierende Anfragen ausgehend von einem oder mehreren Knoten den Kanten des Graphen; ein Beispiel dafür ist das Suchen kürzester Wege in einem Graphen. Graph-Pattern-Matching sucht im Graphen nach bestimmten Mustern, die von Kanten und ihren inzidenten Knoten gebildet werden, beispielsweise die Suche von Dreiecksbeziehungen und den beteiligten Personen in einem sozialen Netzwerk. Traversierende Anfragen sind in SQL [1999] zwar möglich, allerdings zeigen sich hier die Folgen eines unpassenden Datenmodells: Unter Verwendung der nicht-optionalen Bestandteile von SQL [1999] sind solche Anfragen nur dann möglich, wenn die genaue Traversiertiefe bekannt ist. Selbst dann müssen sie mittels rechenaufwendigen JOIN-Kaskaden berechnet werden. SQL [1999] spezifiziert zwar eine Lösungsmöglichkeit in Form eines optionalen Featu- 10

11 START employee=node(13) MATCH manager [pfad:manages ] >employee RETURN manager.id, length(pfad) AS depth ORDER BY depth ASC Listing 1.2: Beispiel einer graphbasierten Anfragesprache (Cypher): Finde alle Vorgesetzten einer Person res T131 (Recursive Common Table Expressions), allerdings ist auch dessen Semantik mengenorientiert. Listing 1.1 zeigt ein einfaches Beispiel einer solchen rekursiven SQL-Anfrage: Sie selektiert zu einer gegebenen Person (jener mit der Id 13 ) alle direkten und indirekten Vorgesetzten zusammen mit der jeweiligen Hierarchietiefe. Bereits bei einer solchen intuitiv eher einfachen Anfrage ist ein recht komplexes Anfragekonstrukt notwendig. Insbesondere fällt auf, dass die SQL eigentlich auszeichnende Deklarativität hier größtenteils verloren geht. Statt wie bei mengenorientierten Anfragen das Problem in SQL zu formulieren und das Datenbankmanagementsystem den Lösungsweg suchen zu lassen, wird hier bereits der Algorithmus skizziert. Außerdem ist die ursprüngliche Intention dieser SQL-Anfrage nur schwer zu erkennen Graphdatenbankmanagementsysteme als Alternative Graphdatenbankmanagementsysteme können hier eine Alternative darstellen: Sie stellen die Beziehung zwischen Entitäten in den Fokus des Datenmodells. Die Verknüpfungen ergeben sich nicht implizit aus Attributwerten, sondern sind expliziter Teil der Daten. Je nach System können Kanten gerichtet oder ungerichtet, können Knoten und Kanten gelabelt und können Knoten oder Kanten mit Attribute annotiert sein. Graphdatenbankmanagementsysteme bieten darüber hinaus teilweise graphbasierte Anfragesprachen und haben die Möglichkeit, die Datenspeicherung für typische Graphanfragemuster zu optimieren. Graphbasierte Anfragesprachen sind beispielsweise SPARQL [Prud hommeaux und Seaborne, 2008], Gremlin [Rodriguez, 2013] oder Cypher [Neo Technology, 2012, 14]. Listing 1.2 zeigt eine Cypher-Anfrage, welche das selbe Ergebnis berechnet wie die SQL-Anfrage aus Listing 1.1. Hierfür wird die Hierarchie als gerichteter Baum modelliert, wobei von jedem Manager eine mit MANAGES gelabelte Kante zu seinen unmittelbaren Mitarbeitern führt. Cypher wird in Abschnitt eingehender erläutert werden. Da die Anfragesprache demselben Konzept (Graphen) folgt wie das zu lösende Problem, lässt sich auch die Problemstellung unmittelbar in Cypher-Code ausdrücken. Anfragen sind damit einfacher zu lesen, einfacher zu schreiben und potentiell flexibler optimierbar. Graphdatenbanksysteme bieten zudem die Chance, die Datenspeicherung für ihren 11

12 Anwendungszweck zu optimieren: Da die Beziehungen zwischen den Objekten explizit gegeben sind, könnten diese beispielsweise auch als direkte Verknüpfung persistiert werden. Auch könnte man verknüpfte Entitäten gruppiert persistieren, so dass diese effizienter geladen werden können. 12

13 2. Related Work Einen guten Überblick über verschiedene Möglichkeiten, Graphen semantisch anzureichern, um sie als Datenmodell einer Datenbank zu nutzen Attribute, Labels, Gewichtungen, et cetera, bieten Rodriguez und Neubauer [2010a]. Sie geben auch eine kurze Einführung in das Feld der Graphdatenbanksysteme. Die Arbeit von Angles und Gutierrez [2008] bietet eine nunmehr historische, aber sehr breite und tiefgehende Analyse der Literatur zu Graphdatenmodellen und Graphanfragesprachen bis zurück ins Jahr Sie zeigen nicht nur die Modelle selbst, sondern auch die Entwicklungslinien und historischen Zusammenhänge auf. Zwei Ansätze für Graphanfragen finden in aktuellen Graphdatenbanksystemen häufig Verwendung: Zum einen traversierende Anfragen. Rodriguez und Neubauer [2010b] haben hierzu eine gute Überblicksarbeit veröffentlicht, welche auch eine mathematische Formalisierung dieses in der Literatur häufig nur grob umschriebenen Konzepts bietet. Zum anderen reguläre Pfadanfragen, welche von Mendelzon und Wood [1989] eingeführt wurden und in Abschnitt 5.3 noch genauer betrachtet werden. Die Arbeit von Buerli [2012] gibt einen Überblick über Anwendungsbereiche von Graphdatenbanksystemen. Außerdem bietet sie mit einer Kategorisierung von 18 Graphdatenbankmanagementsystemen als reine, verteilte, Key-Value-basierte, dokumentenorientierte, SQL-basierte und Map-Reduce-basierte Datenbankmanagementsysteme mit jeweils einem zusammenfassenden Absatz einen hervorragenden Einstieg in das Feld. Etwas mehr in die Tiefe geht [Angles, 2012], der aber wegen der Kürze dieser Arbeit nur einen groben Überblick über 9 verschiedene Graphdatenbankmanagementsysteme bietet: Die Arbeit kategorisiert diese anhand ihrer Datenmodelle, ihrer Möglichkeit, Integritäts-Constraints zu definieren sowie der Geeignetheit ihrer Anfragemechanismen für bestimmte Graphanfragen. Mit Benchmarks von Graphdatenbanksystemen haben sich verschiedene Autoren sowohl theoretisch als auch praktisch auseinandergesetzt. So haben Leskovec et al. [2008] eine gute Übersicht gegeben, welche wesentlichen Eigenschaften existierende große Graphen haben, Chakrabarti und Faloutsos [2006] geben einen Überblick über eine Vielzahl von Algorithmen zur Generierung synthetischer mit solchen Eigenschaften. Sie geben auch einen Überblick über die historische Entwicklung dieses Forschungsfeldes. Dominguez-Sal et al. [2011] haben auf dieser Grundlage eine hervorragende Diskussion über das Design von Graphdatenbanksystembenchmarks veröffentlicht. Sie spannen den Bogen von der Analyse motivierender Anwendungsfälle von Graphdatenbanksystemen über Charakteristika sinnvoller Testdaten und Auswahlkriterien 13

14 für Benchmarkalgorithmen bis hin zu Empfehlungen für den Versuchsaufbau und die Messmethodiken. Benchmarksuiten für objektorientierte Datenbanksysteme und damit für Objektgraphen haben unter anderem Cattell und Skeen [1992] und Carey et al. [1993] definiert, Guo et al. [2005] definieren eine Benchmarksuite für RDF-Graphen. Eine weitere Benchmarksuite, welche originär auf Graphverarbeitung ausgerichtet ist wurde von Bader et al. [2009] definiert. Vicknair et al. [2010] haben Neo4j und MySQL gegeneinander einem Benchmark unterzogen. Sie kommen zu dem Schluss, dass Neo4j für traversierende Anfragen und durch die Nutzung von Lucene als Index-Lösung auch für Volltextanfragen die schnellere Wahl ist, MySQL aber für Anfragen, die Entitäten anhand bestimmter Attribute zählen. Holzschuher und Peinl [2013] haben verschiedene Anfragemöglichkeiten von Neo4j einem Benchmark unterzogen, sowohl gegeneinander als auch gegenüber MySQL/JPA. Auch sie sehen Neo4j bei traversierenden Anfragen gegenüber MySQL im Vorteil, bei Abfragen, die lediglich einzelne Knoten vollständig auslesen, hingegen im Nachteil. Darüber hinaus gibt es noch einige Benchmarks, welche von Entwicklern von Graphdatenbanksystemen durchgeführt wurden und wenig überraschend jeweils das eigene System als vorteilhaft herausstellen: Zu nennen wären hier insbesondere Ciglan et al. [2012], die DEX, Neo4j, SAIL, OrientDB und ihren Prototypen SGDB anhand traversierender Anfragen vergleichen, Dominguez-Sal et al. [2010], die ihr Datenbankmanagementsystem DEX mit Neo4j, Jena und HyperGraphDB vergleichen, Martínez-Bazan et al. [2012], die vom selben Institut stammend DEX mit MonetDb, MySQL und Neo4j vergleichen. Dass all diese Arbeiten von den jeweiligen Entwicklern publiziert wurden, heißt nicht, dass diese Arbeiten zwingend einen methodischen Bias haben. Es zeigt aber, dass es kaum herstellerunabhängige Benchmarks gibt, welche Graphdatenbanksysteme untereinander vergleichen. 14

15 3. Ziel der Arbeit Die existierende vergleichende Literatur zu Graphdatenbanksystemen beschränkt sich hauptsächlich auf eine abstrakte Ebene und vergleicht Datenmodelle und die Existenz verschiedener Typen von Anfragesprachen. Eine tiefergehende Analyse der verschiedenen Systeme insbesondere bezüglich der jeweils verwendeten Datenstrukturen und deren Optimierung für bestimmte Anfragemechanismen fehlt weitgehend. Gleichzeitig gibt es kaum herstellerunabhängige Benchmarks, welche die Auswirkungen dieser Designentscheidungen auf die Geschwindigkeit der Systeme prüfen. Diese Arbeit versucht, diese Lücke zu füllen. Hierfür werden zuerst verschiedene exemplarisch ausgewählte Graphdatenbankmanagementsysteme vorgestellt. Dies umfasst einführend die verwendeten Graphenmodelle und die Anfragemöglichkeiten. Darauf folgend wird jeweils ein Blick auf die technische Umsetzung geworfen werden: Welche Ansätze wurden gewählt, um Graphen zu persistieren? Welche Caching-Verfahren wurden gewählt? Wie gehen die Systeme mit nebenläufigen Zugriffen um? Welche Möglichkeiten bieten die Systeme, auf steigende Datenmengen, steigende Schreiblast oder steigende Leselast zu reagieren? Ergänzt wird diese Arbeit um eine Geschwindigkeitsmessung der Datenbanksysteme mittels verschiedener Anfragemuster auf Graphen verschiedener Größen. Dies soll sichtbar machen, welche Auswirkungen die den einzelnen Systemen zugrundeliegenden Designentscheidungen auf die Performance des Gesamtsystems haben. Am Beispiel von vier exemplarisch gewählten System wird herausgearbeitet, in welchen Anwendungsgebieten welcher der gewählten Ansätze Vorteile bietet und wo deren Nachteile liegen - eine breiter angelegte Untersuchung aller am Markt existierenden Graphdatenbankmanagementsysteme würde den Rahmen einer Diplomarbeit deutlich sprengen. Neo4j [Neo Technology, 2012] sticht aus den vorhandenen Systemen durch seine mächtigen und vielfältigen Anfragemöglichkeiten heraus. Es verknüpft Datensätze auf Persistenzebene und ist damit auch ein Beispiel explizit graphbasierter Datenpersistenz. DEX [Martínez-Bazan et al., 2007] stellt das entgegengesetzte Extrem dar: Es hat nur sehr minimalistische Anfragemöglichkeiten. DEX basiert auf B-Bäumen und Bitmaps zur Datenpersistenz und ist damit beispielhaft für graphbasierte Datenbankmanagementsysteme, welche keine direkte Verknüpfung zwischen Entitäten persistieren. 15

16 HyperGraphDB 1.2 [Iordanov, 2010] basiert auf dem Datenmodell eines Hypergraphen und stellt damit das wohl ausdrucksmächtigste Datenmodell unter den momentan verfügbaren Graphdatenbankmanagementsystemen zur Verfügung. FlockDB 1 [Pointer et al., 2010] wählt wiederum einen vollständig anderen Ansatz: Es stellt lediglich einen graphbasierten Mediator zwischen der Anwendung und einem relationalen Datenbankmanagementsystem dar, welches über SQL [1999] angesprochen wird. Es unterstützt ausschließlich mengenbasierte Anfragen. Darüber hinaus ist FlockDB als einziges betrachtetes System explizit für hohe, nebenläufige Schreiblast ausgelegt. Diese vier Systeme sind als Stichprobe besonders geeignet, einen Überblick über die sich teils stark unterscheidenden existierenden Konzepte zu bilden. Außerdem sind sie zumindest für die akademische Nutzung kostenfrei verfügbar. Weitere Graphdatenbankmanagementsysteme, welche im Rahmen dieser Arbeit nicht betrachtet wurden, sind OrientDB, InfoGrid, Objectivity InfiniteGraph und Allegro- Graph. Darüber hinaus existieren VertexDB, welches anscheinend nicht mehr aktiv entwickelt wird 2 und GraphDB, welche als Teil der Insolvenzmasse ihrer Entwicklerin, der Sones GmbH, bis heute zum Verkauf steht 3. Zumindest ein Teil von GraphDB steht aber unter AGPL online 4. Ebenfalls in dieser Arbeit nicht betrachtet werden Systeme zur verteilten Analyse sehr großer Graphen wie Google Pregel [Malewicz et al., 2010] und dessen Open- Source-Implementierung Apache Giraph Ching et al. [2012] oder GraphLab [Gonzalez et al., 2012]. Diese stellen keine Graphdatenbankmanagementsysteme im Sinne dieser Arbeit dar, da sie nicht zur kontinuierlichen Verwaltung von Daten, sondern zur gelegentlichen Analyse großer Datenbestände entworfen wurden. 1 Betrachtet wirde die Fassung des Git-Master-Branches auf Github.com vom 28. April 2012: https://github.com/twitter/flockdb/tree/3e eee28f7c0c147057cdea8969e5c. 2 Das GIT-Repository des Projekts verzeichnet lediglich einen Commit in den letzten 2 Jahren: https://github.com/stevedekorte/vertexdb, abgerufen am 13. März Telefonische Auskunft des Insolvenzverwalters, Herrn Dr. Oliver Hartig, vom 12. März Zu finden unter https://github.com/sones/sones, abgerufen am 13. März

17 4. Historischer Hintergrund In den letzten Jahren kam eine Vielzahl neuer Graphdatenbanksysteme auf den Markt. Die Idee, Netzwerkstrukturen als Datenmodell für Datenbankmanagementsysteme zu nutzen, reicht aber weit zurück. Charles Bachman entwarf Mitte der 1960er Jahre mit dem Integrated Data Store eines der ersten Allzweckdatenbanksysteme. Es basierte auf dem Datenmodell eines gerichteten, zyklenfreien Graphen aus Records und Pointern, welches später (1969) von der Conference on Data Systems Languages als network model (auch CODASYL data model) spezifiziert wurde veröffentlichte IBM das Information Management System, welches auf dem Datenmodell eines gerichteten Baums basierte, hierarchisches Modell genannt [Singh, 2009, 1.9]. Das von Codd [1970] vorgeschlagene relationale Modell verdrängte in der Folge nach der Einführung von SQL/DS durch IBM in den frühen 1980er Jahren zunehmend das Netzwerk- und das hierarchische Modell. Singh [2009, 1.9] führt dies unter anderem auf die Einfachheit des relationalen Modells, die einfache Nutzbarkeit der relationalen Datenbanksysteme auch durch Nicht-Programmierer mittels SQL als Anfragesprache und der SQL innewohnenden, deklarativen Abstraktion von Implementierungsdetails des Datenbankmanagementsystems zurück. Die Idee, Graphdatenbanken als Allzweckdatenbanken zu nutzen, entstand Anfang der 1990er Jahre. So beschreiben Amann und Scholl [1992] ein seinerzeit wachsendes Interesse an Graphmodellen und -sprachen in der aktuellen Datenbankforschung 1, insbesondere für Hypertext- und Geoinformationssysteme. Sie entwerfen sowohl ein Datenmodell basierend auf einem gerichteten gelabelten Multigraphen als auch eine Anfragesprache hierfür. In den späten 1990ern wurden vermehrt objektorientierte Datenbankmanagementsysteme entwickelt [Singh, 2009, 1.9]. Die von der Object Data Management Group definierte Object Definition Language [Cattell et al., 2000] basiert auf einem Graphen als abstraktem Datenmodell, mit Objekten als Knoten und Relationen zwischen ihnen als Kanten. Auch die Vererbungshierarchien zwischen Klassen sind hierbei Graphen. Mit dem Aufkommen des Semantic Web als Forschungsgebiet um die Jahrtausendwende wurde auch das Resource Description Framework [Klyne und Carroll, 2004] 1 Eigene Übersetzung. 17

18 als Datenmodell standardisiert. Es beschreibt Fakten als Subjekt-Prädikat-Objekt- Tripel. Mit Subjekt und Objekt als Knoten und Prädikaten als Kanten formt es einen Graphen. Damit einhergehend wurde auch eine neue Klasse von Datenbanksystemen geschaffen, sogenannte Triple Stores. SPARQL [Prud hommeaux und Seaborne, 2008], die wohl prominenteste Anfragesprache für Semantic-Web-Daten, ist ebenfalls als Graphanfragesprache konzipiert. Ende des letzten Jahrzehnts kam unter dem Begriff NoSQL eine große Menge neuer Datenbanksysteme auf den Markt. Ihnen gemeinsam ist, dass sie abseits des relationalen Modells neue Möglichkeiten suchen, bestimmte Probleme der Datenspeicherung und Anfragebearbeitung effizienter zu lösen. Hierfür wurden, im Gegensatz zum relationalen Modell, häufig schemalose Ansätze gewählt, um strukturierte und semistrukturierte Daten zu speichern. Das Interesse an der Analyse sehr großer Graphen, sei es im Bereich sozialer, technischer, semantischer oder biologischer Netze, führte auch zu einem weiter steigenden Interesse an Graphdatenbanksystemen [Angles und Gutierrez, 2008, 2.4]. Auch für die immer häufiger anzutreffenden Empfehlungssysteme, insbesondere im E-Commerce-Bereich, stellen sie eine gute Grundlage dar [Rodriguez und Neubauer, 2010b, 3.1]. Ungefähr gleichzeitig wurde gerade im Bereich dieser Empfehlungssysteme das Destillieren von Empfehlungen aus teils enormen und wachsenden Mengen von Transaktionsdaten eine Herausforderung von großem Interesse. Hierbei ist es häufig notwendig, diese Berechnungen über mehrere Systeme zu verteilen. Dieser Trend wird immer häufiger unter dem Begriff Big Data gefasst. In diesem Zusammenhang wurde Apache Hadoop [Apache, 2008] populär, welches auf dem zuvor von Dean und Ghemawat [2004] publizierten MapReduce-Paradigma basiert. Die Unzulänglichkeiten von MapReduce bei der Analyse von Graphdaten führte in der Folge zur Entwicklung von Systemen wie Google Pregel [Malewicz et al., 2010], Apache Giraph [Ching et al., 2012] und GraphLab [Gonzalez et al., 2012]. 18

Graphdatenbanksysteme

Graphdatenbanksysteme Graphdatenbanksysteme Ein Überblick Benjamin Gehrels benjamin@gehrels.info GitHub: @BGehrels Was ist das? WITH RECURSIVE manager ( level, managerid) AS ( SELECT 1 AS depth, employees.managerid AS managerid

Mehr

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015 Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12)

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12) Neo4J & Sones GraphDB Graph-Datenbanken Von Toni Fröschke Problemseminar NoSQL-Datenbanken (WS 2011/12) Gliederung Neo4J Überblick Neo4J-Komponenten Datenhaltung/ -verwaltung Verfügbarkeit & Recovery I/O

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg NoSQL Was Architekten beachten sollten Dr. Halil-Cem Gürsoy adesso AG Architekturtag @ SEACON 2012 Hamburg 06.06.2012 Agenda Ein Blick in die Welt der RDBMS Klassifizierung von NoSQL-Datenbanken Gemeinsamkeiten

Mehr

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen Lennart Leist Inhaltsverzeichnis 1 Einführung 2 1.1 Aufgaben einer Datenbank...................... 2 1.2 Geschichtliche Entwicklung

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

SQL- & NoSQL-Datenbanken. Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken. Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken Speichern und Analysen von großen Datenmengen 1 04.07.14 Zitat von Eric Schmidt (Google CEO): There was 5 exabytes of information created between the dawn of civilization through

Mehr

Web Technologien NoSQL Datenbanken

Web Technologien NoSQL Datenbanken Web Technologien NoSQL Datenbanken Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 10:00 a.m. Room HS 021, B4

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt NoSQL & Big Data Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz 1 2 Dies ist ein Vortrag über Zeit in verteilten Anwendungen Wir betrachten die diskrete "Anwendungszeit" in der nebenläufige Aktivitäten auftreten Aktivitäten in einer hochgradig skalierbaren (verteilten)

Mehr

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken Universität Leipzig Fakultät für Mathematik und Informatik Abteilung Datenbanken Dozent: Prof. Dr. Erhard Rahm Betreuer: Stefan Endrullis Problemseminar NoSQL-Datenbanken Semester: WS 11/12 Charakteristika

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 11 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Semantic Web: Resource Description Framework (RDF)

Semantic Web: Resource Description Framework (RDF) Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme Multi-Tenancy/Cloud-Datenbanken Semantic Web: Resource

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2 Seminar Cloud Data Management WS09/10 Tabelle1 Tabelle2 1 Einführung DBMS in der Cloud Vergleich verschiedener DBMS Beispiele Microsoft Azure Amazon RDS Amazon EC2 Relational Databases AMIs Was gibt es

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten

Mehr

Gliederung und Einordnung

Gliederung und Einordnung Gliederung und Einordnung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Design by Contract zur semantischen Beschreibung von Web Services

Design by Contract zur semantischen Beschreibung von Web Services Design by Contract zur semantischen Beschreibung von Web Services Gregor Engels 1, Marc Lohmann 1, Stefan Sauer 2 1 Institut für Informatik, 2 Software Quality Lab (s-lab) Universität Paderborn, 33095

Mehr

Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de

Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de NoSQL für Java-Entwickler Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de 23.06.2013 Agenda Datengröße Key-value Stores 1. Wide Column 2. Cassandra Document

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

Mehr

Repeatable Benchmarking Mahout

Repeatable Benchmarking Mahout Studienarbeitsexposé Repeatable Benchmarking Mahout Entwicklung eines Lasttest-Rahmenwerkes für Apache Mahout von: Oliver Fischer Institut für Informatik Humbold-Universität zu Berlin Matrikelnummer: 19

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter bersicht Niels Schršter EinfŸhrung GROUP BY Roll UpÔs Kreuztabellen Cubes Datenbank Ansammlung von Tabellen, die einen ãausschnitt der WeltÒ fÿr eine Benutzergruppe beschreiben. Sie beschreiben die funktionalen

Mehr

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1 NoSQL-Datenbanken Kapitel 1: Einführung Lars Kolb Sommersemester 2014 Universität Leipzig http://dbs.uni-leipzig.de 1-1 Inhaltsverzeichnis NoSQL-Datenbanken Motivation und Definition Kategorisierung, Eigenschaften

Mehr

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN Entwurf eines schulinternen Curriculums im Fach Informatik für die Qualifikationsphase (Jahrgang 11 und 12) Für die Gestaltung des Informatikunterrichts in der Qualifikationsphase sind für das schulinterne

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Datenbanktechnologie für Data-Warehouse-Systeme

Datenbanktechnologie für Data-Warehouse-Systeme Wolfgang Lehner Datenbanktechnologie für Data-Warehouse-Systeme Konzepte und Methoden dpunkt.verlag 1 1.1 1.2 1.3 1.4 1. 5 2 2.1 2.2 2.3 Einleitung 1 Betriebswirtschaftlicher Ursprung des Data Warehousing...

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1)

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1) Datenbanken und SQL Kapitel 1 Übersicht über Datenbanken Übersicht über Datenbanken Vergleich: Datenorganisation versus Datenbank Definition einer Datenbank Bierdepot: Eine Mini-Beispiel-Datenbank Anforderungen

Mehr

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1. Inhalt der Vorlesung Literatur 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell 3 Relationenalgebra 4 Datenbanksprache (SQL) 5 Normalisierung 6 Vom ERM zum Datenbankschema 7 Routinen

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

design kommunikation development

design kommunikation development http://www.dkd.de dkd design kommunikation development Apache Solr - A deeper look Stefan Sprenger, Developer dkd Olivier Dobberkau, Geschäftsführer dkd Agenda Einführung Boosting Empfehlungen Ausblick

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Web Data Management Systeme

Web Data Management Systeme Web Data Management Systeme Seminar: Web-Qualitätsmanagement Arne Frenkel Agenda Einführung Suchsysteme Suchmaschinen & Meta-Suchmaschinen W3QS WebSQL WebLog Information Integration Systems Ariadne TSIMMIS

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

EHCache und Terracotta. Jochen Wiedmann, Software AG

EHCache und Terracotta. Jochen Wiedmann, Software AG EH und Terracotta Jochen Wiedmann, Software AG Autor Perl-Contributor DBD::mySQL 2, DBI::Proxy, DBI::Shell, DBD::CSV, Net::Daemon, RPC::Pl(Client Server) (Autor) DBI (Developer) ASF-Member (Apache Software

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte

Mehr

Whitepaper Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008

Whitepaper Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008 Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Andreas Glaser, 23. September 2008 Teufenerstrasse 19 CH 9001 St.Gallen t [+41] 71 228 67 77 f [+41] 71 228 67 88 info@namics.com

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

YAGO YAGO. A semantic knowledge base. Paul Boeck. Humboldt Universität zu Berlin Institut für Informatik. Dezember 2012 1/19

YAGO YAGO. A semantic knowledge base. Paul Boeck. Humboldt Universität zu Berlin Institut für Informatik. Dezember 2012 1/19 1/19 A semantic knowledge base Paul Boeck Humboldt Universität zu Berlin Institut für Informatik Dezember 2012 2/19 Übersicht 1 Einführung 2 Das Modell Struktur Semantik 3 Das System 4 Anwendung 3/19 Einführung

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Lightweight Directory Access Protokoll Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Was ist LDAP? Was sind Verzeichnisdienste? Was ist ein Verzeichnis? Geschichte http://directory.apache.org/apacheds/basic-ug/1.2-some-background.html

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org Apache Lucene Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org 1 Apache Apache Software Foundation Software free of charge Apache Software

Mehr

Objekt-relationales Mapping und Performance-Tuning

Objekt-relationales Mapping und Performance-Tuning Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Oracle Big Data Technologien Ein Überblick

Oracle Big Data Technologien Ein Überblick Oracle Big Data Technologien Ein Überblick Ralf Lange Global ISV & OEM Sales NoSQL: Eine kurze Geschichte Internet-Boom: Erste Ansätze selbstgebauter "Datenbanken" Google stellt "MapReduce"

Mehr

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

Institut für Verteilte Systeme

Institut für Verteilte Systeme Institut für Verteilte Systeme Prof. Dr. Franz Hauck Seminar: Multimedia- und Internetsysteme, Wintersemester 2010/11 Betreuer: Jörg Domaschka Bericht zur Seminarssitzung am 2011-01-31 Bearbeitet von :

Mehr

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen Mit der aktuellen Version hält eine komplett neu konzipierte webbasierte Anwendung Einzug, die sich neben innovativer Technik auch durch ein modernes Design und eine intuitive Bedienung auszeichnet. Angefangen

Mehr

Einführung Datenbank

Einführung Datenbank Einführung Datenbank Einführung Datenbank Seite 2 Einführung in die Arbeit mit einer Datenbank Grundbegriffe: Datenbank - Datenbankmanagementsystem Eine Datenbank ist eine systematische strukturierte Sammlung

Mehr

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der

Mehr

MapReduce in der Praxis

MapReduce in der Praxis MapReduce in der Praxis Rolf Daniel Seminar Multicore Programmierung 09.12.2010 1 / 53 Agenda Einleitung 1 Einleitung 2 3 Disco Hadoop BOOM 4 2 / 53 1 Einleitung 2 3 Disco Hadoop BOOM 4 3 / 53 Motivation

Mehr

Der Einsatz von MySQL-Datenbanken (mit XAMPP)

Der Einsatz von MySQL-Datenbanken (mit XAMPP) Informatik in der Mittelstufe: Der Einsatz von MySQL-Datenbanken (mit XAMPP) Hannes Heusel Eduard-Spranger-Gymnasium Landau Warum soll ich eine MySQL- Datenbank verwenden? kostenlos Mehrbenutzersystem

Mehr

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de

NoSQL-Databases. Präsentation für Advanced Seminar Computer Engineering, Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen

Mehr

Verschiedene Arten des Datenbankeinsatzes

Verschiedene Arten des Datenbankeinsatzes 1 Beispiele kommerzieller DBMS: Kapitelinhalt Was charakterisiert und unterscheidet verschiedene Einsatzbereiche für. Welche prinzipiell unterschiedlichen Anforderungen ergeben sich für das DBMS bei Ein-

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

Erste Schritte, um selber ConfigMgr Reports zu erstellen

Erste Schritte, um selber ConfigMgr Reports zu erstellen Thomas Kurth CONSULTANT/ MCSE Netree AG thomas.kurth@netree.ch netecm.ch/blog @ ThomasKurth_CH Erste Schritte, um selber ConfigMgr Reports zu erstellen Configuration Manager Ziel Jeder soll nach dieser

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Website-Suche mit OpenText Web Site Management. Frank Steffen - Senior Product Manager

Website-Suche mit OpenText Web Site Management. Frank Steffen - Senior Product Manager Website-Suche mit OpenText Web Site Management Frank Steffen - Senior Product Manager Inhalt Überblick Konzepte der Suchmaschinenanbindung Verity K2 Anbindung Der neue OT Search Engine Connector Federated

Mehr

Das Lehren von objektorientierter Programmierung in Java mit

Das Lehren von objektorientierter Programmierung in Java mit Das Lehren von objektorientierter Programmierung in Java mit Dr. Axel Schmolitzky Arbeitsbereich Softwaretechnik Fachbereich Informatik Universität Hamburg Überblick Kurz zu meiner Person Objektorientierung

Mehr

1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten...

1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten... Inhaltsverzeichnis 1 Grundbegriffe...1 1.1 Information und Daten...2 1.2 Datenorganisation...3 1.3 Dateikonzept...5 1.4 Kontroll- und Vertiefungsfragen...6 2 Datenbanksysteme...7 2.1 Datenintegration...7

Mehr

Weitere Decision-Support Anfrage- Typen

Weitere Decision-Support Anfrage- Typen Big Data Top-k / Ranking / Skyline Semantic Web: RDF Information Retrieval PageRank / HITS Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme Multi-Tenancy/Cloud-Datenbanken

Mehr

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dr. Halil-Cem Gürsoy halil-cem.guersoy@adesso.de www.adesso.de ...über mich 15 Jahre Entwicklung und Beratung 'Software Architect' bei adesso AG, Dortmund

Mehr

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen 3. Spezielle ER-Modelle und Tabellenableitung Spezialfälle von ER-Modellen Grundlage, was sind Relationen Transformation von ER-Diagrammen in Relationen 56 Lesebeispiel Access (Realisierungmodell!) 57

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr