Relationale und teilstrukturierte Daten

Schemaflexibilität mit Datenintegrität

Die hybride Datenmodellierung – sowohl mit strukturierten als auch mit teilstrukturierten Daten – kann die Flexibilitätsanforderungen moderner Web-, Mobil- und IoT-Anwendungen erfüllen, ohne ACID-Transaktionen oder Standard-SQL zu beeinträchtigen.

White paper

Flexible data modeling: JSON functions

MariaDB includes a comprehensive set of SQL functions for creating and querying JSON documents – everything from reading and writing fields, arrays and objects to creating JSON documents and merging relational data.

Download now

Die 5 wichtigsten Gründe für die Verwendung von relationalen Daten + JSON

   Mit Transaktionen können Sie mehrere JSON-Dokumente einfügen/ändern.

   Sie können Integritätsbeschränkungen auf bestimmte Felder in JSON-Dokumenten anwenden.

   Sie können JSON-Dokumente mit Hilfe von Standard-SQL-Funktionen abfragen.

   Sie können bestimmte Felder in JSON-Dokumenten indizieren.

   Sie können JSON-Dokumente als relationale Daten zurückgeben und umgekehrt.

Abfrage hybrider Datenmodelle

Was passiert, wenn Sie Benutzerprofile in einer einzigen Zeile speichern möchten? Es ist richtig, dass ein Benutzer aus user_id, Name und Land (und mehr) besteht. Benutzer können jedoch persönliche und geschäftliche E-Mail-Adressen sowie Mobil- und Bürotelefonnummern haben. Während einige Benutzer Twitter- und LinkedIn-Konten besitzen, haben andere möglicherweise Facebook- und Instagram-Konten. Was ist mit persönlichen Interessen?

Mit JSON-Funktionen können Sie Benutzerprofile in einer einzigen Zeile speichern.

user_idnamecountryattr
sjohnsonShaneUS{
"email": {
"work": "shane.johnson@mariadb.com"},
"phone": {
"mobile": "(555) 555-5555"},
"social": {
"twitter": "@shane_dev",
"linkedin": "/in/shanekjohnson"},
"interests": [
"Science Fiction",
"Distributed Systems"]
SELECT name,
   JSON_VALUE(attr, "$.email.personal") AS email,
   JSON_VALUE(attr, "$.social.twitter") AS twitter,
   JSON_VALUE(attr, "$.interests[0]") AS favorite_interest
FROM tbl_user_profiles
WHERE user_id = "sjohnson";


nameemailtwitterfavorite_interest
Shanenone@shane_devscience fiction
On-Demand Webinar

How to use hybrid data models

Learn how to validate, query and index JSON documents using SQL functions for JSON, introduced in MariaDB Server 10.2, and how to extend relational data models with JSON documents for increased schema flexibility.

Watch now
White paper

Flexible data modeling: JSON functions

MariaDB includes a comprehensive set of SQL functions for creating and querying JSON documents – everything from reading and writing fields, arrays and objects to creating JSON documents and merging relational data.

Read more