Veranstaltungen

Spring Boot (Michael Simons)

Do, 25. Januar 2018

Kalender als XML und iCal

Wir unterstützen...

Elterninitiative Kinderkrebsklinik e.V

Kinderkrebsklinik e.V

Sponsoren

Wir danken unseren Sponsoren:

Permanente Sponsoren

Uni Düsseldorf
(Raum und Beamer)


(Preise)


(Preise)


(Preise)


(Preise)

Mitgliedschaften



java.net Member

Events

Nachlese: Neo4j und die wunderbare Welt der Graphen | Print |
Written by Philip Höfges   
Monday, 22 September 2014 07:34

>> Video

Auch bei diesem Rheinjug-Tag haben sich wieder zahlreiche Menschen in der Heinrich-Heine-Universität versammelt, um einem Vortrag zu lauschen. Das Thema diesmal ist die Welt der Graphen. Gehalten wird der Vortrag von Michael Hunger, einem renommierten Mitarbeiter bei Neo Technology.

Michael Hunger gibt zunächst eine Einleitung zum Thema Graphen. Was sind Graphen eigentlich? Die Antwort ist, dass alles ein Graph ist. In der heutigen Gesellschaft ist jeder Mensch mit anderen vernetzt. Soziale Netzwerke sind nicht mehr wegzudenken. Aber wie sollte man diese vielen, vielen Daten verarbeiten? Die ersten Graphen stammen aus Schweden. Man hat sich überlegt, wie man die Daten geschickt verarbeiten kann. Die Graphen sind geboren. Ein weiteres Beispiel dafür ist die Logistik. Wie kann man verschieden Menschen verschiedene Informationen zukommen lassen? Wo ist die Ware? Wer transportiert sie? All dies lässt sich mit Graphen schnell und effizient lösen. Wie kommen Menschen von A nach B? Heutzutage mit Navigationssystemen. Auch diese sind nichts anderes als Graphen. Es wäre viel zu aufwendig, dies mit Datenbanken lösen zu wollen. Graphen schaffen hier sehr gute Abhilfe.

Nach Erklärung weiterer Beispiele, erklärt Michael Hunger wie Vorüberlegungen schon in Form von Graphen durchgeführt werden. Man stellt sich bereits Fakten in Form von Knoten vor und überlegt sich, wie jede Information mit einer anderen verbunden ist. Dadurch entsteht eine übersichtliche Darstellung von Informationen. Diese Darstellung ist formfrei und kann von jedem Benutzer selbst gewählt werden. Jeder Knoten kann alles sein, jede Art von Zustand.

Wieder zurück zu den sozialen Netzwerken. Eine Person gilt als sportbegeistert. Jedoch speichert das Netzwerk Informationen, z.B. auf welchen Seiten sich bewegt wird. Man glaubt also einer „sportbegeisterten“ Person dies garnicht, wenn mitgeschnitten wird, dass diese Person sich nicht auf Sportseiten herumtreibt. Genau deswegen sind die Beziehungen gewichtet. Man kann zum Beispiel den Zustand von Gefühlen gewichten. Liebe ist zum Beispiel nicht notwendigerweise bidirektional. Das heißt, das die Liebe auf die eine oder andere Seite gewichtet ist. Außerdem kann jeder Knoten mit unendlich vielen anderen Knoten verbunden sein. Jeder Mensch kann Gefühle für beliebig viele andere Menschen haben. Auch die Selbstliebe ist in einem Graphen gestattet, da jeder Knoten mit sich selbst verbunden sein kann.

Anschließend leitet Michael Hunger zum Kern des Vortrags über. Es gibt verschiedene Arten von Informationsdarstellung. Eine dieser Arten sind die Graphen, insbesondere die Darstellung mit Hilfe von Neo4j. Was macht Graphen gegenüber relationalen Modellen aus? Während relationale Modell eine Join-Tabelle aufbauen, die zwischen Knoten vermittelt, liefern Graphen eine eigene Datenstruktur dazu mit. Dadurch fällt die aufwendige Berechnung von Schlüsseln schlicht weg. Außerdem ist die Laufzeit bei Graphen nicht quadratisch, sondern linear. Um dies zu verdeutlichen, zeigt Michael Hunger ein einfaches Beispiel: Über wie viele Ecken kennt man andere Menschen? Graphen lieferen eine sehr schnelle Antwort, die sich auch bei wesentlich mehr Datensätzen nicht ändert, während das relationale Modell immer bei mehr Daten langsamer wird. Aber warum ist das so? Weil Graphen sich auf die nähere Umgebung des Zielknotens beschränkt und nicht die gesamte Datenbank durchsuchen - das spart Zeit.

Wie sieht das Ganze in Neo4j aus? Neo4j ist skalierbar, schemafrei, deklarativ und perfekt bei für stark vernetzte Daten. Die entsprechende Anfragesprache ist leicht zu lesen und beispielsweise SQL sehr ähnlich. Anhand einer sehr guten Demonstration zeigt Michael Hunger, wie das ganze durchgeführt wird. Der wesentliche Unterschied zu relationalen Modell ist die schnelle Abfrage von benachbarten Knoten. Durch simples Anklicken des Knotens kann dem Umkreis eingesehen werden.

Am Ende der Demonstration fasst Michael Hunger die geschilderten Resultate nochmals sehr übersichtlich zusammen: Alles kann ein als Knoten dargestellt werden, jeder Knoten kann mit unendlich vielen anderen Knoten verbunden sein und jedes Programm kann als Baum und somit als Graph dargestellt werden. Damit beendet Michael Hunger und dem Applaus der Zuhörer seinen Vortrag.