News
Tool-Tipp: Überblick über Oracle Coherence

Die Information ist ein schnelllebiges Gut. Jeden Tag werden wir mit hunderten Informationen zugemüllt. Deshalb sind wir bestrebt uns auf das Wesentliche zu konzentrieren und nur substantiell nachhaltige Informationen bereitzustellen.

Icon Unternehmen

Anwender stellen hohe Anforderungen bezüglich Performance und Verfügbarkeit an moderne Systeme und Anwendungen. Allein durch den Einsatz aktuellster Hard- und Software, optimierter Algorithmen und Datenstrukturen ist nicht sichergestellt, dass dies auch auf Dauer gewährleistet bleibt.

Ursachen dafür können fehlende Kapazitäten oder hohe Reaktionszeiten sein.
Abhilfe kann hier Oracle Coherence leisten - eine speicherresidente Data-Grid-Lösung (In-Memory Data Grid).

Was ist ein In-Memory Data Grid?

Ein Data Grid ist ein System mehrerer Knoten (Servern), welches Informationen als Anwendungsobjekte auf den Knoten verwaltet und Operationen mit diesen Informationen ausführt.

In-Memory bedeutet, dass die Informationen im Hauptspeicher liegen und die Operationen auch dort ausgeführt werden. Der Zugriff auf persistent gehaltene Strukturen (DB, Filesystem u.ä.) wird vermieden und dadurch eine sehr gute Performance erzielt.

Kopien der Anwendungsobjekte sind redundant über die Knoten des Systems (Cluster) verteilt. Dadurch ist Hochverfügbarkeit bei Ausfall einzelner Knoten gewährleistet und das System kann durch Hinzufügen von Knoten bei hoher Last erweitert werden (skalieren).

Im Fall von Oracle Coherence sind die Knoten einfache Java-Prozesse (JVM), die mit den benötigten Java-Bibliotheken sowie entsprechenden Konfigurationsdateien gestartet wurden. Die JVM-Prozesse können auf einem oder verschiedenen physikalischen Rechnern laufen.

Oracle Coherence stellt ein API zur Verfügung, über die sich Clients mit dem Cluster verbinden können und Operationen auf den Knoten (mit den Anwendungsobjekten) veranlassen (CRUD-Operationen, Abfragen, Berechnungen).

Oracle Coherence nutzt das Protokoll TCMP (Tangosol Coherence Management Protocol). TCMP arbeitet komplett asynchron, d.h. die Kommunikation ist nie blockiert.

Verschiedene verfügbare Cache-Mechanismen, die auch miteinander kombiniert werden können, erlauben eine Konfiguration entsprechend der speziellen Anforderungen. Die Konfiguration erfolgt über XML und/oder Java System Eigenschaften:

  • Local Cache: Cache eines Clusterknoten
     
  • Replicated Cache: Die Daten werden gleichermaßen auf allen Knoten des Clusters abgelegt. Dadurch wird eine hohe Ausfallsicherheit erreicht. Die Leseperformance ist sehr hoch, allerdings ist die Schreibperformance schlechter als beim Partitioned Cache. Somit ist diese Art von Cache perfekt für kleine Datensätze mit vielen Lese- und wenig Schreiboperationen geeignet.
     
  • Partitioned Cache: Die Daten werden partitioniert über die Knoten des Clusters verteilt. Dadurch wird eine gute Schreibperformance erzielt. Die Leseperformance ist gut, wenn auch schlechter als beim Replicated Cache. Zur Sicherstellung der Ausfallsicherheit kann dieser Cache so konfiguriert werden, dass jede Datenpartition mehrfach im Cluster vorliegt.
     
  • Optimistic Cache: Cache Implementierung ähnlich dem Partitioned Cache, jedoch ohne Steuerung bei gleichzeitigem Zugriff; Die Schreibperformance ist dadurch höher, aber die Konsistenz der Daten ist nicht gewährleistet.
     
  • Near Cache: Ein mehrschichtiger Cache bestehend aus einem Front Cache (Local Cache) und Back Cache (Partitioned oder Remote Cache). Diese Art Cache vereint die Vorteile von Replicated und Partitioned Caches.

Als Puffer zwischen Backend und Anwendung entlastet Oracle Coherence das Backend, häufig abgefragte Daten stehen schneller zur Verfügung.

Fazit

Durch die flexiblen Caching Mechanismen lässt sich Oracle Coherence an Ihre Bedürfnisse anpassen. Verfügbarkeit und Ausfallsicherheit helfen Kosten zu senken und Benutzer sind dankbar für die sehr gute Performance.
Sollten Sie weitere Fragen haben oder Unterstützung benötigen, zögern Sie nicht, sich gleich mit uns in Verbindung zu setzen. Sie erreichen uns telefonisch unter +49.371.909515-100 oder per E-Mail unter vertrieb@aspicon.de.