| Datenmodelle und Einsatz dokumentorientierter Datenbanken – insbesondere des Harmony-Datenbanksystems |
|
There are no translations available. © 2010, TEDIC GmbH Vergleichend zum ersten Artikel über nicht-relationale Datenbanken, lässt sich diese Art in fünf grundlegende Kategorien einteilen. Wie bei allen Produkten dieses Bereichs ist es auch bei dokumentorientierten Datenbanken nicht notwendig, im Vorfeld ein endgültiges Schema zu definieren. Daher kann in diesem Zusammenhang auch von „schemalosen“ Lösungen gesprochen werden.
Grundsätzlich ist bei den bisherigen Datenbankanwendungen davon auszugehen, dass diese auf relationalen Lösungen basieren und über SQL auf die entsprechenden Daten zugreifen. Eine Datenbank selbst wird mit Hilfe von Tabellen vereinfacht abgebildet, um die Verknüpfungen (Relationen) verschiedener Tabellen darzustellen.
Hierbei liegt es jeweils an den Kenntnissen und Fähigkeiten der Datenbankentwickler, wie ein solches Modell am Ende umgesetzt wird. Selbst bei gleichen Anforderungen und Problemstellungen, können unterschiedliche Modelle entstehen. Die weitere Entwicklung, wie auch der endgültige Einsatz hängt also maßgeblich von der Vorarbeit am Datenmodell ab und muss ggf. schon weit vor Fertigstellung geplant werden, um am Ende nicht auf neue Herausforderungen zu stoßen.
Diese Vorarbeit und die Gefahr der Fehlplanung entfallen weitestgehend durch den Einsatz nicht-relationaler, schemaloser Produkte, da Änderungen am Datenmodell nahezu jederzeit möglich sind und somit Fehler auch im Nachhinein während des laufenden Betriebes korrigiert werden können.
Grundsätzlich handelt es sich bei dokumentorientierten Datenbanken um eine Sammlung von Attributen, also Feldern und deren Inhalten, die zu einem Datensatz zusammengefasst werden. Dieser wird eindeutig durch eine sog. Datensatz-ID gekennzeichnet, die einmalig in einer Datenbank existiert.
Ein solcher Datensatz ist vergleichbar mit Karteikarten, die als Ordnungsmerkmal eine ID besitzen und anhand von Datensatzfeldern ein Objekt genauer beschreiben.
Innerhalb eines Karteikastens befinden sich somit Karten, von denen jede eine eindeutige ID innerhalb der Karteisammlung aufweist. Die Attribute beschreiben somit beliebige Objekte, so dass unterschiedliche Objekte innerhalb eines Karteikastens aufbewahrt werden können, da die ID als Ordnungsmerkmal herangezogen wird.
Werden Eigenschaften unterschiedlicher Objekte betrachtet, fällt auf, dass viele Eigenschaften mit gleichen Begriffen beschrieben werden können. „Name“, „Größe“ oder „Gewicht“ können sich auf Menschen, Tiere oder Artikel eines Artikelstamms beziehen. Erst durch die Verwendung in einem bestimmten Kontext oder einem System von anderen Objekten wird deutlich, um was für eine Art von Objekt es sich dabei handelt. Nur der Name „Kiwi“ alleine sagt beispielsweise nicht aus, um was es sich dreht. Es kann hier ein Vogel, eine Frucht oder ein neuseeländischer Fußballfan beschrieben werden.
Um nun auf einen oder mehrere Datensätze zuzugreifen, wird die eindeutige ID benötigt. Da nur in seltenen Fällen die ID bekannt ist, werden anhand bestimmter Feldinhalte entsprechende Datensätze selektiert. Im Gegensatz zu relationalen Datenbanken, in denen mit Hilfe von SQL tabellenübergreifend bestimmte Datensätze selektiert werden können, ist dieses hier nicht notwendig.
Im Falle des Harmony-Datenbanksystems wird jeder Feldinhalt in einem Index gepflegt, so dass die Datenbank bereits „weiß“ wo sich welche Information befindet. Die Selektion erfolgt daher nicht über eine separate Abfragesprache oder sequentielle Selektion, sondern durch die Kombination und Auswahl verschiedener Indexe.
Ein Index ist im Wesentlichen eine Auflistung aller in einem Text oder einer Datenbank verwendeten Begriffe. Eine solche Aufstellung findet sich in den meisten Sachbüchern, die im hinteren Teil die wichtigsten Begriffe mit entsprechender Seitenzahl aufgelistet haben. Hier ist ersichtlich, wo und wie häufig diese verwendet wurden, um mit einem direkten Zugriff die richtige Seite aufschlagen zu können.
Ein einfacher Feldindex bietet so eine einfache Möglichkeit einer Adhoc-Auswertung und kann für die weitere Bearbeitung herangezogen werden. Wie in einem Buch ist es zudem innerhalb der Harmony--Anwendungen möglich, die Datensätze anzeigen zu lassen, in denen diese Begriffe Verwendung finden.
Für genauere Auswertungen ist es allerdings erforderlich, dass Daten über mehr als ein Feld selektiert werden. So kann es beispielsweise notwendig sein, dass man anhand mehrerer Feldinhalte verschiedene Feldindexe kombiniert. So können beispielsweise bestimmte Personen anhand ihrer Hobbies und beruflichen Position selektiert werden (alle „Geschäftsführer“ mit dem Hobby „Golf“).
Auf Basis dieser Mechanismen nutzt Harmony innerhalb der Standard-Anwendungen mehrere Felder, um eine grundlegende Hierarchie zwischen Datensätzen festzulegen. In der Vielzahl aller Anwendungsbereiche hat sich hierbei das sog. Vier-Ebenen-Modell als hilfreich erwiesen. Hierüber ist nicht nur die Abbildung von Unternehmen und Personen möglich, sondern auch die Erfassung anderer, zusammenhängender Informationen, wie die Zuordnung von Hardware zu Personen oder Standorten, die Hotline-Bearbeitung je Kunde oder gänzlich anderer Informationen.
Ist der Einsatz der Harmony-Anwendungen nicht zwingend erforderlich, so können innerhalb der Datenbank weitere Datenmodelle gebildet werden, die über Schnittstellen zu anderen Systemen oder individuellen Benutzeroberflächen Informationen erhalten und speichern. Als eines der einfachsten Modelle können verknüpfte („verlinkte“) Objekte angesehen werden. Hierbei werden zwei Objekte mit Hilfe eines dritten „Link“-Objektes verbunden. Das Link-Objekt beschreibt hierbei die Beziehung zwischen den anderen Objekten, die wiederum nur aus den notwendigsten Feldern bestehen.
Durch solche zusätzlichen Objekte ist es möglich, eine Vielzahl von Objekten miteinander zu vernetzen, um systemische Zusammenhänge zu speichern (bspw. soziale Systeme und Gruppierungen oder Hierarchien von Unternehmen).
Die Nutzung der Harmony-Standard-Anwendungen dient hierbei nur als Kontrollwerkzeug für Entwickler, um die fehlerfreie Speicherung und Laufzeit der entwickelten Lösungen sicherzustellen. Üblicherweise wird den Endanwendern dann eine individuell entwickelte Anwendung bereitgestellt.
Quellen: c’t-Magazin (Heise Verlag ); Ausgabe 15/2010 vom 05.07.2010; Seite 168 ff. c’t-Magazin (Heise Verlag ); Ausgabe 18/2010 vom 16.08.2010; Seite 176 ff. |

Insbesondere das Harmony-Datenbanksystem bietet hier mit Hilfe der Standardanwendungen Werkzeuge, die diese Arbeiten vereinfachen, so dass im ersten Schritt ein schneller Einsatz möglich wird, ohne individuelle Anwendungen entwickeln zu müssen. Der dokumentorientierte Ansatz dieser Datenbank ist zudem leicht verständlich und einzigartig im Vergleich anderer nicht-relationaler (NoSQL)-Lösungen.

Innerhalb von Harmony wird ein solcher Index vollautomatisch für jedes Feld gepflegt, so dass nicht nur die „wichtigsten“ Begriffe, sondern alle verwendeten Werte aufgelistet werden können. Als Beispiel kann hier die Auflistung der verwenden Betriebssysteme von Besuchern einer Webseite aufgezeigt werden. Hieraus ist die Häufigkeit der verwendeten Betriebssysteme ersichtlich, so dass ggf. die Interessenten zielgenauer angesprochen, oder die eigene Webseite angepasst werden kann.

