Es tut uns leid. Wir konnten keine Übereinstimmung für Ihre Suche finden.

Beachten Sie die folgenden Tipps, um das Gesuchte zu finden:

  • Prüfen Sie die Schreibweise des Suchbegriffs.
  • Verwenden Sie Synonyme für das eingegebene Stichwort, z. B. „Anwendung“ statt „Software“.
  • Beginnen Sie eine neue Suche.
Kontaktieren Sie uns Bei Oracle Cloud anmelden

Eine konvergierte Datenarchitektur für die Anwendungsentwicklung

Referenzarchitekturen wenden spezifische Designprinzipien an, um die Kernanforderungen der modernen Anwendungsentwicklung zu erfüllen. Mit diesen Prinzipien können Entwickler Web-/Mobile-Apps entwickeln, die KI/ML, datengesteuerte Analysen und Messagingplattformen integrieren. Ereignisbasierte Architekturen können in Echtzeit auf Ereignisse reagieren. Diese Architekturmuster tragen dazu bei, die Entwicklung benutzerdefinierter Apps im Finanzwesen, im Einzelhandel, im Gesundheitswesen, im Energiesektor sowie in der Fertigung zu beschleunigen. Außerdem unterstützen sie die Erweiterungen von in Packages integrierten Oracle Applications. Die meisten Unternehmensanwendungen sind datenzentriert, enthalten eine Vielzahl von Daten und werden am besten auf einer konvergierten Datenbank entwickelt. Die Programmierung mit den gängigen Sprachen Java, Python, Javascript, Go usw. wird in diesen Architekturmustern ebenfalls gut unterstützt. Die Low-Code-App-Entwicklung komprimiert die erforderlichen Technologieebenen und ist eine gute Option für einige Anwendungen. Von Kubernetes verwaltete Apps und Datenbankcontainer können dann in Oracle Cloud (OCI), eigenständigen Umgebungen und anderen wichtigen Public Clouds bereitgestellt werden.

Web/Mobile – Richtlinien

Web- und Mobile-Apps enthalten typischerweise ein für den Benutzer sichtbares Frontend, einen Abfragegenerator und ein Backend, das die Datenberechnung durchführt und das Frontend versorgt. Als Antwort auf eine Benutzer- oder API-Anforderung interagiert eine Webanwendung mit der API oder mit in einer Datenbank gespeicherten persistenten Daten. Die Anwendung muss verschiedene Clients wie Browser und Mobilgeräte unterstützen und mithilfe von APIs und Ereignissen mit anderen Systemen und Anwendungen interagieren. Das Backend muss sicher sein und nach Bedarf skaliert werden.

Erstellen Sie Ihre Webanwendung als eine Reihe von Microservices, die unabhängig getestet, bereitgestellt und von verschiedenen Anwendungsteams besessen werden können. Stellen Sie Services als REST-APIs bereit und kommunizieren Sie mit anderen Microservices über ein integriertes Event-Mesh für Ereignisse und Nachrichten oder APIs, die pro Microservice erstellt wurden. Integrieren Sie mit ML-Modellen über REST-Endpunkte in der Datenbank maschinelles Lernen in intelligente Apps.

Web- und Mobile-Apps müssen skalierbar sein, um Bedarfsspitzen zu bewältigen und unter Belastung mit geringer Latenz zu funktionieren. Darüber hinaus müssen Sie rund um die Uhr verfügbar und belastbar genug sein, um auf Anfrage Daten zu produzieren, und dürfen gespeicherte Informationen nicht verlieren.

Mobile-Apps werden mit Frontend-Frameworks wie React Native oder SwiftUI erstellt. Dadurch wird die Benutzeroberfläche erstellt, die mit einem Backend für alle Daten- und Anreicherungsservices interagiert. Der Entwickler kann sich auf den Workflow und die Anwendungslogik konzentrieren und über klar definierte APIs auf das Backend zugreifen, die belastbar, sicher und autonom skalierbar sind.

Sicherheit ist für Webanwendungen, die dem Internet ausgesetzt sind, von größter Bedeutung. Daher sind Datenverschlüsselung, TLS, DDoS-Schutz, Firewalls und eine granulare Benutzer- und Datenzugriffsverwaltung ausschlaggebend. Sowohl die Datenbanksicherheit als auch die Anwendungssicherheit sind wichtig und werden mit Passwörtern und Schlüsseln gehandhabt, auf die über Oracle Database Wallet und den OCI Vault-Service zugegriffen wird.

Designprinzipien

Einfache, Open Source-Frameworks und ausgereifte Programmiersprachen verwenden

Erstellen Sie ein mobiles und webbasiertes Frontend in Javascript (React) oder SwiftUI. Zu Backend-Daten- und Anwendungsservices gehört die mehrsprachige Sprachunterstützung (Python, Node.js, Java, PL/SQL, Go usw.), um Anwendungsfälle und Microservices in diesen Sprachen zu ermöglichen. Verarbeiten Sie Daten nahe am Speicherort.

Erstellen von Apps als Services, die über APIs kommunizieren

Eine Webanwendung oder eine mobile Anwendung muss häufig mit anderen Geschäftssystemen und Services außerhalb des Unternehmens verbunden sein. Services, die Teil einer Webanwendung sind, sollten die Interaktion und Zusammenarbeit über klar definierte APIs ermöglichen. Verwenden Sie Oracle REST Data Services (ORDS), um Daten-APIs zu verwenden oder neue zu erstellen. Ermöglichen Sie maschinelles Lernen und verwenden Sie vordefinierte REST-Endpunkte über OML-Services und die eingebettete Python-Ausführung von OML4Py. Nutzen Sie verfügbare API-Gateways in Oracle Cloud als zentralen Einstiegspunkt für alle Clients, und leiten Sie API-Anforderungen an den entsprechenden Service weiter. Konfigurieren Sie Load-Balancer-Services und Ingress-Controller für eine sichere API-Kommunikation zwischen Microservices.

Nutzung von vollständig verwalteten Services, um die Komplexität in der Anwendungsentwicklung zu beseitigen, Laufzeiten zu verkürzen und das Datenmanagement zu vereinfachen

Die Wartung einer Web- oder Mobile-App-Infrastruktur ist mit der Verantwortung für das Deployment, Upgrade, Patching, Skalieren und Sichern des Setups verbunden. Verwenden Sie verwaltete Services wie Oracle Autonomous Database und eine Vielzahl anderer verwalteter Services in der Oracle Cloud, um die Verfügbarkeit und Skalierbarkeit zu maximieren und auf die sich ändernden Anforderungen von Web- und Mobile-Apps zu reagieren. Verwaltete Services stellen sicher, dass die Anwendung rund um die Uhr verfügbar und geschützt ist, wenn im Data Center, in dem die Infrastruktur gehostet wird, etwas ausfällt. Verwenden Sie selbstverwaltende Services nur, wenn kein vom Anbieter verwalteter Service verfügbar ist.

Die Anwendungsebene zustandslos halten

Halten Sie Komponenten der mittleren Ebene der Anwendung zustandslos. Wenn der Anwendungsstatus gespeichert werden soll, verwenden Sie Oracle Autonomous Database, um Anwendungsdaten und -status für Konsistenz, Dauerhaftigkeit und schnelle Wiederherstellbarkeit aus dem Root-Verzeichnis des Anwendungsstatus zu speichern. Das Beibehalten des Status in einer Datenbank ist einfacher und effizienter bei der Wiederherstellung der gesamten Anwendung.

Konvergierte Datenbank mit vollständiger Unterstützung für alle Daten

Web- und Mobilanwendungen verwenden Daten in unterschiedlichen Formaten und müssen die Daten in einem Datenspeicher speichern, suchen und verarbeiten. Die Daten können tabellarisch (relational), unstrukturiert, als XML und JSON formatiert, räumlich oder graphisch sein. Traditionell bedeutete diese Ungleichheit die Verwendung einer relationalen Datenbank für relationale Daten, eines Dokumentenspeichers für unstrukturierte Daten und Diagrammdatenbanken für hierarchisch verknüpfte Daten. Die Verwendung mehrerer Datenbanken führt jedoch zur Betriebskomplexität und Dateninkonsistenz. Um dieses Problem zu lösen, verwenden Sie die konvergierte Oracle Autonomous Database, um mehrere Datentypen zu speichern, zu indizieren und Möglichkeiten zum Durchsuchen der Daten bereitzustellen und für einheitliche Analysen über alle Daten hinweg zu verwenden.

End-to-End-Überwachung und -Nachverfolgung von Instrumenten

