MarkLogic World 2020 Live Keynote – Register Now

Multi-Modell-Datenbankrepräsentation

Multi-Modell-Datenbanken sind eine elegante Lösung für die Herausforderung, heterogene Daten zu verwalten. Im Gegenteil zur Polyglot-Persistenz, bei der eine Anwendung mehrere Datenbankmodelle integriert, unterstützt eine Multi-Modell-Datenbank von Haus aus mehrere Datenmodelle in ihrer nativen Form dank eines einzelnen, integrierten Backends. Die Polyglot-Persistenz führt zu Datensilos und mehreren Benutzeroberflächen, für die komplexe Integrations-Workflows erforderlich sind. Bei einer Multi-Modell-Datenbank dagegen werden die Daten integriert und es gibt eine vereinheitlichte Benutzeroberfläche für Datenkonsistenz, -sicherheit und -zugriff.

Stellen Sie sich nur einmal vor, wie sehr Sie Ihre Datenarchitektur vereinfachen könnten, wenn Entitäten (wie die Krankenakte eines Patienten) mit dem richtigen Mix aus Datenmodellen in einer Multi-Modell-Datenbank modelliert werden, anstatt einen Polyglot-Persistenz-Ansatz zu verwenden, bei dem verschiedene Services durch Anwendungen orchestriert werden müssen, um die Datenkonsistenz und -sicherheit für den Endbenutzer zu garantieren.

Mit einem Multi-Modell-MarkLogic-Server mehr erreichen

MarkLogic Server ist eine Multi-Modell-Datenbank, die die Vorteile von Dokument-, semantischen Graph-, Geodaten- und relationalen Modellen in einer einzigen, skalierbaren und leistungsstarken operativen Datenbank kombiniert. Der Service bietet native Speicherung für JSON-, XML-, Text-, RDF-Tripel-, Geo- und Binärdaten (z. B. PDFs, Bilder, Videos) und eine vereinheitlichte Benutzeroberfläche für Suchen und Abfragen. Sie erhalten somit die Flexibilität, sich die richtige Mischung aus Datenmodellen für Ihre Anwendungsfälle aussuchen zu können, ohne dabei die Datenkonsistenz zu opfern. Sie können beispielsweise eine 360-Grad-Ansicht Ihrer Geschäftsentitäten (wie Kunden etc.) erstellen, um mehrere Anwendungsfälle (wie Treueprogramme, Personalisierung etc.) zu ermöglichen.

Drei Möglichkeiten, eine Person zu repräsentieren: über ein Dokument, RDF-Tripel oder eine relationale Ansicht
In der Abbildung sehen Sie ein Dokument, das eine Person beschreibt (Jen) und einige Tripel, die Fakten und Beziehungen zu Jen beschreiben. Wenn Sie Jen in einer relationalen Ansicht darstellen möchten, können Sie dies auch tun.

Wie verbessert das Multi-Modell die Datenintegration?

Die Fähigkeit, mehrere Datenmodelle in Multi-Modell-Datenbanken zu speichern und abzufragen, resultiert in noch nie dagewesener Flexibilität, operativer Effizienz und DevOps-Agilität bei der Integration von Daten aus Silos. Bei relationalen Datenbanken müssen Sie beispielsweise gleich zu Beginn ein vereinbartes Überschema definieren und alle Ihre Quelldaten mittels aufwändiger ETL-Prozesse zuordnen, welche immer problematischer werden, je weiter sich Ihr Unternehmen entwickelt. Im Gegensatz dazu sind Multi-Modell-Datenbanken schemaagnostisch, was bedeutet, dass mehrere Schemata (oder Datenmodelle) nebeneinander existieren können. Sie können ein Schema also flexibel und schnell weiterentwickeln, um auf sich verändernde Geschäftsanforderungen zu reagieren.

MarkLogic Server macht es als Multi-Modell-Datenbank einfach, alle Daten im Ist-Zustand zu laden, und bietet Ihnen die Flexibilität, iterative Änderungen schneller vorzunehmen, dabei aber die Herkunft, den Ursprung und andere Metadaten weiterhin zu erhalten. Sie können Datenquellen je nach Bedarf hinzufügen, strukturierte und unstrukturierte Daten laden und Änderungen an Schemata vornehmen, um neue Anwendungsfälle zu ermöglichen, ohne vorhandene Anwendungen zu beeinträchtigen oder die Quelldaten neu aufnehmen zu müssen. Genau aus diesem Grund bildet MarkLogic Server das Grundgerüst der MarkLogic Data Hub Platform für die Integration, Kuratierung und Verwaltung multistrukturierter Daten. Sie können so Daten jedes Typs (wie IoT, Clickstream, Mainframe, ERP etc.) aus jeder Quelle integrieren (wie Oracle, SQL Server, Teradata, Hadoop etc.).

