Kein Folientitel - SK Consulting Services GmbH

Werbung
(*)
IBM DB2 for z/OS
DB2 Version 9 - Übersicht
(DB2_V9_Overview.ppt)
(*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc.
März, 08
1
DB2 Version 9 (Überblick)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
März, 08
SHRLEVEL(REFERENCE) for REORG of LOB TS
of LOB table spaces
Online RENAME COLUMN / INDEX
Online CHECK DATA and CHECK LOB
Faster REORG by intra-REORG parallelism
More online REORG by eliminating BUILD2 phase
LOB Lock reduction
Skipping locked rows option
Online REBUILD INDEX
Change SCHEMA & VCAT
Tape support for BACKUP / RESTORE SYSTEM
utilities
Recovery of individual tablespaces and indexes from
volume-level backups
Enhanced STOGROUP definition
Utility TEMPLATE switching
Conditional restart: automatic search for appropriate
checkpoint
CLONE Table: fast replacement of one table with
another Buffer management by WLM
Global query optimization
Generalizing sparse index / inmemory data caching
Optimization Service Center
Autonomic reoptimization
Logging enhancements
LOBs Network Flow Optimization
Faster operations for variablelength rows
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
NOT LOGGED table spaces
Index on expressions
Universal Table spaces
Partition-by-growth table spaces
APPEND option at insert
Autonomic index page split / Index page sizes 8K, 16K, 32K
Support for optimistic locking
Faster and more automatic DB2 restart
MODIFY RECOVERY enhancements
RLF improvements for remote application servers such as SAP
Preserving consistency when recovering individual objects to a
prior point in time
DECIMAL FLOAT, BIGINT, VARBINARY, BINARY
TRUNCATE TABLE statement
MERGE statement
FETCH CONTINUE
ORDER BY and FETCH FIRST n ROWS in sub-select and full-select
ORDER OF extension to ORDER BY
Various scalar functions
XML support in DB2 engine
Native SQL Stored Procedures, able to use zIIP
SELECT FROM
UPDATE/DELETE/MERGE
IPv6 support
Unified Debugger
Automatic creation of database objects
Utilities CPU reduction
2
DB2 Version 9 (Überblick)
DB2 V9 – Unterstützung der nächsten Welle von Web Anwendungen
XML Datenspeicher
SQL Portierbarkeit in der DB2 Familie
DDF Erweiterungen für verteilte Anwendungen
•
•
•
•
März, 08
XML native Datenspeicher
XML Datentyp (CREATE/ALTER TABLE mit XML Datentyp / CREATE INDEX)
Unterstützt INSERT / UPDATE / DELETE / SELECT
DB2 Utilities (LOAD/UNLOAD, CHECK DATA/INDEX, COPY, REBUILD, RECOVER,
REORG, etc.
3
DB2 Version 9 (Überblick)
DB2 V9 – Unterstützung der nächsten Welle von Web Anwendungen
XML Datenspeicher
SQL Portierbarkeit in der DB2 Familie
DDF Erweiterungen für verteilte Anwendungen
März, 08
4
DB2 Version 9 (Überblick)
DB2 V9 – Unterstützung der nächsten Welle von Web Anwendungen
XML Datenspeicher
SQL Portierbarkeit in der DB2 Familie
DDF Erweiterungen für verteilte Anwendungen
•
•
•
•
•
•
•
März, 08
64 Bit Modus
SHARED PRIVATE Bereich für DBM1 und DDF
Vermeidung von Datenbewegungen zwischen DBM1 und DDF
Adressraum bei SQL Operationen
IPV6 und SSL
VTAM Definition ist nun optional
Vorbereitung zur Elimierung des PRIVATE PROTOCOL
5
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
XML
MERGE
SELECT FROM UPDATE, DELETE, MERGE
TRUNCATE
INSTEAD OF TRIGGER
BIGINT, VARBINARY, DECIMAL FLOAT
Native SQL Procedure Language
„Optimistic locking“
LOB „File reference variable“ & FETCH CONTINUE
FETCH FIRST & ORDER BY in Subselect und Fullselect
INTERSECT & EXCEPT
ROLE & „trusted context“
Neue „built-in functions“, caseless comparisons
Index auf Ausdrücke
Verbesserte DDL Konsistenz
CURRENT SCHEMA
März, 08
6
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
MERGE
• UPDATE und INSERT Operation
• Für OLTP Anwendungen wie SAP
MERGE
INTO account AS T
USING VALUES (:hv_id, :hv_amt) FOR 5 ROWS AS S(id,amt)
ON T.id = S.id
WHEN MATCHED THEN
UPDATE SET balance = T.balance + S.amt
WHEN NOT MATCHED THEN
INSERT (id, balance) VALUES (S.id, S.amt)
NOT ATOMIC CONTINUE ON SQLEXCEPTION
März, 08
7
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
INTERSECT,
EXCEPT & Erweiterung
im UNION
INTERSECT, EXCEPT, RANK, „caseless comparisons“…
Index Verbesserungen: index on expression
Verbesserte Optimierungsstatistiken : Histogram
REOPT AUTO/SMART
Optimierungs Methoden
• „Cross query block optimization“
• Generalisierte „sparse index“ & „in-memory data cache“ Methoden
• Dynamisches Index ANDing für Star Schemata
März, 08
8
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
Built-in timestamp für jede Row oder Page
• Automatischer Update von DB2
• Timestamp Prädikat ermöglicht die Prüfung ob die Row geändert wurde
CREATE TABLE EMP_INFO
(EMPNO
EMP_INFOCHANGE
EMP_ADDRESS
EMP_PHONENO
PRIMARY KEY (EMPNO)
CHAR(6)NOT NULL,
NOT NULL GENERATED
ALWAYS FOR EACH ROW
ON UPDATE AS ROW
CHANGE TIMESTAMP,
VARCHAR(300),
CHAR(4),
)
Alle Änderungen in der Tabelle E;P_INFO innerhalb der letzten 30 Tage
SELECT *
WHERE
AND
März, 08
FROM EMP_INFO
ROW CHANGE TIMESTAMP FOR EMP_INFO <= CURRENT TIMESTAMP
ROW CHANGE TIMESTAMP FOR EMP_INFO >= CURRENT TIMESTAMP - 30 days
9
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
DB2 9 – Schema Evolution
•
•
•
•
•
•
•
ALTER TABLE RENAME column / RENAME index
ALTER index BUFFERPOOL
ALTER column SET DEFAULT
ALTER TABLESPACE LOG NO/YES
ALTER TABLE APPEND YES/NO
CLONE Table
RENAME SCHEMA, OWNER, VCAT und CREATOR
Data Definition on Demand
DB2 V9 – Universal Tablespace
Eine Hybride zwischen „partitioned“ und „segmented“ Tablespace
• Eine Table pro UTS
• Inkompatibel mit MEMBER CLUSTER
„Partitioned-by-growth“ − immer UTS
• CREATE TABLESPACE MAXPARTITIONS integer
• CREATE TABLE PARTITIONED BY SIZE EVERY integer G
• Bei einem „Single Table Tablespace“ und Universal Tablespace (UTS) möglich ( „default segsize“ = 4, max.
Grösse für die einzelne Partition = 4GB und die max. Anzahl Partitions = 256 ; dies begrenzt die „default size“
der Tabelle auf 1 TB)
„Partitioned-by-range“
CREATE TABLESPACE SEGSIZE integer NUMPARTS integer
März, 08
10
DB2 Version 9 (Überblick)
DB2 V9 – CLONE TABLE
Entspricht einem ONLINE LOAD REPLACE
Kopie der bestehenden TABLE
•
•
•
Alle INDEXES werden geclont
TABLE und INDEX Daten werden nicht bewegt
Die Datasets werden getauscht (wie im Fastswitch)
Nur für Single Table Tablespace (muss ein UTS sein)
Keine RI, AFTER TRIGGER und
MQTs
Utilities (ausser RUNSTATS) können
gegen den CLONE laufen
März, 08
11
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
INDEX on <expression>
CREATE TABLE employee ( id
lastname
firstname
salary
bonus
INTEGER NOT NULL,
VARCHAR(20) NOT NULL,
VARCHAR(20) NOT NULL,
DEC(15,2) NOT NULL,
FLOAT)
Folgender Index:
CREATE INDEX
(
SELECT
WHERE
upper_empname ON employee
UPPER(lastname, 'EN_US'),
UPPER(firstname, 'EN_US'), id )
id FROM
employee
bonus + salary > 100000 ;
CREATE INDEX total_compensation ON employee (salary + bonus)
Restriktionen:
• Jede „key-expression“ muss eine Referenz auf eine Tabellenspalte haben
• Alle Tabellenreferenzen müsse unqualifiziert angegeben sein
• Referenzierte Spalten können nicht vom Typ LOB, XML, DECFLOAT sein.
• Referenzierte Spalten können keine FIELDPROCs oder ein SECURITY LABEL enthalten.
• Eine „Key-expression“ darf folgendes NICHT enthalten: „subquery“, „aggregate function“, eine „not deterministic
function“, eine Funktion mit einer externen Aktion, eine „user-defined function“, eine Referenz auf eine Sequenz, eine
„host variable“, einen „parameter marker“ ein Spezialtregister, einen „CASE“-Ausdruck…. usw.
März, 08
12
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
„optimistic locking“
Will die Applikation eine FETCH Operation ausführen, um den CURSOR auf eine bestimmte Row zu positionieren,
so führt DB2 folgende Schritte durch:
a. Lock der Row
b. Ausführen des FETCH
c. Freigabe (Release) des Lock
Bei einem „positioned update / delete“ auf der Row passiert folgendes:
a. Lock der Row
b. Neu-Evaluation der Prädikate, um sicherzustellen, dass die Row immer noch zur Resultatstabelle gehört.e
März, 08
13
DB2 Version 9 (Überblick)
DB2 V9 – DB2 Utility Verbesserungen
CPU Reduzierung in LOAD und REORG
Parallel REORG bei Partitioned Tablespaces
• UNLOAD und LOAD der einzelnen Partitions war vorher seriell
• Laufzeit und CPU Verbesserungen
LOB File Reference Unterstützung - UNLOAD und LOAD
TEMPLATE Switching
• z.B. Schreiben von Image Copy auf TAPE oder DASD je nach Grösse
ONLINE CHECK DATA - shadow
ONLINE CHECK LOB - shadow
ONLINE REBUILD INDEX – in place
ONLINE REORG ohne BUILD2 Phase - shadow
REORG SHRLEVEL REFERENCE
für LOB Tablespaces - shadow
März, 08
14
DB2 Version 9 (Überblick)
DB2 V9 – Index - Performance
Neue Index Grössen
• Bufferpool 8K, 16K, 32K
• Compression für 8K und 16K möglich
• Online ALTER für Bufferpool und Compression
Autonomic Index Page Split
• Index split passiert wenn 50% der Index Page voll sind
• Problem bei sequentiellen INSERTs
• Neuer Algorithmus für sequential
und random INSERTs
- 4K gut für random INSERTs
- >4K gut für sequentielle INSERTs
März, 08
15
DB2 Version 9 (Überblick)
DB2 V9 – LOB - Performance
SHRLEVEL REFERENCE REORG LOB
•
Freier Platz kann wieder gebraucht werden
Eliminierung von LOB locks
Neue Technik um LOBs zu lesen
•
•
•
FETCH WITH CONTINUE
FETCH CURRENT CONTINUE
Für BLOBs, CLOBs, DBCLOBs und XML
Network Flow Optimierung durch Progressive Locator
Online Check LOB
UNLOAD/LOAD LOBs > 32K
DB2 V9 – INSERT Performance
CREATE TABLE ... APPEND YES
INSERT am Ende der Tabelle
DB2 ignoriert die clustering Sequenz - Bei SQL INSERT und ONLINE LOAD
Table kann schnell wachsen - FREESPACE und PCTFREE werden nicht beachtet
Wenn die „clustering sequenz“ nicht benötigt wird - Clustering kann über REORG wieder
erreicht werden
Für kritischen Workload mit hohen INSERT Raten
März, 08
16
DB2 Version 9 (Überblick)
DB2 V9 – VARCHAR - Performance
Reordered Row Format (RRF) vs Basic Row Format (BRF)
DB2 V9 – „Autonomic Computing“
Bufferpool Management durch WLM
Recovery einzelner Objekte von Plattensicherungen
Änderung des Early Code ohne IPL
BACKUP / RESTORE von Band
RECOVER auf Konsistenz Punkt
MODIFY RECOVERY
Automatische Definition von Datenbank und Tablespace
Automatischer Index Page Split
Schnellerer und automatisierter DB2 Restart
Automatische Suche des passenden Checkpoint
März, 08
17
DB2 Version 9 (Überblick)
DB2 V9 – WLM Unterstützung
Grösse des Bufferpools
Aktivierung auf einzelnem Bufferpool
Neue Grösse ist im BSDS
DB2 Restart benutzt die letzte allozierte
Grösse
DB2 V9 – RECOVER von Volume BACKUPs
basierend auf COPYPOOL
Sicherungen mit SYSTEM BACKUP
März, 08
18
DB2 Version 9 (Überblick)
DB2 V9 – Sicherheit
Roles
Network Trusted Contexts
Improved auditing
Data Encryption
Secure Socket Layer
DB2 V9 – Database ROLEs
ROLE ist eine “virtuelle authid”
• Zugeordnet via TRUSTED CONTEXT
• Ermöglicht zusätzliche Rechte in einem
“trusted environment”
• Benutzung mit der bestehenden
primary AUTHID
März, 08
CREATE ROLE PROD_DBA;
GRANT DBADM … TO PROD_DBA;
CREATE TRUSTED CONTEXT DBA1 …
DEFAULT ROLE PROD_DBA OWNER(ROLE);
19
DB2 Version 9 (Überblick)
DB2 V9 – Synergie mit System z
System z9 Integrated Information Processor (zIIP)
IPv6
SSL
Java
Decimal float
Backup & Restore
Security
Unicode collation
Compression
System z Application Assist Processor (zAAP)
WLM enhanced
Neuer IBM System z9 Integrierter Informations prozessor (zIIP)
Folgende DB2 for z/OS V8 workloads können davon profitieren
(1) ERP, CRM, Business Intelligence oder andere Anwendungen - Via DRDA über eine TCP/IP
Verbindung
(2) Data warehousing Anwendungen - Anforderungen die parallele Queries gebrauchen
(3) DB2 for z/OS V8 utilities - Interne DB2 Utility Funktionen um die Index Strukturen zu bauen
März, 08
20
DB2 Version 9 (Überblick)
DB2 V9 – Verbesserung des Data Warehousing und OLTP ReportingSystem
QMF
„Drag and drop querying“, Reporting und Analyse
„Executive dashboards“ und datenvisualisierung
Verbessertes OLAP mit DB2 „Cube Views“
Neu entwickelte „cross-platform development environment“
Neues „security model“ zur Zugriffskontrolle & „personalization“
Bereit für den WebSphere Application Server
März, 08
21
DB2 Version 9 (Überblick)
DB2 V9 – „Optimization Center“
März, 08
22
DB2 Version 9 (Überblick)
DB2 V9 –Planung & Voraussetzungen
Beta Start Juni 2006(!)
Erwartete Verfügbarkeit April 2007
Verfügbar seit Juni 2007
Alle DB2 Tools geplant für Ende 2006/Anfang 2007
• IBM Tivoli OMEGAMON
Performance Expert for
DB2 seit Okt 2006
• Andere DB2 Tools geplant
für Q2/2007
Es wird ALLES besser…
März, 08
23
Herunterladen