DB2 für zOS bzw. OS/390 auf zSeries

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Objektrelationales Mapping mit JPA
Web Storage System - Einrichten, Verwalten und Anwendungsmöglichkeiten
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
1 Spezielle Packages des Java SDK (1.4) java.nio.
Dateisysteme Was sind Dateisysteme (Definition)
Projektgruppe SAP R/3 auf Linux Cluster
On a Buzzword: Hierachical Structure David Parnas.
Kapitel 7.2 Dining philosophers problem
SQL als Abfragesprache
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Transaktionen in verteilten Datenbanken
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Otto-von-Guericke-Universität Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Hierarchische DBMS
Linux-HA-Cluster – Heartbeat mit DRBD
Kapitel 14: Recovery Oliver Vornberger
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Recovery AIFB SS Einbringstrategie der Pufferverwaltung(1/4) Die bestimmt, wann geänderte Seiten in die Datenbank eingebracht werden. Sie.
Oracle Real Application Cluster (RAC)
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Evaluierung des ITU-T.124 Telekonferenzstandards
ODBC (Open Database Connectivity)
Entwicklung verteilter eingebetteter Systeme - Einführung
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Backup und Recovery sehr großer Datenbanken
MDM Systeme im Test Udo Bredemeier
PSI - Überblick und Szenarien
Warum brauche ich ein CMS – Content Management System?
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Service Computing   Prof. Dr. Ramin Yahyapour IT & Medien Centrum 19. Januar 2010.
3.4 CPU-Chips und Busse CPU-Chips
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
HORIZONT 1 XINFO ® Das IT - Informationssystem XINFO V3R2 HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
HORIZONT 1 XINFO ® Das IT - Informationssystem Eclipse Plugin HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Präsentation von Lukas Sulzer
Vorlesung #10 Physische Datenorganisation
Netzwerke.
Domain Name Service Grundlagen, Implementierung im Active Directory und Integration von Win2k-Domains in bestehende Umgebungen Kay Sander.
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
ADAT©2004,2006 Dipl. - Ing. Walter SabinSeite: 48 Version 1.0a Recovery Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen.
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 28 Version 1.0a Elementare Datenstrukturen –Tables Ansammlung von rows Jede row enthält eine oder mehrere column(s)
Designvorschläge für regionale Dashboards
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Structured Query Language
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
SystemJ AbschlußpräsentationDBJCatalogManager Dennis Heimann + Marcus Hetterle Friedrich Schiller Universität Jena 2005.
Datenbanksystementwicklung – Systemarchitektur & Prozessmodell – Knut Stolze
DB2 für OS/390 und zSeries Architektur von DB2 für S/390 und Unterschiede zu DB2 für LUW.
Architektur- und Realisierungsaspekte von Oracle Real Application Cluster (RAC)
SysAdminDay2015 Benedict Berger. Über den Sprecher Benedict Berger.
Lync and Learn mit Manfred Helber Thema heute: Überblick der Leistungserweiterungen von Windows Server 2016 Start: 9.30 Uhr 30 Minuten Vortrag & Demo 30.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Effektives Delta Laden DOAG SID Data Warehouse. Ziele Welche CDC Methoden gibt es? Typische Fallen Verschiedene Lösungsansätze praktische Beispiele.
Thomas Tretter, 10. Februar 2004Oracle Label Security1 Oracle Label Security (fine grained access control) 10. Februar 2004.
Reorganisation und Administration großer SAP-DB Manfred Riemer SAP AG (z.B. MCOD-Systeme)
DOAG SID Data Warehouse
WS2016: Die wichtigsten Neuigkeiten in der Praxis
Dipl.-Inform. Obaydah Moallim
1.Event Queue.
Transaktionsabbruch, System Crash, Media Failure
"MANUELLE" PHYSICAL STANDBY SYSTEME FÜR STANDARD EDITION UNTER RAC.
Indexierung Oracle: indexes Indexierung.
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
 Präsentation transkript:

DB2 für zOS bzw. OS/390 auf zSeries Nutzung des Parallel Sysplex

Inhalt Data Sharing Konzepte Share Group Sysplex im Übeblick Global Locking Group Buffer Pool Update Beispiel Castout Global Logging und Recovery