Was sind die Kernfunktionen einer Multi-Modell-Datenbank?

Eine Multi-Modell-Datenbank unterstützt mehrere Datenmodelle, Indizes und Programmiersprachen, um multiple Anwendungsfälle zu ermöglichen. Sie stellt außerdem ein einheitliches Modell für Datensicherheit, Governance und Konsistenz zur Verfügung. MarkLogic Server bietet Ihnen Folgendes:

Die Dokumentendatenbank ist das vielseitigste und beliebteste NoSQL-Datenmodell. Dokumente sind ideal für die Handhabung vielfältiger und komplexer hierarchischer Daten geeignet. Sie sind für Menschen lesbar und an dem Modell orientiert, das den Daten zugrunde liegt. Außerdem kann durch Dokumentendatenbanken das mit relationalen Datenbanken verbundene „Unvereinbarkeitsproblem“ vermieden werden.

Ob es sich um Java-Objekte, die Geschäftsbereiche repräsentieren, oder um frei fließenden Text aus einem „Dokument“ (Microsoft Word-Dokumente, PDFs usw.) im herkömmlichen Sinne handelt – sie werden alle nativ als JSON- und XML-Dokumente mit starker Konsistenz in MarkLogic Server gespeichert.

Damit Sie sicher auf Dokumente zugreifen und diese freigeben können, bietet MarkLogic Server eine integrierte Suchmaschine, Sicherheitskontrollen auf Dokumenten- und Elementebene, Unkenntlichmachungsrichtlinien und mehr. Die Suchmaschine indiziert automatisch Dokumente für die Volltextsuche bei der Aufnahme und gibt Ihnen die Flexibilität, weitere Indizes zu definieren (z. B. Indizes für Reichweite oder Geolokalisierung) und die Relevanz selbst zu konfigurieren. Dies und verschiedene enthaltene Funktionen (wie Facetten, Ausschnitte etc.) ermöglichen Ihnen, schnell fortschrittliche Suchanwendungen zu entwickeln.

Das sind die Vorteile eines Dokumentendatenbank-Modells in der Übersicht:

  • Schnelle Entwicklung
  • Schema-agnostisch
  • Daten „denormalisiert“
  • Nutzt alle Attribute
  • Abfragen im Kontext
  • Ideal für die Datenintegration

Dokumente eignen sich fantastisch zum Speichern von Geschäftsentitäten, aber wenn es um Entitätenbeziehungen geht, ist das semantische Graph-Datenbankmodell – ein weiteres beliebtes NoSQL-Modell – am besten geeignet. Es wurde speziell dafür entwickelt, Beziehungen zwischen Menschen, Kunden, Anbietern oder anderen interessanten Entitäten zu speichern und zu verwalten.

MarkLogic Server bietet Ihnen ein semantisches Graph-Datenmodell in Form einer integrierten RDF-Tripel-Speicherung, mit der Sie semantische Daten speichern und verwalten können. Wir nennen diese Funktion MarkLogic Semantik. Semantik verbessert das Dokumentenmodell, indem es eine intelligente Möglichkeit bietet, JSON- und XML-Dokumente zu verbinden und zu verbessern. Dies vereinfacht die Datenintegration und ermöglicht leistungsstärkere Abfragen, um Beziehungen zu finden und Schlussfolgerungen anzustellen.

Semantik bietet außerdem Kontext für Ihre Daten durch Speichern von Metadaten (z. B. Ontologien). Nehmen wir als Beispiel einen Produktkatalog, in dem Informationen über Artikel enthalten sind. Ein Artikel wird darin mit der Größe „42“ geführt. Aber wo sind die kontextbezogenen Informationen? In welcher Maßeinheit wird diese „42“ gemessen? Wie sieht die Toleranz aus? Wer hat die Messung vorgenommen? Wann wurde gemessen? Diese Kontextinformationen sind semantische Daten, die in MarkLogic Server als RDF-Tripels gespeichert werden können.