Eine Web- oder Mobilanwendung kann Hunderte von Services enthalten, die verschiedenen Anwendungs- und Geschäftsteams gehören. Eine einheitliche Beobachtbarkeit mit Open-Tool-Schnittstellen ist wichtig, um das Verhalten dieser von Natur aus verteilten Systeme sichtbar zu machen. Zentralisieren Sie die Beobachtungslösung, indem Sie die Metriken, Protokolle und Ablaufverfolgungen verwenden, die aus allen Ebenen der Anwendungs- und Datenebenen exportiert wurden. Diese Services überwachen den gesamten Stack, vom Frontend bis zum Backend, helfen dabei, Probleme in der Anwendung schnell zu finden und zu beheben, und werden zur Plattform für die kontinuierliche Performanceoptimierung.

Eliminieren Sie Single Point of Failure durch automatisierte Datenreplikation und Fehlerwiederherstellung

Web- und Mobilanwendungen müssen robust sein, sich nach Ausfällen erholen, Ausfallzeiten minimieren und Datenverluste vermeiden. Redundanz hilft, Single Points of Failure zu beseitigen: Mit Kubernetes können Sie die Resilienz der Datenbankcontainer und App-Container verwalten. Der Oracle Database Kubernetes-Operator wurde dafür entwickelt und verwendet CI/CD-Pipelines, die die Datenebene enthalten. Richten Sie in Kubernetes-Clustern Knotenpools mit mindestens drei Knoten ein, wobei sich jeder Knoten in einer separaten Availability-Domain in einer Multi-Availability-Domain-Region auf OCI befindet. Richten Sie in einer einzelnen Availability-Domain-Region auf OCI Knotenpools in Kubernetes mit jedem Knoten in einer separaten Fault-Domain ein. Verwenden Sie einen einzelnen öffentlichen Load Balancer und mehrere private Load Balancer mit mehreren Ingress-Controllern für Redundanz in Kubernetes.

Richten Sie die Autonomous Database mit Autonomous Data Guard für maximale Verfügbarkeit ein, um Betriebsausfallzeiten und Datenverluste zu minimieren.

Befolgen Sie das Prinzip der geringsten Berechtigungen, um sicherzustellen, dass Benutzer und Serviceaccounts nur die minimalen Rechte haben, die zum Ausführen ihrer Aufgaben erforderlich sind. Kontrollieren Sie mit Cloud Identity and Access Management (IAM), wer Zugriff auf die Webanwendungskomponenten hat, einschließlich der Datenbank. Verwenden Sie die Multifaktor-Authentifizierung in IAM, um eine starke Authentifizierung durchzusetzen, damit Administratoren den Zugriff auf die Anwendungskomponenten und die Datenbank einschränken können.

Architektur

Dieses konvergierte Datenarchitekturmuster für eine Web- oder Mobilanwendung besteht aus einem Frontend und Microservices, wobei das Backend die in der Oracle Autonomous Database erstellten App- und Datenservices verwendet. Optional werden für Services, die nicht in der Datenbank vorhanden sind, Microservices in Containern in einem Kubernetes-Cluster verwaltet.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Web-Referenzarchitektur

Die Architektur enthält die folgenden Komponenten (Komponenten können vollständig verwaltete Services auf Oracle Cloud Infrastructure oder entsprechende Services in anderen Deployment-Umgebungen sein. Oracle Autonomous Database ist beispielsweise ein verwalteter Service auf OCI, und die Oracle Database wird in anderen Umgebungen ausgeführt).

  • Oracle Autonomous Database
    Oracle Autonomous Database bietet Datenservices für alle Arten von Daten, die gespeichert, verarbeitet und analysiert werden sollen – Betriebsdatenbank plus Data Warehousing und Analysen. Darüber hinaus bietet es Anwendungsservices, die eine integrierte Ereignis- und Messaging-Plattform (Transactional Event Queues), maschinelles Lernen, REST-APIs und eine Low-Code-Entwicklungsumgebung umfassen. Dies ist eine vollständige Datenplattform für moderne Web-/Mobile-Apps, die als Microservices geschrieben sind.
  • Container Engine for Kubernetes (OKE)
    Der Kubernetes-Service ist ein vollständig verwalteter, skalierbarer und hochverfügbarer Service, mit dem Sie Ihre Container-Apps in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Apps benötigen, und Container Engine stellt sie auf OCI in einem bestehenden Mandanten bereit. Container Engine automatisiert mit Kubernetes das Deployment, die Skalierung und die Verwaltung von containerisierten Anwendungen über Host-Cluster hinweg.
  • Load Balancer
    Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht eine automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.
  • Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)
    OCI IAM bietet robuste Authentifizierung, MFA, Social Login, Selbstregistrierung für Endbenutzer, Identitätsmanagement, Single Sign-On (SSO) und Identity Governance für Anwendungen.

Anwendungsfälle

Dieser Anwendungsfall beschreibt eine Beispielanwendung für die mobile Lebensmittellieferung namens GrabDish, die eine Microservices-Architektur mit der Autonomous Database und containerisierten Datenbanken (Pluggable Database in a Container Database) für jeden ihrer Services verwendet. Es verwendet außerdem die integrierte Messaging-Plattform Transactional Event Queues (TEQ) für das Messaging und vereinfacht die gängigen Microservices-Muster für Entwickler. GrabDish zeigt AI/ML-Services und eine Vielzahl von verwendeten Datentypen und programmiert die App in mehreren Sprachen. Weitere Einzelheiten finden Sie in den Livelabs zu GrabDish unter http://bit.ly/simplifymicroservices

Mehr entdecken

Erfahren Sie mehr über verwandte Ressourcen.

Ereignisbasiert – Richtlinie

Messaging-Lösungen verbinden Anwendungskomponenten – einschließlich vorhandener On-Premises-Systeme – mit Cloud-Lösungen. Nachrichten-Payloads sind Ereignisse, die von Anwendungen generiert werden, Benutzereingaben, Datenänderungen oder gerätegenerierte Ereignisse. Messaging ermöglicht die Ereignis- und Datenübertragung als Teil einer klar definierten verteilten Verarbeitungspipeline oder die Veröffentlichung von Nachrichten und Ereignissen an mehrere unabhängige nachgelagerte Systeme, die Daten verarbeiten, anreichern und analysieren. Die meisten modernen Apps, die mit Microservices erstellt werden, basieren auf einer ereignisgesteuerten Architektur. Ein Event-Mesh ermöglicht es, jedes in einem System erzeugte Ereignis sicher an einer anderen Stelle im verteilten System zu nutzen, wo es benötigt wird, und zwar nahezu in Echtzeit, indem ein oder mehrere Event-Broker verwendet werden. Nachdem ein Ereignis verarbeitet wurde, werden die Daten (Nutzdaten) in einem Data Lakehouse für Analysen und das Trainieren von KI/ML-Modellen gespeichert.

Erstellen Sie hochverfügbare, zuverlässige und flexible Messaging-Lösungen. Nutzen Sie die konvergierte Datenbankplattform, Cloud-Services und Best Practices von Oracle, um Messaging und leistungsorientierte Lösungen basierend auf Geschäftsanforderungen bereitzustellen. Diese Empfehlungen tragen dazu bei, die Entwicklungsintegration, den Bereitstellungsaufwand und den langfristigen Verwaltungsaufwand zu minimieren.

Messaging-Lösungen verbinden Anwendungskomponenten, einschließlich Ihrer vorhandenen On-Premises-Systeme, mit Cloud-Lösungen. Sie ermöglichen die Datenübertragung entweder als Teil einer klar definierten verteilten und konvergierten Verarbeitungspipeline oder veröffentlichen Nachrichten und Ereignisse an mehrere unabhängige nachgelagerte Systeme, die sich unabhängig voneinander weiterentwickeln.

Diese Lösungen sollten auch ungeplante Spitzen in der Nachrichtenlast transparent ausgleichen, indem Daten gepuffert und Prozessressourcen dynamisch angepasst werden. In der Vergangenheit war es für Unternehmen eine Herausforderung, zuverlässige Messaging-Lösungen bereitzustellen und zu verwalten, die diese Ziele ohne übermäßige Komplexität und Kosten erfüllen. Diese Implementierung kann jedoch jetzt mit Messaging-Services für Skalierung und Performance einfach in der Cloud durchgeführt werden.

Designprinzipien

Verwenden Sie die folgenden Designprinzipien, um Ihre Messaging-Anwendungen oder -Plattform mit der konvergierten Datenarchitektur zu erstellen.

Erstellen von Apps als Services, die über APIs kommunizieren

Verwenden Sie entweder JMS- oder Kafka-APIs für Messaging mit Oracle Transactional Event Queues. Die Verwendung der Standard-APIs bietet Anwendungsportabilität und ermöglicht Ihnen die nahtlose Erstellung von Hybrid- und Multicloud-Messaging-Anwendungen.

