Neue Ideen brauchen neue Technologien!
Die Ausrichtung von migRaven.one auf große Strukturen mit ADs jenseits von 100.000 Accounts veranlasste uns schon beim Design von migRaven.one über Alternativen zu herkömmlichen Datenbanken nachzudenken. Unser Ziel war es, Analysen selbst in „Big Data“ Umgebungen in außergewöhnlich kurzer Zeit anbieten zu können.
Deshalb haben wir uns für die graphenorientierte Datenbank von neo4j entschieden.
Entgegen der bekannten Art, Daten in Tabellen mit Relationen abzuspeichern, werden die Daten in einer Graphdatenbank völlig natürlich abgelegt. So entspricht z.B. jeder Account, jede Gruppe, jedes Verzeichnis oder jede ACE einem Knoten, der dann über eine „Kante“ (Fachausdruck für Relation in der Graphentheorie) mit den entsprechenden Knoten verbunden wird. Der entscheidende Vorteil liegt im Zugriff auf die Daten. Während man in relationalen Datenbanken die verknüpften Objekte über „joins“ abfragen muss, kann man in einer Graphdatenbank einfach der entsprechenden Traversal mit einem Match-Befehl folgen. Die Abfrage von tiefen Verschachtelungen ist in einer relationalen Datenbank einfach sehr aufwendig. Hier kann der Graph seine Stärke ausspielen.
Aus dieser Herangehensweise ergeben sich einzigartige Möglichkeiten zur Analyse von Berechtigungsfragen im Fileserverumfeld. Wie Tests bewiesen haben, ist die Abfrage von Berechtigungen selbst in ADs mit mehr als 100.000 Usern und Gruppen dann keine Herausforderung!