(*) 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