Nutzung von vollständig verwalteten Services, um die Komplexität in Bezug auf Anwendungsentwicklung, Laufzeiten und Datenmanagement zu beseitigen

Führen Sie Anwendungen auf vollständig verwalteten Services mit integrierter Infrastrukturwartung und Sicherheitspatches aus. Sie können die Skalierungsautomatisierung als Reaktion auf sich ändernde Lasten nutzen. Verwenden Sie Oracle Autonomous Database, einen vollständig verwalteten Oracle Database-Service auf OCI. Oracle Transactional Event Queues ist ein integriertes Feature der Datenbank, die in allen OCI-Regionen verfügbar ist.

Konvergierte Datenbank mit vollständiger Unterstützung für alle Daten

Verwenden Sie die Oracle Autonomous Database, die nativ verschiedene Datentypen unterstützt – JSON, relational, Diagramm, räumlich usw. Nutzen Sie die Datenbankfunktionalität, um die Anwendungslogik zu vereinfachen. Verwenden Sie beispielsweise SQL für Abfragen, Verknüpfungen und Analysen. Und verwenden Sie Transaktionen, um Konsistenz und Isolation zu gewährleisten, und integrierte Algorithmen und Analysen für maschinelles Lernen, sodass unnötige Datenübertragungen vermieden werden. Außerdem können Sie die Sicherheitsfunktionen und die Zugriffskontrolle der Datenbank nutzen sowie die Replikation, um die Verfügbarkeit, Skalierbarkeit und Resilienz Ihrer Anwendungen zu verbessern.

End-to-End-Überwachung und -Nachverfolgung von Instrumenten

Eine Messaging-Anwendung kann Hunderte von Services enthalten, die verschiedenen Anwendungs- und Geschäftsteams gehören. Eine einheitliche Beobachtbarkeit mit Open-Tool-Schnittstellen ist wichtig, um das Verhalten dieser komplexen, verteilten Systeme sichtbar zu machen. Anstatt dass jedes Team seine eigene Lösung erstellt, zentralisieren Sie die Metriken, Protokolle und Ablaufverfolgungen, die aus allen Ebenen der Anwendung exportiert werden. TEQ-Metriken können in Prometheus exportiert werden, das Grafana-Dashboards für Debugging- und Performance-Tuning-Workflows unterstützt.

Eliminieren Sie Single Points of Failure durch horizontale Skalierung und automatisieren Sie die Wiederherstellung nach einem Ausfall.

Da TEQ Teil der Oracle Autonomous Database ist, profitieren Anwendungen ohne zusätzlichen Aufwand von der integrierten Hochverfügbarkeit und den regionsübergreifenden Disaster Recovery-Funktionen.

Das transaktionale Messaging von TEQ vereinfacht auch die Wiederherstellung nach externen Ausfällen.

Implementieren Sie einen Defense-in-Depth-Ansatz, um den App-Lebenszyklus zu sichern

Implementieren Sie Identity and Access Control-(IAM-)Policys, damit nur autorisierte Benutzer Daten aus den Streams erstellen, senden oder empfangen können. Wenden Sie das Prinzip der minimalen Erreichbarkeit auf den Endpunkt an, indem Sie den Zugriff auf Messaging-Endpunkte mit mTLS und Servicegateway sichern, wodurch der Zugriff aus dem Internet eingeschränkt wird. Datenverschlüsselung während der Übertragung und im Ruhezustand, um die Vertraulichkeit der Daten zu gewährleisten. Verwenden Sie Database Wallet, um Zugangsdaten für Verbindungen zur Datenbank zu sichern.

Architektur

Die konvergierte Datenbankarchitektur bietet ein Design, um Messaging-Muster in modernen Anwendungen zu realisieren. Dieses Muster verwendet Transactional Event Queues (TEQ), die in die Oracle Autonomous Database integriert sind.

Diese Architektur bietet Einfachheit, indem sie die Verwendung externer Streaming- oder Queueing-Services überflüssig macht, und bietet transaktionale Messaging-Funktionen, die gängige Microservice-Muster vereinfachen.

Konvergierte Datenbankarchitektur – Abbildung

Anwendungsarchitekten sollten die Skalierbarkeit, Performance und Einfachheit dieser Architektur berücksichtigen:

  • Verwenden Sie Transactional Event Queues (TEQ) in der Oracle Database für asynchrones Messaging
    Die konvergierte Oracle Database kombiniert Daten- und Nachrichtenverarbeitung in einer skalierbaren Infrastruktur, die das Lebenszyklusmanagement und die Sicherheit für alle darin enthaltenen Daten und Nachrichten in der Datenbank vereinfacht. Die Verarbeitung von Daten ist näher am Datenspeicher. Dies bietet eine bessere Performance, höhere Sicherheit, einfachere Upgrades und Wartungsarbeiten im Vergleich zur Verwaltung einer separaten Messaging-Infrastruktur.

    Transactional Event Queues in der Datenbank vereinfachen den Aufbau von Microservices, indem sie Transaktionen über Messaging- und Datenbankvorgänge hinweg bereitstellen. Das Transaktions-Outbox-Muster wird implizit ohne zusätzlichen Code unterstützt und mit exakt einmaliger Benachrichtigung macht es das Schreiben von Anwendungen einfacher. Netzwerk- oder Serverausfälle können mit Transaktions-Rollbacks leicht behoben werden.
  • Oracle TEQ-Messaging mit hohem Durchsatz kann auf bis zu 1 Billion Nachrichten pro Tag skaliert werden
    Für die anspruchsvollsten Messaging-Workloads bietet Oracle TEQ eine hohe Durchsatzleistung mit einem In-Memory-Accelerator-Cache, der für Enqueue- und Dequeue-Vorgänge verwendet wird. TEQ unterstützt sowohl kleine Nachrichten, die in der Ereignisverarbeitung typisch sind, als auch größere Payloads im Zusammenhang mit Geschäftsabläufen. Größere Nachrichten werden von TEQ unterstützt, indem die Nutzlast von der Metadatenverwaltung im Nachrichtencache getrennt wird.
  • Oracle TEQ fungiert auch als Event-Mesh
    Neben Messaging arbeitet TEQ auch mit Kafka als sicheres Event-Mesh zusammen und transportiert das richtige Ereignis in Echtzeit für Unternehmensanwendungen, die auf der Cloud basieren. Die Ereignisumwandlung wird durch eine integrierte Regel-Engine und die Ereignisverarbeitung mit Callback-Mechanismen unterstützt, die sowohl beim Einreihen als auch beim Ausreihen von Nachrichten verfügbar sind. Diese Callback-Mechanismen können Java-, PL/SQL- oder OCI-Funktionen ausführen.

    TEQ kann Kafka Connectors verwenden, um mit einer Vielzahl von Ereignisproduzenten und -konsumenten zu interagieren. Dadurch wird ein Event-Mesh erstellt und bildet das Rückgrat für eine skalierbare Umgebung für die Microservices-Anwendungsentwicklung im gesamten Unternehmen.
  • Oracle TEQ vereint das Beste aus JMS-Messaging und Kafka-ähnlichem Pub/Sub auf einer einzigen Plattform
    Implementieren Sie das Beste aus JMS-Messaging und Pub/Sub-Streaming in einem einzigen Messaging-System mit Oracle TEQ. Oracle TEQ ist ähnlich partitioniert wie Topics/Partitions von Kafka und ist die moderne Messaging-Engine der Wahl, die mit der konvergierten Oracle Database für die anspruchsvollsten datenintensiven, ereignisbasierten Anwendungen verwendet wird, die das Messaging-Muster für den Ereignisaustausch nutzt.

Anwendungsfälle

FedEx verwendet die Oracle E-Business Suite und den mit Oracle TEQ erstellten Business Event Manager für Debitoren der täglich zugestellten 15,5 Millionen Pakete.

  • FedEx hat die E-Business Suite mithilfe von Exadata Cloud Service auf Oracle Cloud Infrastructure verlagert. E-Business Suite-Workflows und Geschäftsereignissysteme basieren vollständig auf Oracle Advanced Queuing-(AQ-)Messaging.
  • Oracle AQ ist einfach zu verwenden und für High-Performance-Queues ist Oracle TEQ der leistungsstarke Drop-in-Ersatz mit mehreren Ereignisströmen pro Queue.

