ibm db2 for z/os - s.k. consulting · db2 version 9 - Übersicht (db2_v9_overview.ppt) ibm db2 for...
TRANSCRIPT
1März, 08
DB2 Version 9 - Übersicht
(DB2_V9_Overview.ppt)
IBM DB2 for z/OS
(*)
(*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc.
2März, 08
DB2 Version 9 (Überblick)
• 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
3März, 08
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
• 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.
4März, 08
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
5März, 08
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
• 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
6März, 08
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
7März, 08
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
8März, 08
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
9März, 08
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
Alle Änderungen in der Tabelle E;P_INFO innerhalb der letzten 30 Tage
SELECT * FROM EMP_INFO
WHERE ROW CHANGE TIMESTAMP FOR EMP_INFO <= CURRENT TIMESTAMP
AND ROW CHANGE TIMESTAMP FOR EMP_INFO >= CURRENT TIMESTAMP - 30 days
CREATE TABLE EMP_INFO
(EMPNO CHAR(6)NOT NULL,
EMP_INFOCHANGE NOT NULL GENERATED
ALWAYS FOR EACH ROW
ON UPDATE AS ROW
CHANGE TIMESTAMP,
EMP_ADDRESS VARCHAR(300),
EMP_PHONENO CHAR(4),
PRIMARY KEY (EMPNO) )
10März, 08
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
11März, 08
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
12März, 08
DB2 Version 9 (Überblick)
DB2 V9 – SQL Erweiterungen
INDEX on <expression>
CREATE TABLE employee ( id INTEGER NOT NULL,
lastname VARCHAR(20) NOT NULL,
firstname VARCHAR(20) NOT NULL,
salary DEC(15,2) NOT NULL,
bonus FLOAT)
Folgender Index:
CREATE INDEX upper_empname ON employee
( UPPER(lastname, 'EN_US'),
UPPER(firstname, 'EN_US'), id )
SELECT id FROM employee
WHERE 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.
13März, 08
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
14März, 08
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
15März, 08
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
16März, 08
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
17März, 08
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
18März, 08
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 BACKUPsbasierend auf COPYPOOL
Sicherungen mit SYSTEM BACKUP
19März, 08
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
CREATE ROLE PROD_DBA;
GRANT DBADM … TO PROD_DBA;
CREATE TRUSTED CONTEXT DBA1 …
DEFAULT ROLE PROD_DBA OWNER(ROLE);
20März, 08
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
21März, 08
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
22März, 08
DB2 Version 9 (Überblick)
DB2 V9 – „Optimization Center“
23März, 08
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…