TimesTen In-Memory Database FAQ

Allgemeines

Was ist Oracle TimesTen In-Memory Database?

Oracle TimesTen In-Memory Database ist eine speicheroptimierte relationale Datenbank, die Anwendungen mit der sofortigen Reaktionsfähigkeit und dem sehr hohen Durchsatz ausstattet, die von modernen Unternehmen in den Bereichen Kommunikation, Finanzdienstleistungen, Webanwendungen, Reiselogistik, Gaming und anderen Branchen benötigt werden. Sie kann in der Application Tier als gecachte Datenbank (TimesTen Application-Tier Database Cache), als Standalone-Datenbank (TimesTen Classic) oder als verteilte Datenbank (TimesTen Scaleout) bereitgestellt werden. Zu ihren standardmäßigen Produktmerkmalen gehören Standard-SQL-Schnittstellen, hohe Verfügbarkeit und Fehlertoleranz.

Was ist Oracle TimesTen Application-Tier Database Cache?

TimesTen Application-Tier Database Cache (TimesTen Cache) ist eine Oracle Database-Option, die Lese-/Schreib-Caching in Echtzeit für Oracle Database bereitstellt. TimesTen Cache verbessert die Antwortzeit von Anwendungstransaktionen, indem eine leistungskritische Teilmenge von Tabellen und Tabellenfragmenten aus einer Oracle Database in der Application Tier zwischengespeichert wird. Cache-Tabellen werden wie normale relationale Datenbanktabellen in der TimesTen In-Memory Database verwaltet. Dadurch kann TimesTen Cache Anwendungen die volle Allgemeinheit und Funktionalität einer relationalen Datenbank, die transparente Aufrechterhaltung der Cache-Konsistenz mit Oracle Database und die Echtzeitleistung einer In-Memory-Datenbank bieten. TimesTen Cache eignet sich ideal zum Zwischenspeichern leistungskritischer Teilmengen einer Oracle Database zur Verbesserung der Antwortzeit in der Application Tier. Um eine hohe Verfügbarkeit zu erreichen, kann TimesTen Cache mithilfe einer Aktiv-Standby-Konfiguration eingesetzt werden, bei der Cache-Tabellen in Echtzeit zwischen den Oracle TimesTen In-Memory Databases repliziert werden.

Hat Oracle TimesTen In-Memory Database spezielle Hardware- und Softwareanforderungen?

Oracle TimesTen In-Memory Database wurde unter der Annahme erstellt, dass alle verwalteten Daten im physischen Speicher (RAM) gespeichert sind. Daher ist es bei der Hardware am wichtigsten, dass in der Application Tier ausreichend RAM zur Verfügung steht. Abgesehen davon gibt es bei TimesTen nur sehr wenige Hardware-Aspekte zu berücksichtigen. Wie bei jeder Anwendung ist es wichtig, dass Sie über eine angemessene Anzahl von CPUs (mit angemessenen Taktraten) verfügen, damit Ihre Anwendung so schnell wie möglich ausgeführt werden kann. Um mehrere CPUs zu nutzen, müssen Sie entweder mehrere Anwendungen ausführen oder Ihre Anwendungen so schreiben, dass sie mehrere Threads verwenden. Außerdem werden die Transaktionsprotokolle und Checkpoint-Dateien auf der Festplatte gespeichert; schnellere Festplatten sorgen für eine bessere Gesamtleistung.

TimesTen Cache befindet sich in der Application Tier und verwendet SQL*Net für die Kommunikation mit der Oracle Database. Oracle Database Instant Client wird im TimesTen Cache installiert, damit eine Verbindung zur Oracle Database hergestellt werden kann.

Ist Oracle TimesTen In-Memory Database Teil von Oracle Database?

Die Oracle TimesTen In-Memory Database ist ein separat lizenziertes Produkt. Sie umfasst die TimesTen In-Memory Database, die Replikationskomponenten und die TimesTen Scaleout-Bereitstellung.

TimesTen Application Tier Database Cache ist eine Oracle Database Enterprise Edition-Option für Oracle Database. Sie umfasst TimesTen In-Memory Database und Caching-Technologien, die es ermöglichen, TimesTen Cache als In-Memory-Cache-Datenbank mit automatischer Datensynchronisierung zwischen TimesTen Cache und Oracle Database einzusetzen.

Welche Plattformen werden von Oracle TimesTen-Technologien unterstützt?

