OrientDB - Caching
Cachingist ein Konzept, das eine Kopie der Datenbanktabellenstruktur erstellt und eine komfortable Umgebung für die Benutzeranwendungen bietet. OrientDB verfügt über mehrere Caching-Mechanismen auf verschiedenen Ebenen.
Die folgende Abbildung gibt eine Vorstellung davon, was Caching ist.
In der obigen Abbildung DB1, DB2, DB3 sind die drei verschiedenen Datenbankinstanzen, die in einer Anwendung verwendet werden.
Level-1 Cache ist ein Local cacheHier werden alle Entitäten gespeichert, die einer bestimmten Sitzung bekannt sind. Wenn Sie drei Transaktionen in dieser Sitzung haben, enthält sie alle Entitäten, die von allen drei Transaktionen verwendet werden. Dieser Cache wird gelöscht, wenn Sie die Sitzung schließen oder die Methode "Löschen" ausführen. Dies reduziert die Belastung der E / A-Vorgänge zwischen der Anwendung und der Datenbank und erhöht wiederum die Leistung.
Level-2 Cache ist ein Real cacheDas funktioniert mit einem Drittanbieter. Sie können die volle Kontrolle über den Inhalt des Caches haben, dh Sie können angeben, welche Einträge entfernt werden sollen, welche länger gespeichert werden sollen und so weiter. Es ist ein vollständig gemeinsam genutzter Cache zwischen mehreren Threads.
Storage model ist nichts anderes als ein Speichergerät, bei dem es sich um eine Festplatte, einen Speicher oder einen Remote-Server handelt.
Wie funktioniert der Cache in OrientDB?
Das OrientDB-Caching bietet unterschiedliche Methoden in unterschiedlichen Umgebungen. Das Caching wird hauptsächlich für schnellere Datenbanktransaktionen verwendet, um die Verarbeitungszeit einer Transaktion zu verkürzen und die Leistung zu steigern. Die folgenden Flussdiagramme zeigen, wie das Caching im lokalen Modus und im Client-Server-Modus funktioniert.
Lokaler Modus (eingebettete Datenbank)
Das folgende Flussdiagramm zeigt Ihnen, wie sich der Datensatz zwischen Speicher und verwendeter Anwendung im lokalen Modus befindet, dh wenn sich Ihr Datenbankserver in Ihrem lokalen Host befindet.
Wenn die Clientanwendung nach einem Datensatz fragt, prüft OrientDB Folgendes:
Wenn eine Transaktion begonnen hat, sucht sie innerhalb der Transaktion nach geänderten Datensätzen und gibt sie zurück, wenn sie gefunden wird.
Wenn der lokale Cache aktiviert ist und den angeforderten Datensatz enthält, wird er zurückgegeben.
Befindet sich der Datensatz zu diesem Zeitpunkt nicht im Cache, fordert er ihn im Speicher (Festplatte, Speicher) an.
Client-Server-Modus (Remote-Datenbank)
Das folgende Flussdiagramm zeigt Ihnen, wie sich der Datensatz zwischen Speicher und verwendeter Anwendung im Client-Server-Modus befindet, dh wenn sich Ihr Datenbankserver an einem Remotestandort befindet.
Wenn die Clientanwendung nach einem Datensatz fragt, prüft OrientDB Folgendes:
Wenn eine Transaktion begonnen hat, sucht sie innerhalb der Transaktion nach geänderten Datensätzen und gibt sie zurück, wenn sie gefunden wird.
Wenn der lokale Cache aktiviert ist und den angeforderten Datensatz enthält, wird er zurückgegeben.
Befindet sich der Datensatz zu diesem Zeitpunkt nicht im Cache, fordert er ihn über einen TCP / IP-Aufruf beim Server an.
Wenn auf dem Server der lokale Cache aktiviert ist und den angeforderten Datensatz enthält, wird er zurückgegeben.
Zu diesem Zeitpunkt wird der Datensatz noch nicht auf dem Server zwischengespeichert und dann im Speicher (Festplatte, Speicher) angefordert.