Systeme: PostgreSQL 9.4

Moderne Datenbank

Die PostgreSQL Global Development Group hat mit ein wenig Verspätung die neue Hauptversion 9.4 der populären, freien Datenbank vorgestellt. Wie gewohnt verfügt das neue Release wieder über einVielzahl an Neuerungen im Bereich Geschwindigkeit und Funktionalität, aber auch innovative Funktionen.
In der April-Ausgabe hat sich IT-Administrator die Netzwerksicherheit zum Schwerpunkt gesetzt. Wir zeigen, wie Sie mit Honeypots auf Hacker-Jagd im Netzwerk ... (mehr)

Schon länger verfügt PostgreSQL über einen JSON-Datentyp, der das Speichern von JSON-Dokumenten in relationalen Datenbeständen vereinfacht. Er ist geeignet, um JSON-Dokumente als ganze Entität zu betrachten und nicht auf ein relationales Datenmodell abzubilden. Dies ermöglicht die Datenhaltung innerhalb einer Datenbank, mit allen Vorteilen, die PostgreSQL für den Anwender bereithält, wie kompromisslose Transaktionssicherheit, hervorragende Erweiterbarkeit, aber auch Skalierbarkeit in derselben Softwarekomponente.

Die ursprüngliche Implementierung des JSON-Datentyps wies jedoch einen großen Nachteil auf: JSON-Dokumente wurden in der Datenbank als Zeichenkette gespeichert und erforderten bei jedem Zugriff das Parsen und Analysieren des Dokuments. Auch ist es sehr aufwendig, bei einer derartigen Repräsentation eines Dokuments auf Bestandteile eines Dokuments zuzugreifen, geschweige denn sie effizient zu indizieren.

Mit JSONB hat PostgreSQL 9.4 nun einen Datentyp eingeführt, der JSON-Dokumente als strukturierten, binären Datentypen behandelt und speichert. Dies erlaubt effizienten Zugriff auf JSON-Dokumente und sogar die Implementierung schneller Indexzugriffsmethoden. Skalarwerte von JSONB-Dokumenten werden als fundamentale PostgreSQL-Typen innerhalb eines Dokuments gespeichert. Die Abfrage in Bild 1 zeigt als sehr einfaches Beispiel die Tabelle "movies", deren Spalte "entry" ein JSONB-Dokument mit jeweils einem Filmtitel enthält. Der "@>"-Operator prüft den linken Operanden daraufhin, ob der rechte JSONB-Ausdruck darin enthalten ist.

Daneben gibt es noch die Operatoren "<@", um zu prüfen, ob der linke JSONB-Ausdruck im rechten JSONB-Operanden enthalten ist, "?", um zu erfragen, ob ein bestimmter Schlüssel existiert, "?|", um zu testen, ob ein Schlüssel einer Menge in dem linken JSONB-Operanden existiert, sowie "?&", das herausfindet, ob alle

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite