- Caché (Datenbank)
-
Caché ist eine proprietäre, im Kern hierarchische Datenbank von InterSystems. InterSystems bezeichnet das Konzept als „postrelational“. Mit der so genannten Unified Data Architecture bietet das Datenbanksystem auf die hierarchische Datenstruktur einen Objekt- sowie einen SQL-Zugriff auf die Daten.
Teil des Datenbanksystems ist die proprietäre Programmiersprache Caché ObjectScript, die im Wesentlichen aus Mumps hervorgegangen ist. Die Besonderheit dieser vollständigen Programmiersprache stellen die sogenannten Globals dar, eine von Caché ObjectScript verwendete Art von Variablen, die persistent in der Datenbank gespeichert werden und mehrere Hierarchieebenen umfassen können. Als Indizes sind dabei nicht nur Zahlen, sondern auch beliebige Zeichenketten erlaubt. Mit Hilfe von Caché ObjectScript können darüber hinaus auch SQL-Anweisungen eingebettet oder Methoden für die eigenen Datenbankklassen geschrieben werden. Bei entsprechender Konfiguration können diese Methoden auch extern z. B. mit Java aufgerufen werden.
Inhaltsverzeichnis
Beispiel einer Caché-Speicherstruktur
^<GLOBALNAME>(<Index1>,<Index2>,...)=<Daten Attribut1><Trennzeichen><Daten Attribut2><Trennzeichen>
(Kann als Baum (Datatree) verstanden werden)Zum Vergleich eine SQL-Speicherstruktur: Relational
Primärschlüssel Attribut1 Attribut2 ... Primärschlüsselwert Daten Daten Daten Primärschlüsselwert Daten Daten Daten ... ... ... ... (Kann als Tabelle verstanden werden)
Ein konkretes Beispiel einer Caché-Speicherstruktur mit Beispieldaten:
Im Global BUCH wird als Index die ISBN verwendet. Die Daten sind (1) Autor, (2) Titel, (3) Verlag und (4) Erscheinungsjahr. Als Trennzeichen wird "`" verwendet.
^BUCH("3-406-55250-1")="Johann Wolfgang von Goethe`Faust: Der Tragödie erster und zweiter Teil`Beck`2006"
^BUCH("3-540-43248-5")="W. Kirsten et al.`Objektorientierte Anwendungsentwicklung mit der postrelationalen Datenbank Caché.`Springer`2002"
Diese Datenstruktur ist gut geeignet (=performant), um Abfragen auf Basis der ISBN zu machen. Möchte man jedoch alle Bücher wissen, die ein Autor geschrieben hat, so ist die obere Struktur inperformant. Daher kann man parallel im Global BUCHi eine zweite Struktur speichern: "AutorIndex", Autor, (Index) ISBN, keine Daten.
^BUCHi("AutorIndex","Johann Wolfgang von Goethe","3-406-55250-1")=""
^BUCHi("AutorIndex","W. Kirsten et al.","3-540-43248-5")=""
Literatur
- W. Kirsten et al.: Objektorientierte Anwendungsentwicklung mit der postrelationalen Datenbank Caché. Springer, 2002, ISBN 3-540-43248-5
Weblinks
- intersystems.de - Deutsche Website von InterSystems
- intersystems.com - US-Website von InterSystems
- cachemonitor.de - freies Administrations- und Abfragewerkzeug
Siehe auch
Wikimedia Foundation.