Folgende Plattformen werden unterstützt:

  • Linux x86-64:
    • Oracle Linux 7.4 oder höher, 8.2 oder höher und 9.2 oder höher
    • Red Hat Enterprise Linux 7.4 oder höher, 8.2 oder höher und 9.2 oder höher
    • SUSE Linux Enterprise Server 12 und 15
    • Ubuntu 22.04
  • Linux arm64:
    • Oracle Linux 8.4 oder höher
    • Red Hat Enterprise Linux 8.4 oder höher
  • Solaris SPARC 64:
    • Solaris 11.3 und 11.4
  • Solaris x86-64:
    • Solaris 11.3 und 11.4
  • Microsoft Windows x86-64 (Client-only):
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows 11
    • Windows 10
  • IBM AIX Power PC 64-Bit:
    • AIX 7.1, 7.2 und 7.3
  • macOS 64-Bit (Client-only):
    • 12.6 Monterey
    • 13.2 Ventura
    • 14.3 Sonom

Die Option TimesTen Application-Tier Database Cache unterstützt die Oracle Database-Versionen 11.2.0.4, 12c, 19c und 21c sowie die folgenden Versionen von Oracle Autonomous Database:

  • Oracle Autonomous Serverless Release 19c für den Workload-Typ „Transaktionsverarbeitung“
  • Oracle Autonomous Database on Dedicated Exadata Infrastructure Release 19c für den Workload-Typ „Transaktionsverarbeitung“

Welche Arten von Anwendungen eignen sich am besten für Oracle TimesTen-Datenbanken?

TimesTen-Datenbanken werden für viele Anwendungen in einer Vielzahl von Branchen eingesetzt, darunter Telekommunikationsanwendungen für Authentifizierung, Autorisierung, Nummernportabilität, Online-Abrechnung und -Fakturierung, Mediation und Callcenter sowie Finanzanwendungen wie Wertpapierhandel, Börsen, Betrugserkennung, Compliance, Online-Banking und Anleihebewertung. Weitere Anwendungsbereiche sind Gaming, CRM-Systeme, Reservierungssysteme von Fluggesellschaften, Reiseplanung, kundenorientierte Anwendungen und Verteidigungsanwendungen.

Oracle TimesTen ist zudem Kern einiger Oracle Anwendungen, wie z. B. der Exalytics In-Memory Machine für die blitzschnelle OLAP-Analyse und Oracle Billing and Revenue Management für die Echtzeit-Abrechnung.

Was ist der Unterschied zwischen TimesTen In-Memory Database (oder TimesTen Cache) und Coherence?

Sowohl TimesTen-Datenbanken als auch Coherence laufen in der Application Tier. Beide basieren auf dem Hauptspeicher. Coherence ist ein verteilter In-Memory-Objektspeicher. Es wird verwendet, um serialisierte Objekte mithilfe von get/put-APIs zu speichern und abzurufen.

TimesTen ist eine relationale In-Memory-Datenbank mit Persistenz auf der Festplatte und Standard-Transaktionssemantik. Der Zugriff erfolgt über SQL. Wenn es als Cache für Oracle Database verwendet wird, synchronisiert es die Daten automatisch mit Oracle Database. Verteilte Caches stellen Anwendungen ein einzelnes Bild mit Standorttransparenz und verteilter Nebenläufigkeitssteuerung bereit.

Wie unterscheidet sich Oracle Exadata von TimesTen In-Memory Database?

Exadata, das auf Oracle RAC basiert, ist ein hochgradig skalierbares System, mit dem der Datenbankdurchsatz auf ein beispielloses Niveau gesteigert werden kann.

Der einzigartige Mehrwert von TimesTen liegt in der Fähigkeit, sehr niedrige Antwortzeiten in der Application Tier zu liefern. Für eine optimale Leistung ist TimesTen in die Anwendung eingebettet. TimesTen liefert Antworten auf SQL-Anfragen in Mikrosekunden. Das ist für Echtzeitanwendungen unerlässlich, die eine sofortige Reaktionszeit für die Rufumleitung, Authentifizierung und Autorisierung, Echtzeit-Abrechnung, den Wertpapierhandel, die Betrugserkennung, das Online-Banking und viele andere Anwendungsfälle erfordern.

Ich habe weitere Fragen zur TimesTen In-Memory Database. Wo kann ich Antworten erhalten?

Sie können Ihre produktbezogenen Fragen zu TimesTen im TimesTen Diskussionsforum veröffentlichen.

TimesTen In-Memory Database

Kann die TimesTen In-Memory Database als Standalone-Datenbank verwendet werden?

Ja, die Oracle TimesTen In-Memory Database wird heute von vielen Kunden als Standalone-Datenbank auf der Application Tier verwendet. TimesTen bietet vollständige Transaktionsunterstützung für SQL-Operationen. Die Transaktionsprotokolle werden zur Wiederherstellung auf der Festplatte gespeichert (die Datenbank befindet sich immer im Arbeitsspeicher).