Mehrere Zwei-Faktor-Authentifizierungsszenarien (2-FA), die Einmalkennwörter (OTP) verwenden, werden von Oracle Transactional Event Queues aktiviert

  • 2-FA wird verwendet, um die Paketzustellung im Einzelhandel weltweit zu validieren. Nachrichten werden zur Authentifizierung von der Händler-App an die Kunden-App und die App des Zustellers gesendet.
  • 2-FA wird verwendet, um die Identität bei Bargeldabhebungen an Geldautomaten zu validieren. In diesem Fall tauschen die ATM-App, die Banking-App und das Handy des Kunden Nachrichten zur Authentifizierung aus.

Mehr entdecken

Erfahren Sie mehr über verwandte Ressourcen.

Low-Code – Richtlinie

Low-Code-Plattformen eignen sich hervorragend zum Erstellen opportunistischer Anwendungen in Zusammenarbeit mit geschäftlichen Stakeholdern, zum Erstellen von Datenberichts- und Analyse-Apps, zum Erweitern von SaaS-Apps und zur Modernisierung von Legacy-Anwendungen. Jeder Codezeile sind Kosten zugeordnet, um sie zu verfassen, zu verwalten, zu debuggen, zu aktualisieren und zu sichern. Mit Oracle Application Express (APEX) können Entwickler diese Kosten vermeiden, indem sie hochwertige Komponenten und gängige Designmuster über eine intuitive und grafische Entwicklungserfahrung bereitstellen.

Low-Code-Plattformen ermöglichen Ihnen, Unternehmensanwendungen schneller als mit herkömmlicher Handcodierung zu erstellen. Diese Plattformen eignen sich hervorragend zum Erstellen opportunistischer Anwendungen in Zusammenarbeit mit geschäftlichen Stakeholdern, zum Erstellen von Datenberichts- und Analyse-Apps, zum Erweitern von SaaS-Apps und zur Modernisierung von Legacy-Anwendungen.

Mit Low-Code-Plattformen können Sie sich der Lösung Ihres Geschäftsproblems widmen, anstatt sich auf die Komplexität der Entwicklung von Webanwendungen zu konzentrieren. Zu diesen Komplexitäten gehören Sicherheit, Zugänglichkeit, effizienter Datenzugriff, Performance und Globalisierung. Low-Code-Plattformen eliminieren diese Komplexität, indem sie die Menge an Code, die Sie pflegen müssen, drastisch reduzieren.

Oracle Application Express (APEX) hilft Entwicklern, die mit der traditionellen App-Entwicklung verbundenen Kosten zu vermeiden, indem es Ihnen über eine intuitive grafische Entwicklungsumgebung High-Level-Komponenten und allgemeine Designmuster zur Verfügung stellt.

Oracle Cloud Infrastructure (OCI) bietet die sichere, zuverlässige, skalierbare und leistungsstarke Infrastruktur, die für die anspruchsvollsten Anwendungen erforderlich ist. Diese Anwendungen können so skaliert werden, dass sie alles von kleinen Arbeitsgruppen bis hin zu Millionen von Endbenutzern unterstützen. In diesem Dokument werden die Designprinzipien und der optimale Implementierungspfad für die Architektur einer Low-Code-Anwendung beschrieben.

Designprinzipien

Verwenden Sie bei der Implementierung eines Low-Code-Musters die folgenden Designprinzipien für die moderne Anwendungsentwicklung:

Nutzung von vollständig verwalteten Services, um die Komplexität in Bezug auf Anwendungsentwicklung, Laufzeiten und Datenmanagement zu beseitigen

Setzen Sie bei der Entwicklung von Anwendungen einen metadatengesteuerten Low-Code-Ansatz ein. Geben Sie die Anwendungslogik nach Möglichkeit deklarativ an und schreiben Sie Code nur dort, wo dies erforderlich ist. Mithilfe von SQL können Sie direkt mit Daten in der Datenbank interagieren Außerdem können Sie vollständig verwaltete Services wie Oracle Autonomous Database und Oracle APEX Application Development (APEX Service) nutzen, die die Verfügbarkeit und Skalierbarkeit maximieren können, um die sich ändernden Anforderungen Ihrer Low-Code-Apps zu bewältigen. Darüber hinaus stellen Datenbankfunktionen wie Oracle Real Application Clusters (RAC) und Oracle Data Guard sicher, dass Ihre Low-Code-Apps rund um die Uhr verfügbar sind und ein Failover durchführen können, wenn im Data Center, in dem die Infrastruktur gehostet wird, etwas ausfällt.

Automatisierung von Erstellung, Tests und Bereitstellung

Verwenden Sie den OCI Resource Manager, um die Bereitstellung von Oracle Autonomous Databases und APEX-Umgebungen zu automatisieren. Mit Oracle SQL Developer Command Line (SQLcl) mit Liquibase können Sie das Deployment von Datenmodelländerungen automatisieren. Außerdem können Sie mit dem APEX-One-Click-Anwendungs-Deployment Änderungen zwischen Umgebungen manuell bereitzustellen.

Die Anwendungsebene zustandslos halten

Oracle APEX ist zustandslos und serverlos, und der Status der Laufzeitanwendung wird in Tabellen gespeichert, sodass Verbindungen benutzerübergreifend wiederverwendet werden können. Dies führt zu weitaus weniger Verbindungen, die viele gleichzeitige Benutzerzugriffe unterstützen können.

Konvergierte Datenbank mit vollständiger Unterstützung für alle Daten

Low-Code-Anwendungen müssen häufig mit Daten in verschiedenen Formaten arbeiten, z. B. strukturiert (relational), unstrukturiert (XML/JSON-Dokumente) und räumlich. Da APEX in die Autonomous Database eingebettet ist, können Sie SQL, PL/SQL und serverseitiges JavaScript verwenden, um mit all diesen Datenformaten zu arbeiten. Aufgrund der einzigartigen Architektur von APEX profitieren Apps außerdem von latenzfreiem Datenzugriff, was eine optimale Performance ermöglicht.

End-to-End-Überwachung und -Nachverfolgung von Instrumenten

Überwachen und verfolgen Sie die APEX-Anwendungsaktivität mithilfe der integrierten Aktivitätsüberwachungsfunktionen, die detaillierte Tracing- und Debugginginformationen auf Benutzerebene enthalten. Prüfen Sie die Aktivität auf Workspace- und Instanzebene über APEX Administration Services. Mit Performance Hub können Sie die Datenbankaktivität überwachen, automatische AWR-(Workload Repository-)Berichte prüfen, um die Top-Ressourcennutzer zu identifizieren und Optimierungsempfehlungen zu ermitteln.

Single Point of Failure durch automatisierte Datenreplikation und Fehlerwiederherstellung eliminieren

APEX auf Oracle Autonomous Database wird mithilfe einer hochverfügbaren Architektur bereitgestellt, die die Datenebene (Exadata und RAC) und die mittlere Ebene (redundante Oracle REST Data Services-Knoten) umfasst. Mit Autonomous Data Guard können Sie die Verfügbarkeit Ihrer Apps weiter erhöhen, um sich vor Availability-Domain-Ausfällen zu schützen.

Implementieren Sie einen Defense-in-Depth-Ansatz, um den App-Lebenszyklus zu sichern

Verwenden Sie OCI Identity and Access Management (IAM) für Authentifizierungsschemata für Ihre APEX-Anwendungen. Weisen Sie Autorisierungsschemata APEX-Apps und -App-Komponenten zu, um die Zugriffskontrolle basierend auf Benutzerrolle oder -berechtigung zu erzwingen. Außerdem können Sie die integrierten deklarativen Funktionen von APEX nutzen, um Session State Protection (SSP) und Verschlüsselung auf Elementebene zu handhaben, sodass Sie Ihre Apps und Daten schützen. In SQL-Abfragen sollten Sie Bind-Variablen verwenden, um eine SQL-Injection zu verhindern. Konfigurieren Sie App-geeignete Timeouts, um sicherzustellen, dass inaktive Sessions automatisch beendet werden. Durch die Ausführung des integrierten APEX Advisors können Sie potenzielle Sicherheitsrisiken wie ungeschützte Seiten, Elemente und Schaltflächen erkennen. Verwenden Sie APIs für deklaratives Escaping und programmgesteuertes Escaping, um sich vor Cross-Site-Scripting (XSS) zu schützen.

Architektur

Diese Architektur dient zur Entwicklung und Bereitstellung von Low-Code-Anwendungen mit Oracle APEX Application Development (APEX-Service) und allen Oracle Autonomous Database-Services. Durch die Bereitstellung dieser Services werden alle für den vollständigen Stack erforderlichen Komponenten automatisch bereitgestellt und vollständig verwaltet. Zu diesen Komponenten gehören Gateways, Load Balancer und Oracle REST Data Services.

Low-Code-Architektur