Ähnlich wie beim Dokumentmodell indiziert die integrierte Suchmaschine von MarkLogic Server RDF-Tripels zur schnellen Ausführung semantischer Suchen mit SPARQL-Abfragen. Sie können problemlos komplexe Abfragen zusammenstellen, die aus semantischer und Dokumentensuche besteht, um Einblicke zu gewinnen.

Das Dokumentendatenmodell bietet Ihnen die Flexibilität, Geodaten zu speichern. MarkLogic Server kann Geodaten nativ speichern, verwalten und suchen, einschließlich Points of Interest, Kreuzungen und Regionen von besonderem Interesse. So können Sie die „Wo“-Fragen in Bezug auf alle Ihre anderen Daten (Entitäten, Beziehungen etc.) beantworten.

Integrierte Suchmaschine von MarkLogic Server für die Indizierung von Geodaten, um standortbasierte Suchabfragen und Warnmeldungen für Geodatenanwendungen zu ermöglichen. Erfahren Sie mehr darüber, wie Kunden Geodaten verwenden, um leistungsstarke standortbasierte Suchanwendungen zu entwickeln.

Relationale Datenmodelle sind nicht ohne Grund nützlich. Manchmal ist es wirklich sinnvoll, mit strukturierten, relationalen Ansichten von Daten in tabellarischer Form zu arbeiten, die Sie mit dem guten alten Standard-SQL abfragen können. MarkLogic hat auch hierfür die Lösung.

MarkLogic Server unterstützt Standard-SQL. Sie können damit relationale Ansichten über Ihren Daten für SQL-Analysen erstellen, ohne die Datensicherheit zu kompromittieren. Die zugrunde liegenden Daten werden dabei nie verändert – sie stehen weiterhin in ihrer Ursprungsform auf MarkLogic Server zur Verfügung.

Nur MarkLogic Server verfügt über die Technologie, die dieses Maß an SQL-Unterstützung ermöglicht. Wir nennen sie Template Driven Extraction (TDE). Diese ermöglicht Ihnen, eine relationale Linse über Ihren Daten (oder Entitäten) zu definieren, um diese per Standard-SQL abfragen zu können. Sie können daher die gewohnten BI-Tools für operative Analysen verwenden.

Multi-Modell-Datenbanken verfügen über eine einheitliche Suchoberfläche, über die mehrere Datenmodelle mittels integrierter Indizes abgefragt werden können. Normalerweise müssen Sie spezifische Indizes für jeden Datentyp auswählen und verwalten. MarkLogic Server hingegen verfügt über eine Vielzahl von Indizes, die einen sofortigen Zugriff direkt nach dem Laden der Daten ermöglichen. Eine Multi-Modell-Datenbank funktioniert ähnlich wie Google. Webseiten müssen kein bestimmtes Format haben – sie werden einfach über eine einheitliche Suchoberfläche indiziert und verfügbar gemacht.

Die integrierte Suchmaschine von MarkLogic Server indiziert alle Datentypen und bietet ausgezeichnete Suchgeschwindigkeiten. Benutzer können so mit nur einer einzigen, frei zusammensetzbaren Abfrage schnell Daten in mehreren Datenmodellen suchen. Sie können beispielsweise Semantik und Suchabfragen kombinieren, um Patienten zu finden, die nicht versichert sind und an einer chronischen Krankheit leiden.

Multi-Modell-Datenbanken bieten branchenübliche Abfragesprachen und APIs, um Daten für alle unterstützten Datenmodelle schnell zu speichern und auf sie zuzugreifen. Mit MarkLogic Server können Benutzer Daten mit Search, SQL, SPARQL oder REST API abfragen. Er unterstützt außerdem mehrere Programmiersprachen, wie JavaScript, Node, Java und XQuery.

MarkLogic Server ist eine echte Multi-Modell-Datenbank und stellt die integrierte Optic API somit als einheitliche Abfragebenutzeroberfläche für Multi-Modell-Datenzugriff bereit. Sie erhalten flexiblen und einfachen Zugriff auf Daten in allen Datenmodellen. Sie können eine einzige, frei zusammensetzbare Abfrage über Dokumente, relationale Ansichten und semantische Graphen (in beliebiger Kombination) erstellen. Sie können beispielsweise die Optic API zum Suchen und Filtern von Dokumenten, Ausführen von relationalen Aktionen (wie Verbinden oder Aggregieren) und Abrufen (oder Konstruieren) von Dokumenten bei der Ausgabe verwenden. Versuchen Sie das einmal mit einer anderen Multi-Modell-Datenbank!