Kann TimesTen In-Memory Database als In-Memory-Cache für Oracle Database verwendet werden?

Ja, mit TimesTen Application-Tier Database Cache. Diese Datenbankoption umfasst TimesTen In-Memory Database und Caching-Technologien, damit TimesTen als In-Memory-Cache-Datenbank mit automatischer Datensynchronisierung zwischen TimesTen und Oracle Database eingesetzt werden kann.

Welche Datenzugriffs-APIs gibt es für die TimesTen In-Memory Database?

Die TimesTen In-Memory Database unterstützt Standard-ODBC- und JDBC-Schnittstellen sowie OCI und ADO.NET für Anwendungen, die sich über SQL-92-Standards mit der Datenbank verbinden.

Unterscheiden sich die von TimesTen bereitgestellten Schnittstellen für 32-Bit- und 64-Bit-Anwendungen?

Nein, die Anwendungsschnittstellen sind für 32-Bit- und 64-Bit-Anwendungen gleich. Um den 64-Bit-Modus nutzen zu können, muss die Anwendung im 64-Bit-Modus neu kompiliert und mit den TimesTen 64-Bit-Bibliotheken verknüpft werden.

In welchen Sprachen können Oracle TimesTen-Anwendungen entwickelt werden?

Anwendungen können mit Java, .NET, C, C++, Pro*C und PL/SQL sowie mit Open-Source-Sprachen wie Python und Node.js entwickelt werden. Eine Liste der Beispielprogramme finden Sie in den Oracle TimesTen In-Memory Database Samples auf GitHub.

Was bedeutet „eingebetteter Modus“?

Die Oracle TimesTen In-Memory Database wurde für die Ausführung in der Application Tier konzipiert und optimiert. Die Datenbank kann direkt mit der Anwendung verknüpft (eingebettet) werden, um die beste Leistung zu erzielen. Da die TimesTen-Datenbank in die Anwendung eingebettet ist, verursacht der SQL-Zugriff keine Netzwerk- oder IPC-Overhead. Selbst im eingebetteten Modus bietet TimesTen vollständigen Multiprozess-/Multithread-Zugriff und Nebenläufigkeitssteuerung.

Unterstützt Oracle TimesTen In-Memory Database Indizes wie die Oracle Database?

Ja, Oracle TimesTen In-Memory Database unterstützt Indizes. Indizes verbessern die Leistung von Datenbankabfragen, genau wie in Oracle Database. TimesTen unterstützt zwei Arten von Indizes: Bereichsindizes, die für Abfragen verwendet werden, die Gleichheits- und Ungleichheitsbereiche umfassen, und Hash-Indizes, die einen schnelleren Primärschlüssel- und Gleichheitszugriff bieten als Bereichsindizes für Suchen mit genauer Übereinstimmung und Equijoins.

Wie werden Datenstrukturen in TimesTen In-Memory Database entworfen und erstellt?

TimesTen In-Memory Database unterstützt den SQL-Standard. Verwenden Sie zum Erstellen von Datenstrukturen SQL-DDL-Anweisungen, wie z.B. CREATE TABLE, CREATE INDEX, CREATE SEQUENCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE PACKAGE, CREATE PROCEDURE, CREATE FUNCTION, CREATE SYNONYM, ALTER TABLE usw. Die gleichen Datenbank-Design-Techniken, die für RDBMS verwendet werden, können auch für TimesTen verwendet werden. Das Entwerfen und Verwalten von Datenbanken in TimesTen ist einfacher als in einem festplattenoptimierten RDBMS, da es nicht notwendig ist, Tabellenbereiche zu dimensionieren oder Festplatten zu defragmentieren.

Wie erholt sich TimesTen von einem Knoten-/Stromausfall, da es sich ja um eine In-Memory-Datenbank handelt?

Während sich die gesamte Datenbank zwar im Arbeitsspeicher befindet, verfügt TimesTen auch über Transaktionsprotokolldateien und Prüfpunktdateien, die auf der Festplatte gespeichert werden. Im Falle eines Systemneustarts oder -ausfalls wird die In-Memory-Datenbank aus den Checkpoint- und Transaktionsprotokolldateien wiederhergestellt.

TimesTen Application-Tier Database Cache

Welche Versionen von Oracle Database werden vom TimesTen Application-Tier Database Cache unterstützt?

TimesTen Cache unterstützt:

  • Oracle Database Version 11.2.0.4
  • Oracle Database Release 12c
  • Oracle Database Release 19c
  • Oracle Database Release 21c
  • Oracle Autonomous Serverless Release 19c für den Workload-Typ „Transaktionsverarbeitung“
  • Oracle Autonomous Database on Dedicated Exadata Infrastructure Release 19c für den Workload-Typ „Transaktionsverarbeitung“