Diese Abbildung zeigt die Architektur, die der Entwicklung und Bereitstellung von Low-Code-Anwendungen mit Oracle APEX Application Development und allen Oracle Autonomous Database-Services zugrunde liegt. Sie zeigt eine vollständig verwaltete Umgebung mit einem öffentlichen und einem privaten Subnetz. Außerhalb der vollständig verwalteten Umgebung befinden sich diese Services: APEX Applications, Oracle REST Data Services APIs und externe REST APIs. Diese Services greifen über ein Internetgateway oder ein NAT-Gateway auf die vollständig verwaltete Umgebung zu.

Das öffentliche Subnetz enthält einen Load Balancer, während das private Subnetz eine Oracle REST Data Services-Instanz und eine Oracle Autonomous Database enthält, auf der sich eine Instanz von Oracle APEX auf Autonomous Database befindet.

Der Datenverkehr von den APEX-Anwendungen und den Oracle REST Data Services-APIs wird über ein Internet-Gateway zum Load Balancer geleitet, der ihn bidirektional an die Oracle REST Data Services-Instanz im privaten Subnetz weiterleitet. Dieser Service wiederum kommuniziert bidirektional mit Oracle Autonomous Database. Der Datenverkehr von der Oracle APEX-Instanz auf Autonomous Database wird über ein NAT-Gateway direkt an die externen REST-APIs weitergeleitet.

Alle Anwendungsartefakte werden auf der Datenbankebene bereitgestellt. Dies ermöglicht den Datenzugriff ohne Latenz, da kein Netzwerkverkehr zwischen der Anwendungs- und Datenbankebene erforderlich ist.

  • Gateways und Load Balancer
    Diese Infrastruktur wird automatisch bereitgestellt, vollständig verwaltet und unterstützt den Zugriff auf die APEX-Services. Diese Services sind für den Low-Code-APEX-Anwendungsentwickler vollständig transparent.
  • Oracle APEX
    Oracle APEX auf Autonomous Database bietet eine vorkonfigurierte, vollständig verwaltete und sichere Umgebung für die Entwicklung und das Deployment von Anwendungen.
  • Autonomous Database
    Oracle Autonomous Database ist ein selbststeuernder, selbstsichernder und selbstreparierender Datenbankservice, der für Transaktionsverarbeitungs-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren bzw. verwalten oder Software installieren. OCI erstellt die Datenbank und verwaltet Backups, Patches, Upgrades und Optimierung. Autonomous Database bietet eine konvergierte Datenbank, mit der Sie alle diese Datentypen speichern, indizieren, durchsuchen und bearbeiten können.
  • Oracle REST Data Services
    Oracle REST Data Services (ORDS) schließt die Lücke zwischen HTTPS und Ihrer Oracle Database. ORDS ist eine Java-Anwendung der mittleren Ebene und bietet eine Datenbankmanagement-REST-API, SQL Developer Web, ein PL/SQL-Gateway zu APEX-Anwendungen, und die Möglichkeit, RESTful Web Services für die Interaktion mit den Daten und gespeicherten Prozeduren in Oracle Database zu veröffentlichen.

Andere Faktoren

Bei der Implementierung eines Low-Code-Musters sollten Sie außerdem Folgendes berücksichtigen:

  • Anwendungen, die mit APEX entwickelt wurden, können in externe Services und Systeme integriert werden, indem sie REST-APIs direkt verwenden oder REST-Daten automatisch lokal synchronisieren.
  • Sie können die in APEX entwickelte Funktionalität auch als REST-APIs für die externe Nutzung veröffentlichen, indem Sie den integrierten REST Data Workshop und Oracle REST Data Services verwenden.

Alternativen und Antipattern

Betrachten Sie die Alternativen zu der in diesem Muster beschriebenen Architektur und vermeiden Sie den Versuch, Antipattern zu implementieren.

  • Alternativen
    Es ist üblich, Low-Code-Anwendungen mit High-Control-Technologien für bestimmte Spezialfälle zu erweitern. Verwenden Sie für die Komponenten Ihrer Anwendung, die nicht für die Low-Code-Anwendungsentwicklung geeignet sind, Java- oder JavaScript-Anwendungen, um auf dieselben Daten zuzugreifen und einen gemeinsamen, einzelnen Datenspeicher zu ermöglichen. Dieses Muster bietet die Flexibilität, die am besten geeignete Technologie für den spezifischen Anwendungsfall zu verwenden und Low-Code für den Rest.
  • Antipattern
    Wir empfehlen, die meisten Geschäftsanwendungen nicht von Hand zu codieren. Die Entwicklung einer opportunistischen Anwendung ist mit zahlreichen Komplexitäten verbunden, darunter Sicherheit, Zugänglichkeit, effizienter Datenzugriff, Performance und Globalisierung. Diese Komplexitäten können jedoch durch den Einsatz von Low-Code-Plattformen effizienter angegangen werden.

Anwendungsfälle

Einige Beispiele für die Wirksamkeit eines Low-Code-Musters sind:

  • Opportunistische Anwendungen
    Wenn sich eine neue Geschäftsmöglichkeit ergibt, muss manchmal schnell eine neue Anwendung erstellt werden. Unternehmen haben einen riesigen Rückstand an Apps, die erforderlich sind, um sich ändernden Geschäftsanforderungen gerecht zu werden und wettbewerbsfähig zu bleiben. Dieser Rückstand kann schlecht definiert werden und die Geschäftsprioritäten können sich schnell ändern, sodass die schnelle Erstellung und nach Bedarf die einfache Aktualisierung der Anwendungen möglich sein muss. Solche Anwendungen können mit APEX einfach erstellt und gewartet werden.
  • Datenreporting und -analyse
    Es ist oft schwierig, ein vollständiges, genaues Bild innerhalb einer Organisation oder sogar innerhalb einer Abteilung zu erhalten. Daten werden in zahlreichen Systemen gespeichert, vorhandene Berichte sind begrenzt und liefern nicht immer die Details, die für fundierte Geschäftsentscheidungen erforderlich sind. Es ist schwer einzuschränken, wer was sehen kann, und Datenschutzverletzungen zu vermeiden, und das Ausführen von vorgefertigten Berichten kann Stunden dauern. Durch die Verwendung von APEX und den umfangreichen Reporting- und Datenvisualisierungsfunktionen können Sie für verschiedene Benutzercommunitys ganz einfach entsprechende Dashboards entwickeln.
  • SaaS- und EBS-Erweiterungen
    ERP-Systeme bieten umfangreiche Funktionen, aber sie liefern nicht immer die spezifischen Berichte, die Sie benötigen, oder es fehlen möglicherweise Funktionen, die für Ihre Branche oder Ihr Unternehmen spezifisch sind. Möglicherweise haben Sie auch allgemeine Geschäftsprozesse, für deren Abschluss zu viele Schritte erforderlich sind, was sie wiederum ineffizient macht. In solchen Fällen kann das Erstellen einer Erweiterung mithilfe von APEX die entsprechenden Informationen liefern oder die Produktivität und Benutzererfahrung erheblich verbessern.
  • Modernisierung älterer Anwendungen
    Oracle Forms-Anwendungen bieten oft eine veraltete Client/Server-Benutzererfahrung. Diese veralteten Systeme haben oft Probleme mit der Benutzerfreundlichkeit und Zugänglichkeit, funktionieren oft nicht mit jedem Browser und sind nicht für Mobilgeräte optimiert. Oracle APEX ist die eindeutige Plattform der Wahl für die einfache Umstellung von Oracle Forms-Anwendungen auf moderne Web-Apps. Dieselben gespeicherten Prozeduren und PL/SQL-Pakete funktionieren nativ in APEX, was die Entwicklung zu einem Kinderspiel macht.
  • Ersatz für Tabellenkalkulationen
    Fast jede Organisation verwendet Tabellenkalkulationen, um Daten zu verbreiten und darüber zu berichten. Woran liegt das? Der Grund dafür ist die einfache Art und Weise wie Tabellenkalkulationen erstellt werden können. Jeder kann eine Tabellenkalkulation zusammenstellen, wenn die notwendigen Daten vorhanden sind. Nachdem sie erstellt wurden, werden Tabellenkalkulationen oft an Kollegen geschickt, sodass diese bei der Aktualisierung unterstützen können. Dies führt allerdings unweigerlich zu zahlreichen Kopien mit unterschiedlichen Daten und fehlerhaften Geschäftsprozessen. Eine weitaus bessere Lösung besteht darin, eine einzige Datenquelle in einer vollständig gesicherten Datenbank mit einer browserbasierten App zu speichern, mit der jeder die Daten pflegen kann.

Mehr entdecken

