SCHEMALOS IM SCHEMA


Veröffentlicht von

Veröffentlicht am 06. Dec 2016

Eine relationale Datenbank ist nach wie vor die Wahl, wenn es um das Lesen und Verarbeiten von transaktionalen, strukturierten Daten geht.

NoSQL Datenbanken dagegen speichern Daten so wie sie sind (ohne ein fixes Schema). Dies ermöglicht das Speichern von unstrukturierten Daten. Durch die Art der Speicherung erreicht man zudem entschiedene Vorteile in der Zugriffsgeschwindigkeit bei sehr grossen Datenmengen. Bei der Verarbeitung von Massendaten, wie bspw. Protokoll-, Zeitreihen-, IoT- und Gerätedaten, sowie von grossen Objekten wie Videos und Bilder, sind die NoSQL Datenbanken massiv im Vorteil gegenüber relationalen Datenbanken. Daher basieren bspw. gängige Big Data Plattformen auf NoSQL.

Zwischendrin stehen neuere Releases von relationalen Datenbanken, welche die Möglichkeit anbieten, “unstrukturierten” Inhalt aufnehmen zu können. So etwa die Oracle Datenbank ab Version 12c, die “native JSON Support” anbietet.

Ein Anwendungsgebiet des JSON Supports ist die flexiblere Datenmodellierung. Wenn z.B. die Definition eines festen Datenmodells (eines relationalen Schemas), nicht oder nur teilweise möglich ist. Immer mehr Anwendungen müssen flexible, sich häufig ändernde Attribute speichern können. Bisheriger Ansatz hierfür war die Verwendung entsprechend komplexer und wartungsintensiver Designmuster wie bspw. das „Entity–Attribute–Value model“.

Die Kombination einer relationalen Datenbank mit JSON scheint die perfekte Ergänzung hierfür zu sein. Die statischen Teile des Datenmodells werden nach wie vor mit Tabellen und Spalten modelliert, die flexiblen Teile als JSON abgespeichert.

Technisch Interessierte und Entwickler finden  hier einen Artikel, der erste Erfahrungen mit JSON und Oracle 12c wiedergibt und anhand von Beispielen die Möglichkeiten aufzeigt.