Welche Plattformen werden vom TimesTen Application-Tier Database Cache unterstützt?

TimesTen Cache wird als Clientanwendung für den Oracle Database-Server ausgeführt. TimesTen Cache unterstützt die gleichen Plattformen wie TimesTen In-Memory Database. Erfahren Sie, welche Plattformen von Oracle TimesTen-Technologien unterstützt werden.

  • Linux x86-64:
    • Oracle Linux 7.4 oder höher, 8.2 oder höher und 9.2 oder höher
    • Red Hat Enterprise Linux 7.4 oder höher, 8.2 oder höher und 9.2 oder höher
    • SUSE Linux Enterprise Server 12 und 15
    • Ubuntu 22.04
  • Linux arm64:
    • Oracle Linux 8.4 oder höher
    • Red Hat Enterprise Linux 8.4 oder höher
  • Solaris SPARC 64:
    • Solaris 11.3 und 11.4
  • Solaris x86-64:
    • Solaris 11.3 und 11.4
  • Microsoft Windows x86-64 (Client-only):
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows 11
    • Windows 10
  • IBM AIX Power PC 64-Bit:
    • AIX 7.1, 7.2 und 7.3
  • macOS 64-Bit (Client-only):
    • 12.6 Monterey
    • 13.2 Ventura
    • 14.3 Sonom

Kann ich Application-Tier Database Cache auf einer anderen Plattform als dem Oracle Database-Server ausführen?

Ja, da TimesTen Cache als Oracle Client ausgeführt wird, kann er auf einer anderen Plattform ausgeführt werden als die des Oracle Database-Servers. Wie der Name „TimesTen Application-Tier Database Cache“ schon sagt, befindet sich der TimesTen Cache in der Regel in der Application Tier, während sich Oracle Database in der Database Tier befindet.

Meine Oracle Database ist einige Terabyte groß. Wie groß sollte meine TimesTen Cache-Datenbank sein?

Die Menge der im TimesTen Cache zu speichernden leistungskritischen Daten variiert je nach Art der Anwendung. Anstatt die gesamte Datenbank zwischenzuspeichern, kann eine Teilmenge der Datenbanktabellen, -spalten und -zeilen im TimesTen Cache zwischengespeichert werden. Eine weitere Möglichkeit besteht darin, einen dynamischen Cache zu definieren, in den die Daten aus den Oracle Tabellen bei Bedarf geladen werden.

TimesTen-Replikation

Was versteht man unter TimesTen-Replikation?

Die TimesTen-Replikation ist eine Funktion der TimesTen In-Memory Database und des TimesTen Application-Tier Database Cache. Die TimesTen-Replikationstechnologie ermöglicht die Echtzeit-Datenreplikation zwischen TimesTen-Serverknoten. Sie wird für die Erstellung hochverfügbarer Architekturen, Disaster-Recovery-Standorte und die Verteilung von Daten auf mehrere Knoten verwendet. Die Replikation unterstützt die Konfiguration „Aktiv/Standby“ oder „Aktiv/Aktiv“ unter Verwendung asynchroner oder synchroner Datenübertragung. Weitere Informationen finden Sie im TimesTen In-Memory Database-Datenblatt.

Wie stellt die TimesTen-Replikation die kontinuierliche Verfügbarkeit bei Systemausfällen sicher?

Sie können TimesTen so konfigurieren, dass die gesamte TimesTen In-Memory Database auf einen oder mehrere TimesTen-Knoten repliziert wird. Nach einem Failover, bei dem der Standby-Knoten zum aktiven Knoten wird, kann der ausgefallene Knoten aus der Standby-Datenbank (die jetzt aktiv ist) wiederhergestellt werden.

Kann ich ausgewählte Tabellen in der Datenbank replizieren?

Ja, sowohl die Replikation auf Tabellenebene als auch die Replikation auf Datenbankebene werden unterstützt.

Welches Netzwerkprotokoll wird von der TimesTen-Replikation unterstützt?

Die TimesTen-Replikation verwendet persistente, Streaming-fähige TCP/IP-Sockets zwischen den replizierten Knoten über ein LAN oder WAN.

Ist die TimesTen-Replikation bidirektional?

Ja, sowohl unidirektionale als auch bidirektionale Replikation werden unterstützt. Für die bidirektionale Replikation wird allerdings empfohlen, die Workload zu partitionieren, um eine hohe Anzahl von Konflikten zu vermeiden. Bei Konflikten, bei denen Aktualisierungen an denselben Datenbankzeilen vorgenommen werden, unterstützt die TimesTen-Replikation die zeitstempelbasierte Konflikterkennung und -lösung.