Erfahren Sie mehr über verwandte Ressourcen.

KI/ML – Richtlinie

Big Data ist eine Gruppe von Funktionen und Mustern, mit denen Sie alle Datentypen (unstrukturiert, halbstrukturiert und strukturiert) verwalten, erfassen, speichern, katalogisieren, vorbereiten, verarbeiten und analysieren können. Dabei spielt es keine Rolle, ob sie aus Quellen wie Datenbanken, Videos, Formularen, Dokumenten, Logdateien, Webseiten oder Bildern stammen. Darüber hinaus sollte eine Plattform für maschinelles Lernen vollständig verwaltet werden und es Data Engineers und Data Scientists ermöglichen, alle diese Schritte im Lebenszyklus der Modellentwicklung durchzuführen.

Die Big-Data-Funktionen von Oracle umfassen verschiedene Services und Tools, damit Sie den Weg zu Big Data basierend auf Ihren Fähigkeiten und Vorlieben beginnen können. Mit der konvergierten Oracle Database wird eine Vielzahl von Daten in der Datenbank gespeichert und auf mehrere PB an Volumen skaliert – mit schneller Aufnahme von Daten und Ereignissen (mit transaktionalen Ereignis-Queues), wodurch der Schutz aller Daten mit einer integrierten Sicherheit gewährleistet wird. Die konvergierte Datenarchitektur adressiert mit Oracle Autonomous Database das Volumen, die Vielfalt, Geschwindigkeit und Richtigkeit von Daten in einer konvergierten Datenbankplattform.

Data Scientists und Machine Learning-Engineers möchten keine Zeit mit der Bereitstellung, dem Upgrade, dem Patchen und dem Sichern der Infrastruktur verbringen. Sie möchten ihre Zeit damit verbringen, Modelle zu entwickeln, zu trainieren und bereitzustellen, die sich auf das Unternehmen auswirken. Eine Plattform für maschinelles Lernen sollte vollständig verwaltet werden und ermöglichen, alle Schritte im Lebenszyklus der Modellentwicklung (Erstellen, Trainieren, Bereitstellen und Überwachen) durchzuführen. Daten, die für das maschinelle Lernen verwendet werden, sollten quellenunabhängig sein und Data Scientists den Zugriff auf konsistente und zuverlässige Daten zum Erstellen, Trainieren und Bereitstellen von Modellen ermöglichen.

Die meisten modernen Toolkits für maschinelles Lernen sind Open Source und in Python geschrieben. Daher sollte eine Plattform für maschinelles Lernen native Unterstützung für Open-Source-Frameworks und Python bieten. Außerdem sollten Benutzer in der Lage sein, ihre ML-Umgebungen anzupassen, indem sie entweder ihre eigenen Bibliotheken installieren oder die bereits installierten aktualisieren. Die Plattform sollte es Data Scientists ermöglichen, ihre Modelle mit strukturierten, unstrukturierten oder halbstrukturierten Daten zu trainieren, während sie die ETL-(Extrahieren, Transformieren und Laden)- oder Trainingsschritte vertikal oder horizontal über eine Reihe von Compute-Ressourcen skalieren.

Schließlich sollte eine Plattform für maschinelles Lernen sicherstellen, dass Modelle für den Echtzeitverbrauch mit minimaler Reibung (idealerweise über einen einfachen REST-Aufruf) einfach bereitgestellt werden können. Gleichzeitig wird die Herkunft des bereitgestellten Modells beibehalten, um sicherzustellen, dass es geprüft und reproduziert werden kann.

Designprinzipien

Verwenden Sie bei der Implementierung eines Big Data- und Analysemusters die folgenden Designprinzipien für die moderne Anwendungsentwicklung.

Nutzung von vollständig verwalteten Services, um die Komplexität in Bezug auf Anwendungsentwicklung, Laufzeiten und Datenmanagement zu beseitigen

Ihre Daten sind nur so wertvoll wie Ihre Fähigkeit, sie zu nutzen. Big-Data-Tools sind in der Open-Source-Community beliebt, und die meisten ihrer Funktionen verfügen über gleichwertige Funktionen in modernen Datenbanken, insbesondere in Bezug auf Data Warehousing, Analysen sowie Training und Bereitstellung von KI/ML-Modellen. Die konvergierte Oracle Datenbank ist eine solche Big-Data-Plattform.

Die nativen Premium-Funktionen von Oracle wie externe Tabellen von Oracle Autonomous Data Warehouse und SQL ermöglichen die Verwendung von Data Lakehouses in der Oracle Database und im OCI-Objektspeicher zum Speichern und Analysieren von Daten im Petabyte-Bereich in Echtzeit.

Automatisierung von Erstellung, Tests und Bereitstellung

DataOps ist wichtig, um sicherzustellen, dass Sie maximalen Nutzen aus Ihren Big-Data-Pipelines ziehen können. Mit dem Oracle Cloud Infrastructure Data Integration-Service können Sie Daten aufnehmen, ETL-Verarbeitung und ELT-Pushdown implementieren und Pipelines für die Verbindung von Aufgaben in einer Sequenz oder parallel erstellen, um einen Prozess zu vereinfachen. Pipelines können verschiedene beliebte Datenquellen innerhalb und außerhalb von Oracle Cloud enthalten. Außerdem können Sie Planungsfunktionen der Datenintegration verwenden, um zu definieren, wann und wie oft jede Aufgabe ausgeführt werden soll. Und mit Oracle Database Cloud Service Management Datenbankjobs definieren, die nach einem Zeitplan für eine Reihe von Datenbanken ausgeführt werden. Das Ganze können sie mit CI/CD-Pipelines und einheitlicher Observability für App-Entwickler erweitern.

Konvergierte Datenbank mit vollständiger Unterstützung für alle Daten

Nutzen Sie die besten Tools, mit denen Sie die Zusammenführung von Daten vereinfachen, automatisieren und beschleunigen können, um maximalen Geschäftswert zu erzielen. Für Data Warehouses, abteilungsbezogene Data Marts sowie Bereitstellungs- und Präsentationsschichten mit strukturierten Daten verwenden Sie eine Autonmous Database, die für diese Szenarien optimiert ist. Die autonome Data-Warehouse-Funktion bietet außerdem Konnektivität zu Analyse-, Business-Intelligence- und Reporting-Tools wie Oracle Analytics Cloud.

Implementieren Sie einen Defense-in-Depth-Ansatz, um den App-Lebenszyklus zu sichern

Planen Sie, Ihre Daten zu schützen. Verfolgen Sie alle Jobs, die Daten in Ihren Data Lake einbringen und aus diesem entnehmen, bewahren Sie Datenherkunftsmetadaten auf und stellen Sie sicher, dass die Zugriffssteuerungsrichtlinien aktualisiert werden.

Befolgen Sie das Prinzip der geringsten Berechtigungen, um sicherzustellen, dass Benutzer und Serviceaccounts nur die minimalen Berechtigungen haben, die zum Ausführen ihrer Aufgaben erforderlich sind. Kontrollieren Sie, wer Zugriff auf die Datenplattformkomponenten hat, indem Sie Oracle Cloud Infrastructure Identity and Access Management verwenden. Mit der Multi-Faktor-Authentifizierung in Oracle Cloud Infrastructure Identity and Access Management können Sie eine starke Authentifizierung für Administratoren erzwingen. Verwenden Sie Datenbanksicherheit mit Oracle Data Safe, um den Sicherheitsstatus aller Daten, Benutzer und Zugriffsmuster zu erhalten. Speichern Sie vertrauliche Informationen wie Passwörter und Authentifizierungstoken in einem Vault-Service.

Architektur

Verwenden Sie eine skalierbare konvergierte Datenbank (Transaktionsverarbeitung und Data Warehouse), um das Unternehmen zu betreiben, das Daten generiert, speichert und alle Arten von Daten analysiert. In dieser Architektur speisen verschiedene Datenquellen (Endbenutzer, Geräte, Ereignisse, Sensoren und Anwendungen) Daten in die Datenbank durch Datenintegration (Oracle GoldenGate) und Oracle Transactional Event Queues für Streaming-Daten. Die Daten werden in Oracle Autonomous Database (Oracle Autonomous Transaction Processing und Oracle Autonomous Data Warehouse) zusammen mit dem OCI Object Store-Support für Big Data mit SQL und externen Tabellen gespeichert. Verwenden Sie Oracle Machine Learning zum Erstellen und Bereitstellen von Modellen, und verschaffen Sie sich mit Oracle Analytics Cloud Einblicke in die Daten.