Data-Sharing Konzepte Partitioned or Shared-Nothing (SN) Technologie Kopplung mehrere getrennter Systeme zu einem Rechnerverbund Jeder Knoten mit eigenem I/O System 2 Zugriffsmethoden: - Function Shipping Methode Funktionen wird auf entfernten Knoten Aufgerufen und das Ergebnis übertragen. - I/O Shipping Methode Starten entfernter I/O Operation Daten werden transportiert Locking übernimmt entfernter Knoten SN: -2pc Protokoll stellt sicher, dass bei gleichzeitiger Transaktion auf zwei DB‘s erfolgreiches Commit - 1:1 Beziehung zwischen DBMSs und Datenbank

Data-Sharing Konzepte Shared-Disk (SDi) Technologie Rechnerverbund mit gemeinsam genutztem I/O System - dafür notwendig: Global Locking und Synchronisationsprotokolle - Lock Manager verwaltet Locks auf einem Knoten - Knoten der Seite Anfordert verwaltet Lock - Buffer Invalidation !!!  Shared Data (SDa) SDi: - Daten für alle zugänglich - Vorteile: - Redundanzfreie Abspeicherung von Daten, die auf mehreren System genutzt werden - Änderungen sofort für alle sichtbar Low Level Version im Buffer SDa: - bessere Perfomance, Weiterentwicklung des SDi

Anspruch - Skalierbarkeit des Systems  aufteilen der Arbeitslast auf zwei CPC (central prozess complexes) - gleiche Lese- und Schreibzugriffsrecht für alle DBMS - Aufnahme neuer Subsysteme ohne weiteres möglich - capacity when you need it Multisystemüberwachung wird nur aktiviert, wenn wirklich gleichzeitiger Zugriff erfolgt Data Sharing auf jedem Granulat unterstützten (table space, table, page, row) vollen Zugriff auf: - den OS/390 Nutzerkatalog - gemeinsam genutzte Datenbanken/ICF (integrated catalog facility) Nutzerkatalog - DB2 Katalog und Systemkatalog - Recovery Log’s und Bootstrap Data Sets (BSDSs) jedes Mitgliedes sicherer paralleler Zugriff auf Daten der DASD‘s ohne „lange Wartezeiten“ für Transaktionen Skalierbarkeit ohne Kopien der Datenbankkataloge und Daten anzufertigen Sysplex query paralism: ermöglicht die gesamte Leistung für eine Anfrage zu verwenden

Share Gruppen DB2 Subsysteme, die auf das DASD (direct access storage device) zugreiffen werden zu einer data sharing group gefasst DB2 Systeme Arbeiten auf einzelnen MVS (multiple virtual storage)/OS390 Systemen in jeder Gruppe können mehrere OS/390 Systeme vorkommen Nutzung eines Datenbankkatalogs in einer Sysplex können mehrere Gruppen definiert werden z.B. Entwicklergruppe und Testgruppe o.ä. ohne Daten doppelt zu Speichern

Parallel Sysplex - Überblick - GBP Group Buffer Pool - SCA Shared Communication Area - Sysplex Timer für Logging DASD Direct Access Shared Disk BSDS Bootstrap Data Set SCA: Shared Communication area: Zeichnet den Exception Status der Datenbank auf und wird für Optimierungsprozesse verwendet - einzelnen MVS bzw. dessen Prozessoren (CPCs-central processing complexes) sind mit der Coupling Facility über CF channels und high-speed fiber optic links Verbunden, die es den MVS erlauben gleichzeitig/CPU Synchron mit der CF zu interagieren - Jedes Mitglied hat seine eigenen Log’s sowie BSDS in der DASD Somit können alle anderen Benutzer bei einem auftretenden Fehler erfolgreiches Recovery durch die Einsicht in die Logs der anderen durchführen. Dazu benötigt DB2 noch einen so genannten sysplex timer der eine interne Systemzeit darstellt um den Zeitpunkt eines Fehlers und die zu diesem Zeitpunkt laufenden Transaktionen,… zu rekonstruieren.

