Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Oracle Coherence – Einführung und Anwendungsfälle

Ähnliche Präsentationen


Präsentation zum Thema: "Oracle Coherence – Einführung und Anwendungsfälle"—  Präsentation transkript:

1 Oracle Coherence – Einführung und Anwendungsfälle
Java Objekte auf Wolke7 Matthias Schorer, AEW6, Harald Wiedemer, Oracle Deutschland | JBFOne 2008

2 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

3 Ziel dieses Vortrags Der Vortrag soll Einblick geben in
die Thematik von verteilten Caches die Umsetzung dieser Konzepte in dem Produkt Oracle Coherence die Nutzung der Vorteile dieses Konzepts innerhalb der FIDUCIA Die theoretische Vorstellung wird durch den beispielhaften Aufbau eines verteilten Caches in einer Demo ergänzt

4 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

5 45 Minuten = 2700 Sekunden = 2,7 Mio. Millisekunden
Vortragsdauer 45 Minuten = 2700 Sekunden = 2,7 Mio. Millisekunden oder Zeit für 37,500,000 Transaktionen! 13,8 Tx/msec = 0,072 msec/Tx

6 Wieso? Die Kunden und Partner verlangen mehr Leistung Heute:
~ Bank-Arbeitsplätze in den Banken Aber auch Mio. von Kunden per E-Banking möglich. Morgen gibt Vortrag zum Thema BAP auf iPhone Nicht mehr , sondern Millionen! Und Daten müssen schneller zur Verfügung stehen. „Ich nicht erst beim nächsten Batchlauf erfahren, ob meine Überweisung zu Lemann Brothers raus ist“

7 Wie? Web Tier Applikations Tier Datenbank Tier
Wo ist in der heutigen Umgebung am meisten Potential für Optimierung? Web Tier Applikations Tier Datenbank Tier Netzwerk Transferzeit ~ 5 µs (10 -6 sec) 0, sec Network Web Servers TomCat, Grid Oracle, IMS, DB2, MQ, AQ Platten Zugriffszeit ~ 5 ms (10 -3 sec) 0,005 sec Cobol, SQL, Messaging (Platten) Java Objekte (Speicher) Speicher Zugriffszeit ~ 5 ns (10 -9 sec) 0, sec

8 Wie? Web Tier Applikations Tier Datenbank Tier
Grid wird um verteilten Cache erweitert Web Tier Applikations Tier Datenbank Tier Network Web Servers TomCat, Grid, Cache Oracle, IMS, DB2, MQ, AQ Cobol, SQL, Messaging (Platten) Java Objekte (Speicher)

9 Randbedingungen No Single Points of Failure
Sicherheit der Daten Sicherheit vor Verfügbarkeit Speicherung in 2 Rechenzentren Hauptspeicher auf (einzelnem) Portal- Rechner begrenzt CPU-Leistung auf (einzelnem) Portal- Rechner begrenzt Skalierung über >500 Portal-Rechner No Single Points of Failure No Simple Points of Bottleneck No Service Registries No Masters + Workers already got one that is partitioned into over 200 separate clusters No Manual Partitioning Keep everything in Memory Active + Active Sites Across WAN Develop system on a note book Scale to over 500 servers No reconfiguration outages No byte-code manipulation / proxies No Data or Task Loss During failure During server upgrade During scale out No Transactions (XA) Support multiple versions Predictable response times Predictable scale out costs Manage via JMX, from any point in the “Cloud”. Pure Java Standard Edition Infrastructure add a maximum of 3ms latency to tasks. Integrate with existing applications (Java )

10 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

11 Oracle Coherence Peer-to-Peer Clustering Kein Single Points of Failure
Kein Master/Slave Alle Knoten übernehmen gleiche Aufgaben: Überwachung Cluster Funktion Verwaltung und Verarbeitung Daten Abfragen Parallelverarbeitung im “Team” Kommunikation Multicast oder 1:1 Skalierbar bis zur Maschinengrenze Standard Infrastruktur nutzbar Auf lineare Skalierbarkeit hin entworfen

12 Partitionierung Automatische Partitionierung
Automatische, synchrone Spiegelung aller Daten Alle Knoten wissen jederzeit den Ort aller Daten (und deren Backup)! (Consensus)

13 Cluster-Überwachung Knoten überwachen sich gegenseitig
Bei Zweifel wird Status gemeinsam ermittelt.

14 Cluster-Überwachung Knoten überwachen sich gegenseitig
Bei Zweifel wird Status gemeinsam ermittelt Verbleibende Knoten übernehmen Daten und Funktion eines ausgefallenen Knoten Kein Datenverlust bei Ausfall Keine Unterbrechung des Betriebs Alle Knoten haben jederzeit die gleiche Sicht des Clusterzustands! (Consensus)

15 Erweiterung des Clusters
Dynamische Erweiterung im laufenden Betrieb Daten und Funktionen werden automatisch auf neuen Knoten verteilt Keine Neupartitionierung Keine Neukonfiguration Keine Unterbrechung durch Erweiterung

16 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