Oracle Machine Learning (OML Notebooks, OML AutoML UI, OML Services, OML4Py) auf Oracle Autonomous Database zum Untersuchen und Vorbereiten von Daten sowie zum Erstellen, Bewerten und Bereitstellen von Modellen für maschinelles Lernen.

Dieses Architekturmuster bietet leistungsstarke Funktionen, wenn die zum Trainieren des Modells erforderlichen Daten in die Datenbank gebracht werden und die Verarbeitung in der Nähe der Daten erfolgt. Dieses Muster enthält eine Vielzahl von Datenquellen und Ereignissen, die mit der Daten-Exploration für OML-Schulungen untersucht und vorbereitet werden können. Außerdem können Sie mit OML Modelle mit SQL, Python mit OML4Py oder ohne Code AutoML erstellen, trainieren und bereitstellen. Importieren Sie anderswo trainierte Modelle wie OCI Data Science (z. B. Tensorflow oder PyTorch) mit OML-Services unter Verwendung des ONNX-Modellformats.

Dieses Muster verwendet den Ansatz „Verschieben der Algorithmen zu den Daten“. Alle Daten werden an ihrer Quelle (mit externen Tabellen) aufgerufen oder erfasst, und anschließend verarbeitet und in einer konvergierten Datenbank für ML-Modelle gespeichert. Sobald die Modelle in der Datenbank trainiert wurden, können sie direkt mithilfe von SQL-Abfragen (unter Verwendung von PREDICTION-Operatoren) oder mit OML4Py-APIs bereitgestellt werden. Extern trainierte Modelle können mithilfe von OML Services bereitgestellt werden. Darüber hinaus ist in der Autonomous Database maschinelles Lernen für die Text-, Raum- und Diagrammanalyse verfügbar.

KI/ML-Architektur

Diese Architektur verwendet die folgenden Komponenten:

  • Autonomous Database
  • OCI-Datenkatalog
  • Oracle Machine Learning (OML) – mit SQL, OML4Py
  • OML-Services
  • Oracle Transactional Event Queues (TEQ)
  • GoldenGate Data Integration
  • Oracle Spatial Studio
  • Oracle Graph Studio
  • Oracle Text

Folgende Datenquellen werden abgedeckt:

  • Unternehmensanwendungen
  • Geräte
  • Endbenutzer
  • Veranstaltungen
  • Sensoren
  • Alle digitalen Assets

Diese Architektur enthält die folgenden Komponenten im VCN:

  • Virtuelles Cloud-Netzwerk (VCN)
    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Genau wie bei herkömmlichen Data-Center-Netzwerken geben Ihnen VCNs die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke haben, die Sie ändern können, nachdem Sie das VCN erstellt haben. Sie können ein VCN in Subnetze segmentieren, die auf eine Region oder eine Availability-Domain begrenzt werden können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
  • Datenintegration
    Oracle Cloud Infrastructure Data Integration ist ein vollständig verwalteter, serverloser Cloud-Service, der Daten für Data Science und Analysen aufnimmt und transformiert. Mit dem Service können Sie komplexe ETL- und ELT-Vorgänge in Data Lakes und Warehouses mit dem modernen, codefreien Datenflussdesigner von Oracle vereinfachen. Sie können einen der gebrauchsfertigen Operatoren (wie z. B. Join, Aggregate oder eine Expression) verwenden, um Ihre Daten zu formen.
  • Oracle Cloud Infrastructure Transactional Event Queues (TEQ) in ADB
    Oracle Transactional Event Queues in einer autonomen Datenbank bieten datenbankintegrierte Message Queuing-Funktionalität. Diese hochgradig optimierte und partitionierte Implementierung nutzt die Funktionen der Oracle Database, sodass Erzeuger und Verbraucher Nachrichten mit hohem Durchsatz austauschen können, indem Nachrichten dauerhaft gespeichert und Nachrichten zwischen Queues in verschiedenen Datenbanken weitergegeben werden. Oracle Transactional Event Queues sind eine partitionierte leistungsstarke Implementierung mit mehreren Ereignisstreams pro Queue.
  • Oracle Autonomous Database
    Oracle Autonomous Database ist ein selbststeuernder, selbstsichernder und selbstreparierender Datenbankservice, der für Data Warehousing-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren bzw. verwalten oder Software installieren. Oracle Cloud Infrastructure übernimmt die Erstellung der Datenbank.

    Dieser Cloud-Data Warehouse-Service beseitigt alle Komplexitäten beim Betreiben eines Data Warehouse, beim Sichern von Daten und beim Entwickeln von datengesteuerten Anwendungen. Er automatisiert Bereitstellung, Konfiguration, Schutz, Optimierung, Skalierung und Sicherung des Data Warehouse. Es enthält Tools für das einfache Self-Service-Laden von Daten, Datentransformationen, Geschäftsmodelle und automatische Einblicke sowie integrierte konvergierte Datenbankfunktionen, die einfachere Abfragen über mehrere Datentypen hinweg und eine Machine Learning-Analyse ermöglichen.
  • OCI Object Storage
    Object Storage ermöglicht einen schnellen Zugriff auf große Mengen strukturierter und unstrukturierter Daten von beliebigen Inhaltstypen, darunter Datenbankbackups, Analysedaten und umfangreiche Inhalte wie Bilder und Videos. Sie können Sie Daten sicher speichern und dann direkt aus dem Internet oder über die Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne dass dies zu einer Beeinträchtigung der Performance oder Servicezuverlässigkeit führt. Verwenden Sie Standardspeicher als „Hot Storage“, auf den Sie schnell, sofort und häufig zugreifen müssen. Und nutzen Sie den Archivspeicher als „Cold Storage“, den Sie über lange Zeiträume beibehalten und selten oder kaum aufrufen.

    Diese hochleistungsfähige Speicherplattform im Internetmaßstab bietet eine zuverlässige und kosteneffiziente Dauerhaftigkeit der Daten. Mit dem Object Storage-Service können Sie beliebig viele unstrukturierte Daten eines beliebigen Inhaltstyps speichern. Dazu gehören Analysedaten und umfangreiche Inhalte, wie Bilder und Videos.
  • Oracle Machine Learning auf Oracle Autonomous Database
    Oracle Machine Learning auf Oracle Autonomous Database (Autonomous Transaction Processing und Autonomous Data Warehouse). Neben der räumlichen und grafischen Verarbeitung ermöglicht ML viele Anwendungsfälle wie die Vereinfachung des Routings für die Paketzustellung und die schnelle Erkennung von Anomalien bei Maßnahmen zur Bekämpfung der Geldwäsche.
  • Oracle Analytics Cloud
    Diese erstklassige Plattform für moderne Analysen in der Cloud unterstützt Geschäftsanalysten und Verbraucher. Oracle Analytics Cloud bietet moderne KI-gesteuerte Selfservice-Analysefunktionen für Datenvorbereitung, -erkennung und -visualisierung, intelligentes Unternehmens- und On-Demand-Reporting sowie erweiterte Analysen und die Verarbeitung und Generierung natürlicher Sprache. Ganz gleich, ob Sie Business Analyst, Data Engineer, Citizen Data Scientist, Abteilungsleiter, Domänenexperte oder Führungskraft sind, Oracle Analytics Cloud hilft Ihnen dabei, Daten in Erkenntnisse umzuwandeln.
  • Analysen, ML und benutzerdefinierte Anwendungen
    Analyseservices, Oracle Machine Learning und benutzerdefinierte Anwendungen, mit denen Big Data katalogisiert, vorbereitet, verarbeitet und analysiert wird.
  • OCI Data Catalog
    Oracle Cloud Infrastructure Data Catalog ist eine vollständig verwaltete Selfservice-Lösung für die Datenerkennung und -Governance Ihrer Unternehmensdaten. Die Lösung bietet Data Engineers, Data Scientists, Data Stewards und Chief Data Officers eine einheitliche Umgebung für die gemeinsame Verwaltung der technischen, geschäftlichen und betrieblichen Metadaten des Unternehmens.

    Oracle Cloud Infrastructure Data Catalog ist ein Metadaten-Managementservice, mit dem Datenprofis Daten erkennen und Daten-Governance unterstützen können.
  • Oracle GoldenGate
    Dieser vollständig verwaltete Service bietet eine protokollbasierte Change Data Capture-(CDC-) und Replikationssoftwareplattform in Echtzeit, um die Anforderungen der heutigen transaktionsgesteuerten Anwendungen zu erfüllen. Die Software ermöglicht die Erfassung, Weiterleitung, Transformation und Bereitstellung von Transaktionsdaten in heterogenen Umgebungen in Echtzeit.

Überlegungen und Antipattern

