Häufig gestellte Fragen zu True Cache

Häufig gestellte Fragen – Themen

Überblick

Was ist Oracle True Cache?

Oracle True Cache ist ein konsistenter und automatisch verwalteter In-Memory-SQL-Cache für Oracle Database. Die Lösung arbeitet nahtlos in Ihrer Datenbankumgebung und speichert effizient häufig abgerufene Informationen, um die Antwortzeiten von Anwendungen deutlich zu verbessern. Oracle True Cache entlastet den Datenbankserver, indem es die Last der sich wiederholenden Datenanfragen übernimmt. Darüber hinaus optimieren die automatisierte Verwaltung und die konsequente Konsistenz die Anwendungsentwicklung und bieten Entwicklern einen kostengünstigen und vereinfachten Ansatz.

Welche Vorteile bietet Oracle True Cache?

Oracle True Cache bietet mehrere geschäftliche Vorteile in Bezug auf Anwendungsentwicklung und Performance.

  • Verbessert die Skalierbarkeit und Leistung durch Auslagerung von Abfragen aus der primären Datenbank.
  • Reduziert die Reaktionszeit der Anwendung und die Netzwerklatenz, indem True Cache näher an der Anwendung bereitgestellt wird. Dies ist besonders dann von Vorteil, wenn sich die Datenbank aufgrund von Anforderungen an die Datenresidenz an einem anderen Ort befindet als die Anwendung.
  • Erzeugt einen großen In-Memory-Speicherbereich durch Aufteilung der Daten auf mehrere True Caches. Die Gesamtgröße der zwischengespeicherten Daten über alle True Caches hinweg kann viel größer sein als bei einer einzelnen primären Datenbank oder einem einzelnen Cache.
  • Der Inhalt des Caches wird automatisch beibehalten.
  • Vereinfacht die Entwicklung und Wartung durch Transparenz für die Anwendung.

Funktionsweise von True Cache

Im Großen und Ganzen funktioniert Oracle True Cache folgendermaßen.

  • Eine Anwendung entscheidet, ob sie Daten aus dem True Cache oder der primären Datenbank abfragt.
  • True Cache erfüllt Abfragen, indem es Daten verwendet, die in seinem Speicher zwischengespeichert sind. Wenn sich die Daten nicht im Cache befinden, holt True Cache die Daten aus der primären Datenbank.
  • True Cache ist beim Start leer, daher werden große Datenpakete gelesen, um den Cache zu füllen. Nachdem ein Block zwischengespeichert wurde, wird er automatisch durch Redo Apply aus der primären Datenbank aktualisiert. Dies ähnelt dem Aktualisierungsmechanismus, der in Oracle Active Data Guard verwendet wird.
  • Eine Abfrage an True Cache liefert nur bestätigte Daten, und die Daten sind immer konsistent.
  • Wenn mehrere True Caches vorhanden sind und denselben Datenbankanwendungsservice bedienen, verteilt der Listener automatisch die Sessions auf die einzelnen Caches und sorgt für einen Lastausgleich.

Details zum Lebenszyklus

Wie werden die Daten in den Oracle True Cache geladen?

True Cache ist beim Start leer, daher werden große Datenpakete gelesen, um den Cache zu füllen.

Wie werden die Daten im Oracle True Cache aktualisiert?

Nachdem ein Block zwischengespeichert wurde, wird er automatisch durch Redo Apply aus der primären Datenbank aktualisiert. Dies ähnelt dem Aktualisierungsmechanismus, der in Oracle Active Data Guard verwendet wird.

Wie behandelt Oracle True Cache wichtige Daten, um eine Verdrängung zu verhindern?

True Cache bietet die Möglichkeit, bestimmte Tabellen und Datensätze im Cache zu pinnen. Dadurch wird sichergestellt, dass wichtige Daten auch bei Speicherbeschränkungen oder LRU-Algorithmen (Least Recently Used) intakt bleiben. Gepinnte Daten werden automatisch in Echtzeit aktualisiert, wenn Änderungen in der primären Datenbank auftreten. Dies gewährleistet Konsistenz und Zuverlässigkeit.

Wie skaliert Oracle True Cache?

True Cache ist skalierbar, indem es das Konzept der Services nutzt. Sie können zum Beispiel zwei Services definieren, einen für die Verkaufsabteilung und einen für die Personalabteilung. Alle Anfragen für den Verkaufsservice werden an einen Cache geleitet, während Anfragen für die Personalabteilung an einen anderen Cache geleitet werden. Da die Daten für jeden Service unterschiedlich sind (mit unterschiedlichen Tabellen und Datenstrukturen), kann die Skalierung von True Cache mit dem folgenden Ansatz effektiv erreicht werden. Beispiel:

  • Auf der primären Datenbank (PRIMDBI) laufen zwei Datenbankanwendungsservices: SALES und HR.
  • Zwei True Caches sind mit verschiedenen Services verbunden, die den primären Datenbankanwendungsservices entsprechen:
    • TCDB1I ist mit dem SALES_TC-Service verknüpft.
    • TCDB2I ist mit dem HR_TC-Service verknüpft.