17 Schlüssel/Objekt Paare
Coherence verwaltet Daten als Paare aus Schlüssel/Wert oder Schlüssel/Objekt Nicht relational – kein RDBMS – keine Tabellen/Spalten – kein SQL Schlüssel und Objekt können jeden Datentyp annehmen Einfacher Datentyp wie String Meist benutzerdefinierter Datentyp oder Objekt Kein Data Dictionary Benutzer muss Objekte und Datentypen definieren Anwendung muss Daten kennen Kein SQL oder andere Abfragesprache Abfragen sind in Anwendung hart-codiert und müssen berechenbar sein Beispiel (mit vergleichbarem SQL) put(1, “Hallo”) = INSERT INTO table VALUES(1,’Hallo’); get(1) = SELECT * FROM table WHERE id = 1;

18 Erstellen eines Caches, Eintrag und Abfrage von Daten
Erstellen eines Caches (NamedCache): NamedCache implementiert java.util.Map und javax.util.jcache, CacheFactory.ensureCluster(); NamedCache myCache = CacheFactory.getCache(“employees“); Daten in Cache eintragen: Daten aus Cache abfragen: myCache.put(“Name”,”Tim Middleton”); Java.util.Map Standardmethoden stehen zur Verfügung: get, put, putAll, size, clear, lock, unlock… Javax.util.jcache: String name = (String)myCache.get(“Name”);

19 Cluster Hallo Welt public void main(String[] args) throws IOException { CacheFactory.ensureCluster(); NamedCache nc = CacheFactory.getCache(“test”); nc.put(“key”, “Hallo Welt”); System.out.println(nc.get(“key”)); System.in.read(); // Cluster may throw exception }

20 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

21 Coherence Demo Wer kann mit einem Laptop zur Demo beitragen?
Voraussetzungen: DHCP, Java ≥1.5, Admin-Rechte

22 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

23 Was kann man alles problemlos cachen?
Statische oder semistatische Daten Daten deren Inhalt ausschließlich durch dezentrale Logik verändert wird

24 Das Projekt Coherence QuickWins
Organisationseinheiten (OE) Einsparung von MIPS durch weniger häufiges Aufrufen der Transaktion ML744 Einsparung 66% der Aufrufe IKESA Einsparung von 99% der DB2-Queries PSF und Session-Handling Ersatz der JBF-Internen Messaging Verarbeitung BLZ und BIC Liste

25 Agenda Distributed Caches Oracle Coherence - Konzepte
Oracle Coherence - Anwendung Demo Coherence Anwendungsfälle - heute Vorstellung der Thematik Distributed Cache Funktionsweise anhand von Coherence wird erklärt Die Ideen bezüglich Distributed Cache werden vorgestellt: Ikesa cache Verwendung Grid anstatt AQ Die Servicewolke Demo Coherence Anwendungsfälle - die Zukunft

26 Coherence Zukunftsplanung
Ersatz von Oracle-AQ durch Coherence im Bereich Grid Bessere und flexiblere Ausnutzung der vorhandenen Rechnerressourcen

27 Coherence anstatt AQ – vorher: Master / Worker Pattern

28 Coherence anstatt AQ – nachher: Coherence manages Tasks

29 Heute: Portale mit Queues
JPortal 1 JPortal 4 CustId: CustId: JPortal 2 JPortal 5 CustId: CustId: JPortal 3 JPortal n CustId: CustId: n

30 Morgen: Portale in einer Grid-Wolke
JPortal 1 JPortal 4 CustId: CustId: JPortal 5 CustId: JPortal 2 CustId: JPortal 3 JPortal n CustId: CustId: n

31 Vorteile für das Grid Stark reduzierte Komplexität
Anstatt vieler Queues nur noch eine Coherence Wolke Einfacher Portalumzug Das leerlaufen lassen und umziehen der Queues entfällt Einfacheres Monitoring Coherence „weiß“ wo sich die Tasks befinden Geringere Latenzzeit

32 Der nächste Schritt, weg vom Portal hin zu Wolke
JPortal 1 JPortal 4 CustId: CustId: JPortal 5 CustId: JPortal 2 CustId: JPortal 3 JPortal n CustId: CustId: n

33 Der nächste Schritt, weg vom Portal hin zu Wolke
Software Stack 3.3 JPortal 1 JPortal 4 Software Stack 3.2 Software Stack 3.3 Software Stack 3.3 JPortal 2 JPortal 5 JPortal 3 Software Stack 4.0 JPortal n Software Stack 4.0

34 Neue Möglichkeiten – neue Flexibilität
Software Stack 3.3 Software Stack 3.2 Software Stack 3.3 Software Stack 3.3 Software Stack 4.0 Software Stack 4.0

35 Vorteile für den Betrieb
Wegfall des Redirector User benötigt keine Session mehr auf den Servern Wegfall von Apache und MOD_JK Die Wolke konfiguriert sich selbst Requests werden versioniert in die Wolke gestellt und von einem beliebigen Server mit dem richtigen Softwarestack beantwortet Wegfall des Portalstruktur Ein Server kann irgendwo im RZ stehen und muss nicht zwingend einem Schrank zugeordnet werden

36 Fragen? – Diskussion? Matthias Schorer Harald Wiedemer
Anwendungsentwicklung 089/ Harald Wiedemer Oracle Deutschland GmbH 0711/

37 Ihr IT-Partner Vielen Dank


Herunterladen ppt "Oracle Coherence – Einführung und Anwendungsfälle"

Ähnliche Präsentationen


Google-Anzeigen