Berücksichtigen Sie Folgendes für Big Data und Analysen.

  • Datenkopien und -bewegungen reduzieren
    Datenbewegungen sind kostspielig, verbrauchen Ressourcen und Zeit und können die Datentreue beeinträchtigen. Wählen Sie je nach Datentypen, Datenqualität und erforderlichen Transformationen den richtigen Service zum Speichern und Verarbeiten Ihrer Daten. Verwenden Sie die konvergierte Oracle Database für Ihren Data Lake-Speicher für alle Arten von Rohdaten, und verwalten Sie in Echtzeit bis zu mehreren Petabyte an Betriebs- und Analysedaten. Diesen Speicher können Sie mit einem geeigneten Objektspeicher erweitern. Mit Oracle Autonomous Data Warehouse können Sie transformierte Daten für die Präsentation speichern. Die Verwendung des richtigen Speichers hilft Ihnen, das Kopieren und Verschieben von Daten zu vermeiden und doppelte Datenkopien zu reduzieren, die schwer zu warten und zu synchronisieren sind.
  • Stellen Sie Ihren Benutzern die erforderliche Datenschnittstelle bereit
    Unternehmensdaten- und Analyseplattformen haben viele Benutzertypen: Data Engineers, Data Analysts, Anwendungsentwickler, Big Data Engineers, Datenbankadministratoren, Business Analysts, Data Scientists, Data Stewards und andere Nutzer. Sie alle haben unterschiedliche Bedürfnisse und Präferenzen für die Nutzung von Daten. Es ist wichtig, dass Sie alle Anwendungsfälle und Anforderungen von Datennutzern kennen. Verwenden Sie Autonomous Data Warehouse für SQL-Abfragen und die Schnittstelle zu Business Intelligence-Tools.

Berücksichtigen Sie diese Optionen bei der Implementierung von maschinellem Lernen und künstlicher Intelligenz.

  • Bieten Sie horizontale Skalierbarkeit bei jedem Schritt im Lebenszyklus der Modellentwicklung. Und bieten Sie horizontale Skalierbarkeit für die ETL- und Datenverarbeitungsschritte, das Modelltraining selbst und die Modellbereitstellung. Außerdem sollten Sie die Reproduzierbarkeit des Modells sicherstellen. Modelle werden geprüft und müssen reproduziert werden. Für die Reproduktion eines Modells müssen beim Speichern eines Modells Referenzen auf Quellcode, Trainings- und Validierungs-Datasets und die Umgebung (Bibliotheken und Architektur von Drittanbietern) bereitgestellt werden. Verwenden Sie Verweise auf Git-Repositorys und Commit-Hashes zum Verfolgen von Code. Mit Object Storage können Sie Snapshots von Trainings- und Validierungs-Datasets speichern.
  • Versionskontrollcode, -funktionen und -modelle. Diese Überlegung bezieht sich auf die Reproduzierbarkeit des Modells.
  • Laufzeitabhängigkeiten von Drittanbietern verpacken, teilen und wiederverwenden. Verwenden Sie dieselben Python-Notebooks, -Jobs und -Modell-Deployments wieder. Dadurch wird auch das Risiko von Drittanbieter-Abhängigkeitskonflikten zwischen diesen Schritten minimiert.
  • Seien Sie datenquellenunabhängig und beschränken Sie gleichzeitig die Datenübertragung. Das Übertragen von Daten in eine Modelltrainingsumgebung ist zeitaufwendig. Verwenden Sie so weit wie möglich Daten in der Datenbank, die über Notebook-Umgebungen oder Trainingjobs hinweg gemeinsam genutzt werden können. Und bewahren Sie lokale Dataset-Snapshots für Modelltrainings- und -validierungszwecke auf.

Antipattern

Beachten Sie beim Entwerfen einer Implementierung Folgendes:

  • Die Nichtverwendung einer konvergierten Datenbank führt zu Datenfragmentierung, Kopienkontamination und Datensicherheitsrisiken.
  • Fehlende Datenkatalogisierung und Governance können Data Lakes in Datensümpfe verwandeln.

Alternativen und Antipattern

Betrachten Sie die Alternativen zu der in diesem Muster beschriebenen Architektur und vermeiden Sie den Versuch, Antipattern zu implementieren.

  • Alternativen
    Es ist üblich, Low-Code-Anwendungen mit High-Control-Technologien für bestimmte Spezialfälle zu erweitern. Verwenden Sie für die Komponenten Ihrer Anwendung, die nicht für die Low-Code-Anwendungsentwicklung geeignet sind, Java- oder JavaScript-Anwendungen, um auf dieselben Daten zuzugreifen und einen gemeinsamen, einzelnen Datenspeicher zu ermöglichen. Dieses Muster bietet die Flexibilität, die am besten geeignete Technologie für den spezifischen Anwendungsfall zu verwenden und Low-Code für den Rest.
  • Antipattern
    Wir empfehlen, die meisten Geschäftsanwendungen nicht von Hand zu codieren. Die Entwicklung einer opportunistischen Anwendung ist mit zahlreichen Komplexitäten verbunden, darunter Sicherheit, Zugänglichkeit, effizienter Datenzugriff, Performance und Globalisierung. Diese Komplexitäten können jedoch durch den Einsatz von Low-Code-Plattformen effizienter angegangen werden.

Anwendungsfälle

Im Folgenden finden Sie Beispielimplementierungen, die Daten- und Analyseservices von Oracle Cloud Infrastructure (OCI) verwenden, um Big Data zu erfassen, zu speichern, zu katalogisieren, vorzubereiten, zu verarbeiten und zu analysieren.

  • Data Warehousing und Geschäftsanalysen

    Verwenden Sie Oracle Autonomous Data Warehouse als Data Warehouse oder Data Mart mit Oracle Analytics Cloud.

    • Data Integration nimmt Daten aus den beabsichtigten Quellen auf. Die Art der verwendeten Datenintegration hängt davon ab, ob es sich bei den Daten um Batch-, Streaming- oder synchronisierte Datenbankeinträge handelt und ob sich die Daten On-Premises oder in der Cloud befinden.
    • Daten können für den gemeinsamen Zugriff durch Cloud-Services und zur Verarbeitung an den Objektspeicher geliefert werden, bevor sie in Autonomous Data Warehouse oder Big Data gespeichert werden. Daten können auch direkt an Autonomous Data Warehouse geliefert und dann mithilfe von ELT-Funktionen transformiert werden, bzw. Datensätze aus anderen Datenbanken können direkt aufgenommen werden.
    • Oracle Analytics Cloud bietet die Visualisierung von Daten in der Datenbank, einschließlich der Ergebnisse des maschinellen Lernens. Oracle Analytics Cloud führt für die Datenflussverarbeitung einen Pushdown in Autonomous Data Warehouse durch.
    • Die Object Storage-Nutzung ist für die aktive Archivierung oder Datenfreigabe optional. In einem aktiven Archiv werden weniger häufig verwendete Daten von ADW auf eine kostengünstigere Speicherebene (Object Storage) verschoben. Die Daten können weiterhin aus Object Storage abgefragt werden, die Performance ist jedoch langsamer. Darüber hinaus kann Object Storage zum Speichern von Daten verwendet werden, die von Cloud-Services gemeinsam genutzt werden.
    • Oracle Cloud Infrastructure Data Catalog sammelt Metadaten aus Autonomous Data Warehouse- und Object Storage-Datenquellen. Sie interagieren mit Data Catalog, um den Katalog zu verwenden und zu verwalten.
  • Verwalten Sie mit einem Data Lake und einem Data Warehouse für ein Lake-House-Muster alle Arten von Daten.

    Verwalten Sie Daten in Autonomous Data Warehouse, und visualisieren Sie die Daten mit Oracle Analytics Cloud.

    • Data Integration nimmt Daten aus den beabsichtigten Quellen auf. Die Art der verwendeten Datenintegration hängt davon ab, ob es sich bei den Daten um Batch-, Streaming- oder synchronisierte Datenbankeinträge handelt und ob sich die Daten On-Premises oder in der Cloud befinden.
    • Daten können als konvergierte Oracle Database von Cloud-Services und für die Daten- und Ereignisverarbeitung bereitgestellt werden, da sie in Autonomous Data Warehouse gespeichert werden. Außerdem können Daten direkt an Autonomous Data Warehouse geliefert und dann mithilfe von ELT-Funktionen transformiert werden, bzw. Datensätze aus anderen Datenbanken können direkt aufgenommen werden.
    • Autonomous Data Warehouse kann Daten aus dem Object Storage abfragen oder Daten aus dem Object Storage mit SQL oder mithilfe von Oracle Cloud Infrastructure Data Integration erfassen.

Mehr entdecken

Erfahren Sie mehr über verwandte Ressourcen.