Oracle Core für Einsteiger: Datenbank I/O

106 Aufrufe

Veröffentlicht am

Martin Klier - http://www.performing-databases.com

Funktionsweise des RDBMS (Überblick)
Nutzung des Massenspeichers
Automatic Storage Management (Überblick)
Darstellung verschiedener IO-Typen
Storage Sizing Basics

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
106
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
6
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Oracle Core für Einsteiger: Datenbank I/O

  1. 1. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 2/32 Oracle Core für Einsteiger: Datenbank I/O Martin Klier Performing Databases GmbH Mitterteich #FiveWordTechHorrors „Storage comes from other department“
  2. 2. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 3/32 Referent ● Martin Klier ● Lösungsarchitekt und Datenbankspezialist ● Fachliche Schwerpunkte: – Performanceoptimierung / Tuning – hochverfügbare Systeme – Cluster und Replikation ● Linux seit 1997 ● Oracle Database seit 2003
  3. 3. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 4/32 Referent ● Vorträge ● Kontakt: martin.klier@performing-db.com ● Weblog: http://www.usn-it.de Regionalgruppen April 2014
  4. 4. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 5/32 Unternehmen ● Spezialisten für Datenbanktechnik – Konzeptberatung und Vergabekompetenz – Architektur- und Systemplanung – Lizenzierung – Realisierung und Troubleshooting ● Kontakt – Performing Databases GmbH Wiesauer Straße 27 95666 Mitterteich – Web: http://www.performing-databases.com – Twitter: @PerformingDB
  5. 5. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 6/32 Ziele ● Funktionsweise des RDBMS (Überblick) ● Nutzung des Massenspeichers ● Automatic Storage Management (Überblick) ● Darstellung verschiedener IO-Typen ● Storage Sizing Basics #NoHorror
  6. 6. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 7/32 Grundlagen Funktion DBMS #FiveWordTechHorrors „John knows everything about databases.“
  7. 7. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 8/32 TEMP Architekturschema (vereinfacht) Listener :1521 PMON SGA Session Session Buffer Cache Shared Pool Log Buffer ARCnSMON LGWR DBWn PGAs CKPT Session Online Redo Logs Archived Redo Logs Tablespace Undo Tbs.
  8. 8. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 9/32 TEMP Lesevorgang Listener :1521 SGA PGAs Session Tablespace Blöcke Sort, Hash, Merge Shared Pool select ... ; Buffer Cache „Buffer“
  9. 9. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 10/32 TEMP Daten-Änderung, Database Writer Listener :1521 SGA PGAs Session Tablespace Blöcke PMON ARCnSMON LGWRCKPT Shared Pool DBWn Aber: Database Writer ist ein Lazy Writer! Schreibvorgang auf HDD kann extrem nachhängen! Buffer Cache update ...;
  10. 10. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 11/32 TEMP Daten-Änderung (nur Redo) Listener :1521 SGA Buffer Cache Log Buffer PGAs Session Online Redo Logs Archived Redo Logs Tablespace Blöcke PMON ARCnSMON DBWn CKPT commit; LGWR
  11. 11. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 12/32 ● Bei Transaktion ● Wenn Log Buffer voll ● spätestens alle 3 Sekunden ● (wenn private strand geleert wird) Schreiben Redo Logs Online Redo Logs Archived Redo Logs ARCn Log Buffer LGW1 LGW2 Paralleles Schreiben möglich aber: Bug 19959089
  12. 12. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 13/32 TEMP Daten-Änderung (komplett) Listener :1521 SGA Buffer Cache PGAs Session Tablespace Undo Tbs. Blöcke PMON SMON Shared Pool update ...; Log Buffer Online Redo Logs Archived Redo Logs LGWR ARCn CKPT DBWn
  13. 13. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 14/32 Einige IO-Kategorien #FiveWordTechHorrors „Storage is fast. What's IOPS?“
  14. 14. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 15/32 Tablespace DB file sequential read Buffer Cache 6 Single Block Read IOs (=„random access“) 6 Memory Access Calls (CPU)
  15. 15. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 16/32 ● Verwendet für Einzelzugriffe (Index Block) ● In äußerst geringem Maß auch bei Vollzugriffen möglich ● 1 I/O call liest1 Blockim TBS ● Schreibt Buffer auf optimalen Platz im Cache DB file sequential read
  16. 16. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 17/32 Tablespace DB file scattered read Buffer Cache 1 Multiblock Read IO 6 Memory Access Calls (CPU)
  17. 17. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 18/32 ● Verwendet für FULL SCANs (Table, Index …) ● 1 I/O call liestn zusammenhängede Blöckeim TBS ● max(n) = DB_FILE_MULTIBLOCK_READ_COUNT ● Schreibt „scattered“ im Buffer Cache Ziel: Sparen von IO-Zeit DB file scattered read
  18. 18. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 19/32 Tablespace Direct Path Read Prozess-PGA 1 Multiblock IO Call 1 Memory Access Call (CPU)
  19. 19. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 20/32 ● Verwendet für Massen-Lesevorgänge (Parallel Exec, Export.. ● 1 I/O call liestn zusammenhängende Blocksim TBS ● max(n) = DB_FILE_MULTIBLOCK_READ_COUNT ● Schreibt zusammenhängend in die Prozess-PGA Ziel: Sparen von IO- und CPU-Zeit Direct Path Read
  20. 20. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 21/32 Oracle ASM #FiveWordTechHorrors „No ASM diskgroups are online“
  21. 21. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 22/32 ASM LUN 1 LUN 2 LUN 4 LUN 5 Location A Location B LUN 3 LUN 6 Diskgroup A Diskgroup B Oracle Datenbank Instanz ASM Instanz Verwaltung Administration Direktzugriffe Online Redo Logs Datafiles Backups ... Spiegelung Spiegelung + Striping
  22. 22. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 23/32 ● „Automatic Storage Management“ (Automagic?) ● Logical Volume Manager ● Umgehung des Verwaltungslayers für Datenzugriffe (analog Raw Device) ● Multi-Master-fähig ● Bedienung über SQL oder Command Line Tools ASM
  23. 23. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 24/32 InMemory ist cool. Cool reicht nicht. UseCase muß passen. #FiveWordTechHorrors „InMemory solves all performance problems“
  24. 24. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 25/32 Storage Sizing Basics #FiveWordTechHorrors „Database fits into cache anyway“
  25. 25. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 26/32 ● Die Datenbank passt ohnehin in den Cache. ● Wir vermeiden IO sowieso wo es geht. ● Warum spiegeln - wir machen stündliche Archivelog-Backups ● Vor zehn Jahren waren das noch Megabytes. ● Ich mache das schon seit 20 Jahren: Unsere Storage IST schnell genug für XYZ. #StorageTechHorrors
  26. 26. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 27/32 TEMP Daten-Änderung (komplett) Listener :1521 SGA Buffer Cache PGAs Session Tablespace Undo Tbs. Blöcke PMON SMON Shared Pool update ...; Log Buffer Online Redo Logs Archived Redo Logs LGWR ARCn CKPT DBWn 1 1 1 1 ? ? ? CF 1
  27. 27. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 28/32 – Falsch –1. Data Block - eins 2. Undo Block - zwei 3. Online Redo Log - drei 4. Archived Redo Log - vier 5. Control File - fünf 5-Finger-Faustregel – aber ok – +1 für weitere(n) Block +1 für Flashback Log
  28. 28. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 29/32 IOPS von Medien HDD SSD 50x SSD Storage 15x 7.000 100.000 Storage S-Cluster 10x 1.000.000 140 7.000 100.000
  29. 29. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 30/32 W hitepaper!1. Grundfunktionen 2. Read IOs 3. Automatic Storage Management 4. InMemory vs. IO 5. Storage Sizing Grundlagen Zusammenfassung Download Präsentation und Whitepaper http://www.performing-databases.com
  30. 30. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 31/32 Q & A Download Präsentation und Whitepaper http://www.performing-databases.com

×