Welchen Parameter setzen Sie, um Datenbankanwendungsservices mit Oracle True Cache zu verknüpfen?

Legen Sie den Parameter TRUE_CACHE_SERVICE mit Servicenamen fest, die den Anwendungsservices der primären Datenbank entsprechen. Um die True Cache-Datenbankanwendungsservices zu unterscheiden, sollten Sie den primären Servicenamen gefolgt von _TC verwenden. Wenn der primäre Service beispielsweise SALES ist, lautet der True Cache-Service SALES_TC.

Ist Colocation mit Oracle True Cache möglich?

Ja, Colocation ist mit dem Feature COLOCATION_TAG möglich, mit dem Daten an True Caches in bestimmten Regionen gesendet werden können. Sie könnten zum Beispiel zwei Anwendungen und zwei True Caches haben. Sessions, bei denen COLOCATION_TAG auf Vereinigte Staaten eingestellt ist, gehen in einen True Cache (TCDB1I) und Sessions, bei denen COLOCATION_TAG auf Europa eingestellt ist, gehen in den anderen True Cache (TCDB2I).

Kann ich Aktualisierungen direkt im Oracle True Cache durchführen?

Nein, True Cache ist ein schreibgeschützter Cache, d. h. Sie können den Cache nicht direkt aktualisieren, aber Sie können die DML-Umleitung verwenden, um den Cache indirekt zu aktualisieren. Bei der DML-Umleitung werden Daten in die primäre Datenbank geschrieben, die dann automatisch im Cache aktualisiert werden. Dies ähnelt der Funktionsweise von Oracle Active Data Guard. Da die DML-Umleitung mehr Ressourcen verwendet, wird sie für aktualisierungsintensive Anwendungen nicht empfohlen.

Wie aktiviere ich die DML-Umleitung in Oracle True Cache?

Um die DML-Umleitung zu aktivieren, setzen Sie den Initialisierungsparameter ADG_REDIRECT_DML bei True Cache auf TRUE.

Welche Arten von Daten können im Oracle True Cache zwischengespeichert werden?

Oracle True Cache speichert alle Objekte und Datentypen der Oracle Database, einschließlich relationaler, JSON-, Text-, Raum-, Diagramm- und Vektordatentypen. Auf Daten in True Cache kann in einem Zeilen- oder Spaltenformat zugegriffen werden, um Kompatibilität und Flexibilität für verschiedene Caching-Anforderungen sicherzustellen.

Wie verbessern intelligente Client-Treiber die Performance mit Oracle True Cache?

Intelligente Client-Treiber beziehen sich auf die intelligenten Funktionen des Oracle JDBC-Treibers, der das Vorhandensein von True Cache automatisch erkennt. Diese Treiber können zwischen schreibgeschützten und Anfragen ohne Schreibschutz unterscheiden und leiten schreibgeschützte Anfragen nahtlos an den Cache weiter. Dieses innovative Feature optimiert die Anwendungsentwicklung, da keine separaten Verbindungen für die primäre Datenbank und den Cache mehr verwaltet werden müssen.

Welche Anwendungsfälle werden für die Bereitstellung von Oracle True Cache unterstützt?

True Cache bietet vielseitige Bereitstellungsoptionen für verschiedene Szenarien wie Mid-Tier-Cache, Edge-Cache, regionsübergreifende Cache- und Cloud-übergreifende Cache-Konfigurationen.

Welche Sicherheitsmaßnahmen gibt es für Oracle True Cache?

Oracle True Cache implementiert Oracle Database-Sicherheits-Policys. Dazu gehört eine breite Palette von Schutzmechanismen wie Datenverschlüsselung im Ruhezustand, Over-the-Wire-Datenverschlüsselung, Sicherheit auf Zeilenebene, Oracle Database Vault, Oracle Key Vault und umfassende Authentifizierungs- und Autorisierungsmechanismen.

Lizenzierung

Mit welcher Datenbankversion ist Oracle True Cache verfügbar?

True Cache ist mit Oracle Database 23ai und höher verfügbar. Die Lösung wird in früheren Releases nicht unterstützt.

Wie wird Oracle True Cache lizenziert und bepreist?

Oracle True Cache ist ein Feature, das mit dem Oracle Base Database Service verfügbar ist.