Global Locking IRLM kommuniziert über die XES (system extended services) mit der CF lock struktur Konfliktbehebung erfolgt über direkte CTC (channel to channel) Verbindung mit Hilfe der XCF (cross-system coupling facility) Wesentlichen Bestandteile der CF Lock Struktur : - Lock Table - Record List eine CF Lock Struktur für n OS/390 Systeme Auf jedem der Systeme läuft ein DB2 Subsystem Jedes DB2 Subsystem ist mit einem IRLM – sozusagen der LLM lokale lock manager – verbunden für das intra-DB2 locking IRLM kommuniziert über XES system extended services mit der CF lock struktur = GLM global lock manager Tritt ein Konflikt zwischen den LLM auf wird die XCF cros-system coupling facility komponente benutzt um den Fehler über die CTC channel to channel Verbindung zu beheben Zwei wesentlich Bestandteile: Lock Table: dient dem schnellen Erkennen von inter-DB2 Lock Konflikten Record List: dient dem schnellen Erkennen von modify locks und retained locks modify locks und retained locks wenn ein System während einer Transakion ausfällt können alle anderen DBMS auf die evtl. inkonsistenten Daten zugreifen modify lock wird bei einem Update durch einen Member erstellt tritt fehler auf, dann wird aus modify lock ein retined lock bis das fehlerhafte System ein Recovery zurück zu einem konsistenten Zustand durchführt oder eine gewisse Zeit verstrichen ist Retained locks stehen in der Record list und im IRLM Redundanz für schnelleren Zugriff auf Ressourcen Modify locks und nonmodify locks

Nutzung der Lock Table Lockzustände SHR Besitzer EXC Besitzer Exklusiv (EXC) Shared (SHR) Frei SHR Besitzer Bitmap für 32 Systeme EXC Besitzer n j i . 2 1 DB2A 0000000000000000… 01100011… Hashklassen Real Contention: Realer Wettbewerb um dasselbe Betriebsmittel False Contention: System mit Hasheintrag hält anderes Lock

DB2 ULWO Buffer Konzept Cachen von Seiten 50 buffer pools mit 4k großen Seiten  4k table space oder index space 10 buffer pools mit 32k großen Seiten Local Buffer Pool Virtual buffer pool Hiperpool - Direkter zugriff über - optional Adressraum - Auslagerungsspeicher des Virtual - R/W Operationen Pool - Abdeckung durch Hauptspeicher, - Expanded Storage Expanded Storage und Auxilary Storage - bis zu 8GB - bis zu 1,6GB „no force at commit“ Strategie (außer logs) Auxilary: zusätzlichen Zusammenfassen größerer Mengen von Daten um auf Disk zu schreiben (Performance)

DB2 OS/390 Buffer Konzept Problem: zweites DBMS kann down level version kurz nach Transaktion in seinen eigenen Puffer laden Cache Coherence Idee: force-at-commit (SDi) - veränderte Seiten werden sofort auf Platte geschrieben - Seiten in anderen buffer pools müssen als ungültig deklariert werden Bessere Lösung (SDa): group buffer pools in der Coupling Facility - nutzung der high speed channels und fiber optic links d.h. neue Seite muß durch I/O Protokoll auf Disk, Seiten der anderen als ungültig, andere DBMS müssen sich neue Seite von Disk holen = SCHLECHT Unter Cache Coherence versteht man das Problem des Updates von gecacheten Objekten. Man muß Verfahren entwickeln, um zu erkennen man ein Objekt veraltet ist, d.h. daß das Quelldokument geändert wurde, der Cache aber noch die alte Fassung des Dokuments besitzt. Das sicherste wäre es, bei jeder Anfrage an den Cache beim Original Server nachzufragen, ob die angeforderte Seite geändert wurde. Dies würde aber die Idee des Caches zum größten Teil zunichte machen

Group Buffer Pool Seiten werden Group Buffer Pool gespeichert Aktuellste Version immer im Puffer Xled Signals werden durch CF verwaltet ohne dabei Prozessorleistung zu beanspruchen Refresh vom GBP Kein direkter Zugriff auf GBP-BM regelt das DB2 erkennt dynamisch ob Daten zur Zeit global verwendet werden

Nutzung des Coherency Protocol zum Lesen einer Seite SDa Page Lock ist im SDa bereich immer Global Gültigkeitsprüfung durch BM erfolgt auf einem array in der Hardwar storage area