Eine Multi-Modell-Datenbank ergänzt ihre Datenmodellierungsflexibilität und ihre einheitliche Abfrageoberfläche durch ein zentrales Modell für Datensicherheit, Governance und Transaktionen. Als vereinheitlichte Datenplattform kann sie die Produktivität von Entwicklern sowie die Betriebseffizienz verbessern.

MarkLogic Server ist eine echte Multi-Modell-Datenbank und bietet somit ein einheitliches Modell für Datensicherheit, -Governance und -konsistenz. Die Datenbank verwendet eine Shared-Nothing-Architektur, um Skalierbarkeit und Verfügbarkeit bereitzustellen, und reduziert den betrieblichen Aufwand bei Entwicklung, Tests, Upgrades, Sicherung und Wiederherstellung und mehr.

Lassen Sie sich nicht von fake Multi-Modell-Datenbanken blenden

Nehmen Sie sich vor falschen Anbietern von Multi-Modellen in Acht, denn viele Anbieter werben fälschlicherweise mit Multi-Modell-Datenbanken. Es gibt zwei verschiedene Arten von Multi-Modell-Betrügern auf dem Markt:

  • In der ersten Kategorie finden sich Produkte wieder, bei denen es sich lediglich um mehrere Produkte handelt, die wild zusammengebündelt wurden, jedoch über keine einheitliche Speicher- und Abfrageebene verfügen. Bei diesen Flickwerken gibt es keine übergreifende Suchfunktion, Indizes müssen mit viel Aufwand sorgsam verwaltet werden, es fehlt an Datenkonsistenz und die Skalierung verläuft unvorhersehbar.
  • Die zweite Kategorie bilden die relationalen Datenbanken, die einen Multi-Modell-Status vorgaukeln. Dies liegt gerade besonders im Trend, da echte Multi-Modell-Datenbanken immer weiter verbreitet sind – selbst Oracle wirbt jetzt damit, dass seine Datenbanken Multi-Modell-fähig sind.

Diese relationalen Datenbanken sind aber letztendlich doch nichts weiter als relationale Datenbanken. Sie haben mit einem echten Multi-Modell nichts gemein. Oracle gibt in seiner Dokumentation sogar selbst an, dass Oracle 19c JSON-Dateien nicht nativ speichert: „JSON-Daten werden in Oracle Database mit den geläufigen SQL-Datentypen VARCHAR2, CLOB und BLOB gespeichert (im Gegensatz zu XML-Daten, die mittels des abstrakten SQL-Datentyps XMLType gespeichert werden).“ Wenn also ein Wert abgerufen werden soll, muss das gesamte JSON-Dokument durchforstet werden, bis die relevanten Daten gefunden wurden. Das ist ein langwieriger Vorgang. Es gibt zwei Ansätze, die Oracle empfiehlt, um die Leistung zu steigern. Bei einem sollen die Daten in eine materialisierte Ansicht extrahiert werden, während die Werte in eine andere Tabelle verschoben werden (auch als Zerstückeln bekannt). Bei der anderen Methode handelt es sich um einen JSON-Suchindex, der die ACID-Compliance allerdings nicht einhalten kann – er wird nur in periodischen Abständen aktualisiert, wenn er genutzt wird. Bei anderen relationalen Datenbanken, die sich einen Multi-Modell-Status auf die Stirn schreiben, treten ähnliche Probleme auf, wenn die NoSQL-Datentypen nicht nativ gespeichert werden.

Generell sind Multi-Modell-Workloads, die über falsche Multi-Modell-Datenbanken ausgeführt werden, unflexibel, anfällig oder beides. Sie können nicht nur einfache Hindernisse, wie das Abfragen von Dokumenten, nur schwer überwinden, sondern können auch nicht von erweiterten Funktionen Gebrauch machen, wie das Verknüpfen von XML- und JSON-Dokumenten. All diese Aufgaben sind mit MarkLogic Server kein Problem.

Ressourcen

Whitepaper

Umdenken bei der Datenmodellierung

E-Book für Architekten

Technische Vorteile einer Multi-Modell-Datenbank

Training für Entwickler

Multi-Modell-Datenmodellierung in 16 Minuten

Funktionen speziell für Unternehmen

Auf dieser Website werden Cookies verwendet.

Mit der Nutzung dieser Webseite stimmen Sie der Verwendung von Cookies gemäß der MarkLogic Datenschutzrichtlinie zu.