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.
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.
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.
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.
Folgende Plattformen werden unterstützt:
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:
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
Ja, sowohl die Replikation auf Tabellenebene als auch die Replikation auf Datenbankebene werden unterstützt.
Die TimesTen-Replikation verwendet persistente, Streaming-fähige TCP/IP-Sockets zwischen den replizierten Knoten über ein LAN oder WAN.
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.