SDa Update Beispiel BP4 BP4 BP4 GBP4 UPDATE Angest SET Gehalt = ‚10000‘ WHERE name = ‚Hans‘ DB2A DB2B DB2C BP4 BP4 BP4 GBP4 Shared Disk Coupling Facility

SDa Update Beispiel BP4 BP4 BP4 GBP4 GBP4 UPDATE Angest SET Beruf = ‚Siebenschläfer‘ WHERE name = ‚Hans‘ DB2A DB2B DB2C BP4 BP4 BP4 GBP4 GBP4 Secondary GBP4 Shared Disk Coupling Facility Coupling Facility

SDa Update Beispiel X BP4 BP4 BP4 GBP4 GBP4 COMMIT Secondary GBP4 DB2A DB2B DB2C BP4 BP4 BP4 X GBP4 GBP4 Secondary GBP4 Shared Disk Coupling Facility Coupling Facility

SDa Update Beispiel X BP4 BP4 BP4 GBP4 GBP4 SELECT * FROM Angest THERE name = ‚Hans‘ DB2A DB2B DB2C BP4 BP4 BP4 X GBP4 GBP4 Secondary GBP4 Shared Disk Coupling Facility Coupling Facility

Castout BP4 BP4 BP4 GBP4 GBP4 Interest Flags Changed Cached Castout Status etc. DB2A 1 Yes Yes Yes DB2B 0 … DB2A DB2B DB2C Wann wird gecastet? - Directory Eintrag für jede verwendete Seite Speicherung im GBP Wann Castout?  Castout Threshold Castout class threshold Existiert eine castout class queue in der alle tabellen einer Partition vermerkt sind Überschreitet die Anzahl der Tabellen (z.B. 10% der Gesamtkapazität der Queue) eine gewisse Schranke werden diese auf Platte geschrieben Feste Anzahl von Cast Out Class Queues in Group Buffer Pool Überschreitet die Anzahl der Partitionen die Anzahl der Class Queues werden mehrere Partitionen in eine Class Queue gefasst Group Bufferpool Threshold Bildet Schranke für die Gesamtanzahl der geänderten gepufferten Seiten in einem GBP (50%) Gleiches Konzept in ULWO, außer dass hier nicht mehrere Partitionen in eine Queue können Nach Castout Löschen der Daten im secondary GBP DB2 verwendet beide Konzepte gleichzeitig BP4 BP4 BP4 GBP4 GBP4 Secondary GBP4 Shared Disk Coupling Facility Coupling Facility

Logging und Data Recovery LRSN log record sequential number für die ganze Gruppe (6byte) erzeugt durch Sysplex Timer diese ersten 6 Stellen des Time Stamp werden alle 16microsec. um eins erhöht  Problem: Zwei Updates auf die selbe Seite innerhalb der 16microsec.  Log Manager kontrolliert LRSN BSDS (Boot Strap Data Set): - Übersicht über alle active Log‘s und archive Log‘s - enthält LRSN der Logs - Checkpoints… Was passiert bei einem Fehler der CF ? Sicherheitsmaßnahmen: mind. 2 CF paralell laufen lassen prim. und sec. GBP - dazu noch SFM (Sysplex Failure Manager) BSDS: Informationen über die Logs wichtigster Ansprechpartner für Rollback usw. doppelte Speicherung des BSDS

Fakten und Zahlen SDi: Verwendet Intersystem Messaging um Lockkonflikte zu lösen (asynchron)  CPU Belastung Zeit: ~20msec SDa: Synchrone Interaktion mit der CF um Lockkonflikte zu lösen Zeit: ~100µsec Benötigt zum Auslesen einer 4K großen Seite 175µsec Begriff: Overhead  zusätzlich benötigte CPU Leistung um die selbe Leistung zu erreichen Statistik des IBM Santa Teresa Laboratory Test durch 7 verschiedene Tabellen und 7 Transaktionen  13,29% data sharing Overhead in two-way data sharing  13,55% data sharing overhead in three-way data sharing Overhead Beispiel: 2 non-Sharing Systeme schaffen insgesamt 200 Transaktionen/Sec wobei jeder n Units der CPU benutzt fügt man diese zusammen in eine in eine data sharing Umgebung und erreicht dabei mit der gleichen Anzahl der CPU Units nur noch 170 Transaktionen/Sec so hat man 15% data sharing Overhead