SlideShare a Scribd company logo
1 of 57
Download to read offline
IBM Power Systems




DB2 for i: 7.1 Overview
Hernando Bedoya, hbedoya@us.ibm.com
IBM STG Lab Services
DB2 for i Evangelist – IBM i




                                      © 2010 IBM Corporation
IBM Power Systems


DB2 for i Strategic Initiatives – V5R4
                                                                      The industry
    Openness - Industry Standard                                      trend toward
                                                                     off-the-shelf
    Support                                                         software results          iS eries Customers using S QL
      • Accomodate ISVs                                            in a move to SQL
                                                            100%           ...
      • Portability/Compatibility
                                                             80%
      • Flexibility                                          60%

                                                             40%
    Continued LEADERSHIP in database                         20%
    technologies                                              0%
                                                                1988        1992          1996               2000           2004
      • Consistency across DB2 family
      • Shared R & D across IBM Labs

    Continued Leveraging of iSeries Strengths        DB2 UDB for iSe rie s
     • Availability                          M icros oft SQL Se rve r 2000
     • Scalability                                            Oracle 10g
     • Usability - Total Cost of Ownership                                 0   10   20   30   40   50   60   70   80   90 100

     • Application Flexibility                                                           2003 Core Items

                                                                   SQL 2003 Core Standard
                                                                   100% Complete with V5R4!!
2                                                                                                                 © 2010 IBM Corporation
IBM Power Systems


DB2 for I V5R4 Enhancements
Application Flexibility & Portability     Performance
  Free Format RPG & SQL                     SQL Query Engine enhancements
  PHP DB2 interface                            – LIKE & LOB Support
  MySQL Support on i5/OS
                                               – Sensitive Cursors
  Enhanced SQL Standards support
                                               – Autonomic Indexes
      – Scalar FullSelect
                                            Faster SQL Procedural Language
      – Standard Flagger                    Enhanced MQT Optimization
    Improved DB2 Family Compatibility       Faster XML Extenders
      – Recursive Expressions
      – OLAP Support – RowNumber & Rank   Usability
      – ANS Timestamp Format                iSeries Navigator Enhancements
      – TDES Encryption                        – DB2 On Demand Performance Center
      – 2 MB SQL Statements & 32K keys         – SQE Plan Cache Analyzer
                                               – DB2 Health Center
OnDemand & Availability
                                            Resource Governor
  Cross-Reference Files Robustness
                                            Governor Exit Point
  Automatic Journaling Enhancements
                                            DB2 Content Manager
  SMAPP for EVIs
  Parallel Rollback Unlock




3                                                                                   © 2010 IBM Corporation
IBM Power Systems


DB2 for i 6.1 Enhancements
    Application Flexibility & Portability   Performance
      SQL & RPG Integration                   SQL Query Engine enhancements
      Enhanced JDBC & .NET support              – Sort sequence support
      Skip Locked Data                          – Self-Learning Optimizer
      Extended Indicator Variables
                                                – EVI-Only Processing
      VALUES on FROM
                                              Derived SQL Indexes
      Hidden Timestamp Columns
                                              Faster Full Opens
      Improved DB2 Family Compatibility
                                              Client Special Registers
        – OLAP Support – Cube & Rollup
        – INSERT on FROM
                                            Usability
        – Unsupported Syntax Tolerance        System i Navigator Enhancements
        – AES Encryption                        – Customizable Performance Analysis
                                                – Spreadsheet integration
    OnDemand & Availability
                                                – Plan Cache Enhancements
     Enhanced, online Reorg
     Library-level Journaling
                                                – Index Advisor Improvements
                                              DB2 Web Query for System i
                                              OmniFind Text Search Server




4                                                                               © 2010 IBM Corporation
IBM Power Systems


DB2 for i 7.1 Enhancements
    Rapid Application Development               Performance & Self-Tuning Enhancements
      SQL & RPG Integration                       SQL Query Engine (SQE) enhancements
      Stored procedure Result Set consumption       – Adaptive Query Processing
      FIELDPROC for transparent                     – Self-Learning Optimization
      column-level encryption                       – Inline UDF query rewrite
      XML Integration                               – Logical File on FROM support
        – XML data type                           Indexing Advancements
        – Annotated XML Decomposition               – SQL Select/Omit Indexes
        – SQL XML Publishing functions              – EVI Aggregates
      Three-part Aliases                          CPYFRMIMPF performance
      Compatibility with DB2 Family & Oracle      SSD & In-Memory Database Enablement
        – MERGE statement                         OmniFind Text Search Server enhancements
        – Array support & Global Variables
        – REPLACE option on CREATEs             Simplified Management
        – Currently Committed supported           IBM i Navigator Enhancements
      JDBC & .NET enhancements                      – Progress Monitors – Alter Table, Index Build
                                                    – Index Advisor improvements
    Trusted Reliability                             – Enhanced Generate SQL capability
      Enhanced Remote Journal filtering             – Object Folder content saves
      Library-level Journaling filtering
      IASP spanning transactions                Data Intelligence & Interoperability
                                                  DB2 Web Query for System i
                                                    – Excel client support
                                                    – Microsoft SQL Server adapter
5                                                                                      © 2010 IBM Corporation
IBM Power Systems




                    Application Development
                         Enhancements




6                                             © 2010 IBM Corporation
IBM Power Systems


Enhancements for IBM i Application Development

    ILE COBOL SQL Pre-compiler Enhancements
     – Concurrent Access Resolution parameter
     – Support for new COMP-5 type

    Improved SQL & ILE RPG Pre-compiler Integration
     – Concurrent Access Resolution parameter
     – Debug Encryption Key parameter
     – ALIAS keyword support

        CREATE TABLE customers(
         customer_number INTEGER,
         customer_name CHAR(30),
         customer_address VARCHAR(80))


        d DS1          E DS      EXTNAME(customers) QUALIFIED ALIAS
        * The subfields of data structure would be:
        *   CUSTOMER_NUMBER
        *   CUSTOMER_NAME
        *   CUSTOMER_ADDRESS
7                                                          © 2010 IBM Corporation
IBM Power Systems


Industry Standard Application Interface Improvements
    ADO.NET
     –   ‘Concurrent Access Resolution’ property
     –   Visual Studio 2008 support
     –   Online help integration with Visual Studio
     –   Support for Multi-row Delete, Merge, and Update statements
    ODBC
     – ConcurrentAccessResolution connection keyword
     – Support for Multi-row Delete, Merge, and Update statements
    OLE DB
     – ‘Concurrent Access Resolution’ connection property
    SQL CLI
     –   TINYINT data type support
     –   SQL_ATTR_CONCURRENT_ACCESS_RESOLUTION connection attribute
     –   Support for Multi-row Delete, Merge, and Update statements
     –   QIBM_SRVRMODE_SBS environment variable for QSQSRVR jobs (PTFs for 6.1, 5.4)
    JDBC
     – Support for SQL routine ARRAY parameters
     – "concurrent access resolution" connection property
     – Native JDBC driver enhancements
            "servermode subsystem" property to control subsystem used for QSQSRVR jobs
8
            Metadata compatibility with Toolbox JDBC and other industry drivers © 2010 IBM Corporation
IBM Power Systems


    FIELDPROC - Seamless Column-Level Encoding and Decoding

                                                                 Authorized Access
       New Order




                                                                      1111 2222 3333 4444
                                                            Decrypt
     1111 2222 3333 4444


                     Transparent FIELDPROC Encoding & Decoding
                           En
                             cr
                                  yp
                                    t

                                        r3vS#45zt!J9*m$p6


9                                                                              © 2010 IBM Corporation
IBM Power Systems


FIELDPROC Implementation Details
Developers have complete freedom to create virtually any column encoding/decoding
 – Encryption (3rd party solutions: Linoma Software, Patrick Townsend, nuBridges)
 – Data compression
 – Text normalization …
DB2 automatically calls registered FIELDPROC program for ALL interfaces
(applications, SQL, native record level-access, CL: DSPPFM, CPYF…)
  – Program must be an ILE program object and contain no SQL
  – Fieldproc program called for 3 different events:
         Column creation/registration to define attributes of the stored encoded value
         Write operations to encode data
         Read operations to decode data
FIELDPROC registration requires usage of SQL
 – Be extremely careful of using SQL ALTER statement on Physical Files

      ALTER TABLE orders ALTER COLUMN creditcardnum
                         SET FIELDPROC mylib/ccpgm

10                                                                         © 2010 IBM Corporation
IBM Power Systems


Global Variables

     Enables simpler sharing of values between SQL statements and SQL
     objects (Triggers, Views, etc) across the life of a job/database connection


     Example #1 – Cache User Information
     CREATE VARIABLE gvdept INTEGER DEFAULT
       (SELECT deptno FROM employee WHERE empuserID = USER);
     CREATE VIEW filtered_employee AS (
      SELECT firstname, lastname, phoneno FROM employee WHERE deptno = gvdept);

     …

     SELECT firstname, phoneno FROM filtered_employee;




11                                                                         © 2010 IBM Corporation
IBM Power Systems


Global Variables

     Example #2 – Conditional Trigger Behavior
     CREATE VARIABLE batch_run CHAR(1);
     CREATE TRIGGER track_expenses AFTER INSERT ON expenses
       REFERENCING NEW AS n FOR EACH ROW
     WHEN (batch_run='N')
      BEGIN
        DECLARE emplname CHAR(30);
        SET emplname = (SELECT lastname FROM employee WHERE empid=n.empno);
        IF n.totalamount < 10000 THEN
          INSERT INTO travel_audit
            VALUES(n.empno, emplname, n.deptno, n.totalamount, n.enddate);
       ELSE
          SIGNAL SQLSTATE '38001‘ SET MESSAGE_TEXT=‘Exceeded Maximum’;
       END IF;
       END
 …
VALUES ‘Y’ INTO batch_run;
 …
12                                                                       © 2010 IBM Corporation
IBM Power Systems


Result Set Integration – Embedded SQL & SQL Routines
     Programmers can now directly integrate stored procedure result sets with
     embedded SQL & SQL Routines
      – Key Enabler Statements: ASSOCIATE LOCATOR & ALLOCATE CURSOR
      – Optionally, DESCRIBE PROCEDURE & DESCRIBE CURSOR statements can be used
        to dynamically determine the number and contents of a result set
      …
     DECLARE sprs1 RESULT_SET_LOCATOR VARYING;
     CALL GetProj(projdept);
     ASSOCIATE LOCATORS(sprs1) WITH PROCEDURE GetProj;
     ALLOCATE mycur CURSOR FOR RESULT SET sprs1;
     SET totstaff=0;
     myloop: LOOP
      FETCH mycur INTO prname, prstaff;
                                                            Easy
      IF row_not_found=1 THEN                            Integration!
       LEAVE fetch_loop;
      END IF;
      SET totstaff= totstaff + prstaff;
      IF prstaff > moststaff THEN
       SET bigproj = prname;
       SET moststaff= prstaff;
      END IF;
     END LOOP;
     CLOSE mycur;
      …
13                                                                          © 2010 IBM Corporation
IBM Power Systems


Stored Procedure Enhancements

     Expressions on CALL statement
      CALL myprocedure ( 1, UPPER(company_name), company_discountrate*100 )


     ARRAY support for SQL Routines
      – Enables exchange of data collections
      – ARRAY element limited to simple data types
      – ARRAY type can be used as parameter for SQL Routine or a local variable
      – Interfaces supporting SQL Routine ARRAY parameters:
              JDBC
              SQL Routines
      – Examples:
          CREATE TYPE partids AS CHAR(3) ARRAY[10];
          CREATE TYPE intarray AS INTEGER ARRAY[5];




14                                                                                © 2010 IBM Corporation
IBM Power Systems


Stored Procedure Enhancements – ARRAY Example
     Return part type and quantity for the specified collection of parts
      CREATE OR REPLACE PROCEDURE list_parts
        (IN inparts partids, OUT part_qty intarray)
      DYNAMIC RESULT SETS 1
      LANGUAGE SQL
      BEGIN
       DECLARE cur1 CURSOR FOR SELECT t.id,part_qty,part_type
        FROM parts, UNNEST(inparts) AS t(id) WHERE t.id = part_id;
             IF CARDINALITY( inparts )>5 THEN
               SIGNAL SQLSTATE '38003'
                SET MESSAGE_TEXT='Too many parts';
             END IF;

       SET part_qty = (SELECT ARRAY_AGG(part_qty)
                       FROM parts,UNNEST(inparts) AS t2(id)
                       WHERE t2.id = part_id);
        OPEN cur1;                                OUTPUT
      END;                                                                 out_qty Array:
       ...
                                                                            [1] = 25
                                                                            [2] = 124
      SET myparts = ARRAY[‘W12’,’S55’,’M22’];
                                                                            [3] = 125
       CALL list_parts(myparts, out_qty);
15
       ...                                                                                  © 2010 IBM Corporation
IBM Power Systems


Simplified Remote Data Access
     Three-part Aliases
      – Simplifies access to DB2 objects on different partitions or
        servers (implicit DRDA connection)
      – Examples:
                                                                 Eliminates the need to
           CREATE ALIAS mylib.tab1
                                                                 explicitly use CONNECT
                   FOR rdb1a.mylib.tab1
                                                                 and SET CONNECTION.
           SELECT c1, c2 FROM mylib.tab1
           SELECT c1, c2 FROM rdb1a.mylib.tab1
      – Considerations
               A single SQL statement can only reference objects from a
               single database server
               Alias name must be the same as the object on the remote
               server. Local Alias can reference an Alias on remote server

     Automatic SQL DRDA Package Creation
      – Removes burden from developer having to create the required
        SQL packages on a remote server

16                                                                              © 2010 IBM Corporation
IBM Power Systems


Enhanced Parameter Marker Support


 BEFORE:
 SET stmt1 = ‘SELECT c2,c2 FROM tab1 WHERE c1 >
               CAST(? AS DECIMAL(8,2)) + CAST(? AS DECIMAL(8,2)) ’;
 PREPARE pstmt1 FROM stmt1;




AFTER:
SET stmt1 = ‘SELECT c2,c2 FROM tab1 WHERE c1 > ? + ?’;
PREPARE pstmt1 FROM stmt1;




17                                                               © 2010 IBM Corporation
IBM Power Systems




                    XML Integration




18                                    © 2010 IBM Corporation
IBM Power Systems


XML Integration with DB2
     Rich XML Support within DB2 for i –
     integrated solution that replaces DB2 XML
     Extender product
     – New XML data type to simplify storage and retrieval
       of XML documents
            XML data access protected with rock-solid DB2
            security
            XML covered by Database Backup and
            Recovery processes
     – Annotated decomposition of XML documents into
       DB2 columns
     – Generate XML document with SQL-XML publishing
       functions

     IBM OmniFind Text Search Server provides
     advanced, high-speed search capabilities for
     stored XML documents
     – Scope searches to specific elements of an XML
       document: /book/title[. contains(“winning”) ]
     – XQuery interface not yet supported
19                                                           © 2010 IBM Corporation
IBM Power Systems


XML Data Type
     <booking unitCharge="50" units="2"      New XML data type
              currency="USD"
               status="confirmed">             – Support XML values up to 2 GB
     <item>
      <room hotelName="White Palace"           – Type can be used for column, parameter, and
          type="suite"
          bookedFrom="2011-05-25"                host variable values
          bookedTo="2011-05-29“ />
                                             XML Schema-based validation supported
              CREATE TABLE                   INSERT INTO reservations(resdoc)
               reservations                   VALUES(XMLVALIDATE(
                                                     XMLPARSE(DOCUMENT
              ( resID INTEGER
                                                        GET_XML_FILE('/dir1/r6.xml'))
                      GENERATED
                                                     ACCORDING TO XMLSCHEMA
                      ALWAYS                         ID mylib.resschema) )
                      AS IDENTITY,
                resDoc XML )
                                             XML File Reference variables enable simple
                                             export XML documents to IFS
       DB2                                D MY_XMLFILE    S      SQLTYPE(XML_CLOB_FILE)
                                          /free
                                             MY_XMLFILE_NAME= '/out1.xml';
                                             MY_XMLFILE_NL = 9;
                                             MY_XMLFILE_FO = SQFCRT;
                                             exec sql SELECT resDOC INTO :MY_XMLFILE
                                                       FROM reservations WHERE resID=1;
20
                                           /end-free                           © 2010 IBM Corporation
IBM Power Systems

Integrated XML Utilities

     Built-in Functions:
     GET_XML_FILE          Returns the contents of an IFS file or source physical file member as
                           a LOB Locator value
     XMLVALIDATE           Validates XML value against an XML schema
     XMLPARSE              Parses Character/LOB data to produce XML value
     XMLSERIALIZE          Converts XML value into Character/LOB data

     XSLTRANSFORM          Convert XML data into other XML, HTML, and plain text formats
                           using the XSLT processor

     System Stored Procedures (SYSPROC library):
     XSR_REGISTER          Add an XML Schema document into the DB2 XML Schema
                           Repository (XSR) for Validation / Decomposition
     XSR_ADDSCHEMADOC      Merge an XML Schema within an existing XML Schema
     XSR_COMPLETE          Complete the registration of XML Schema(s) within DB2 XSR
     XSR_REMOVE            Remove a registered XML Schema document
     XDBDECOMPXML          Decompose an XML document into specified DB2 objects using
                           annotated decomposition

21                                                                                  © 2010 IBM Corporation
IBM Power Systems


Annotated XML Document Decomposition
                    1) Map the DB2 and   Authors
                       XML document                Books
                       relationships
     XML Doc
 …
 <author id=22>
 <name>Tony Dungy</name>
 <book
   isbn="1414318014" >                             2) Define mapping in XSD file
 <title>Quiet Strength</title>                     3) Register and stored XSD
 <publisher>
 Tyndale House                            XSD         mapping within DB2
 </publisher>                                         XML Schema Repository (XSR)
 </book>
 …




             4) Decompose/Shred          Authors
              the XML document                     Books




22                                                                        © 2010 IBM Corporation
IBM Power Systems


Decomposition Example             <xs:element name="shipment">
                                   <xs:complexType> <xs:sequence>                               XSD
                                       <xs:element name="author" type="authorType"
                                                           maxOccurs="unbounded" />
                                    </xs:sequence> </xs:complexType>
                                  </xs:element>
 <shipment>                       <xs:complexType name="authorType">
 <author id="22" >                  <xs:sequence>
                                     <xs:element name="name" type="xs:string”
 <name>Tony Dungy</name>
 <book isbn="1414318014" >                                       Payment Table
                                           db2-xdb:rowSet=“AUTHORS" db2-xdb:column="NAME" />
                                     <xs:element name="book" type="bookType"
 <title>Quiet Strength</title>                                  maxOccurs="unbounded" />
 <publisher>Tyndale</publisher>                              Column Name          Data Type
                                    </xs:sequence>
 </book>                           <xs:attribute name="id" type="xs:integer"><xs:annotation><xs:appinfo>
                                                             statement_id         varchar(30)
 <book isbn=“1414326815" >           <db2-xdb:rowSetMapping>
 <title>Uncommon</title>                                     amount
                                       <db2-xdb:rowSet>AUTHORS</db2-xdb:rowSet>   decimal(8,2)
 <publisher>Tyndale</publisher>        <db2-xdb:column>ID</db2-xdb:column>
                                     </db2-xdb:rowSetMapping>
                                                             payor                varchar(30)
 </book>
 </author>                           <db2-xdb:rowSetMapping> payor_account        char(6)
 </shipment>                           <db2-xdb:rowSet>BOOKS</db2-xdb:rowSet
                                       <db2-xdb:column>AUTHID</db2-xdb:column>
                                     </db2-xdb:rowSetMapping>
                                    </xs:appinfo> </xs:annotation>
                                  </xs:attribute> </xs:complexType>
                                  <xs:complexType name="bookType">
                                  <xs:sequence>
                                     <xs:element name="title" type="xs:string“
                                          db2-xdb:rowSet="BOOKS" db2-xdb:column="BTITLE" />
                                     <xs:element name="publisher" type="xs:string" />
                                   </xs:sequence>
                                   <xs:attribute name="isbn" type="xs:integer"
                                                 db2-xdb:rowSet="BOOKS" db2-xdb:column="ISBN" />
23                                                                                       © 2010 IBM Corporation
IBM Power Systems


Decomposition Example
     XML Decomposition Steps:
     1) Create XSD file with DB2 to XML mapping

     2) Store and register XSD file within DB2 Schema Repository (XSR)

           CALL SYSPROC.XSR_REGISTER (‘MYLIB', ‘BOOKSCHEM', null,
                               GET_XML_FILE(‘/dir/authbooks.xsd'), null)
           CALL SYSPROC.XSR_COMPLETE(‘MYLIB',‘BOOKSCHEM',null,1)

     3) Decompose XML Document
         CALL SYSPROC.XDBDECOMPXML
           (‘MYLIB',‘BOOKSCHEM', GET_XML_FILE('/mydir/ship1.xml'),null)

                     Decomposition Generated Statements:
                     INSERT INTO authors
                       VALUES(22, 'Tony Dungy')

                     INSERT INTO books
                       VALUES(22, 'Quiet Strength', 1414318014),
24                            (22, 'Uncommon', 1414326815)               © 2010 IBM Corporation
IBM Power Systems

SQL XML Publishing Functions
     XMLATTRIBUTES   Returns XML sequence that contains an attribute node for each non-null
                     argument
     XMLCOMMENT      Returns XML value with a single comment node from a string
     XMLCONCAT       Returns XML value that represents a forest of XML elements generated by
                     concatenating a variable number of arguments
     XMLDOCUMENT     Returns XML value with a single document node and zero or more nodes
                     as its children
     XMLELEMENT      Returns XML value that represents an XML element
     XMLFOREST       Returns XML value that represents a forest (sequence) of XML elements
                     that all share a specific pattern
     XMLPI           Returns XML value with a single processing instruction node
     XMLNAMESPACES   Returns the declaration of one or more XML namespaces
     XMLROW          Returns XML value with a single document node containing one top-level
                     element node
     XMLTEXT         Returns XML value with single text node that contains value of argument
     XMLAGG          Returns an XML sequence that contains an item for each non-value in set
                     of XML values
     XMLGROUP        Returns XML value with a single document node containing one top-level
                     element node from a group of rows
25                                                                                 © 2010 IBM Corporation
IBM Power Systems


SQL XML Publishing Example – XMLELEMENT & XMLATTRIBUTE
     Generate XML values for employees celebrating 25th anniversary:
SELECT XMLSERIALIZE(
 XMLELEMENT(NAME "employee", XMLATTRIBUTES(e.empno as "id"),
 XMLELEMENT(NAME "Name", e.firstnme ||' '|| e.lastname),
 XMLELEMENT (NAME "Extension",e.phoneno),
 XMLELEMENT (NAME "DeptNo", d.deptno)) AS CLOB(100) ) as “XMLResult“
FROM employee e, department d
WHERE e.workdept = d.deptno AND     Output for XMLResult:
 YEAR(CURRENT DATE) –               <employee id="000010">
   YEAR(hiredate) = 25                    <Name>JENNA HAAS</Name>
                                          <Extension>0420</Extension>
                                          <DeptNo>A00</DeptNo>
                                        </employee>
                                        -----------------------------
                                        <employee id="000050">
                                          <Name>JOSH GEYER</Name>
                                          <Extension>1103</Extension>
                                          <DeptNo>E01</DeptNo>
26
                                        </employee>             © 2010 IBM Corporation
IBM Power Systems


SQL XML Publishing Example - XMLFOREST
     Generate XML values for employees celebrating 25th anniversary using
     XMLFOREST to simplify query:
SELECT XMLSERIALIZE(
 XMLELEMENT(NAME "employee", XMLATTRIBUTES(e.empno as "id"),
 XMLFOREST(e.firstnme ||' '|| e.lastname as "Name",
              e.phoneno as "Extension",
             d.deptno as "DeptNo")
 ) AS CLOB(100) ) as “XMLResult“          Output for XMLResult:
                                          <employee id="000010">
FROM employee e, department d
                                             <Name>JENNA HAAS</Name>
WHERE e.workdept = d.deptno AND
                                             <Extension>0420</Extension>
 YEAR(CURRENT DATE) –
                                             <DeptNo>A00</DeptNo>
   YEAR(hiredate) = 25
                                       </employee>
                                       -----------------------------
                                       <employee id="000050">
                                         <Name>JOSH GEYER</Name>
                                         <Extension>1103</Extension>
                                         <DeptNo>E01</DeptNo>
27
                                       </employee>             © 2010 IBM Corporation
IBM Power Systems


SQL XML Publishing Example - XMLAGG
     Generate count and XML value for parts with specified type:
SELECT COUNT(*) AS PartCnt,
XMLSERIALIZE(
 XMLELEMENT(NAME "Parts", XMLATTRIBUTES(parttype AS "type"),
   XMLAGG(
     XMLELEMENT(NAME "pid", partid) ORDER BY partid)
 ) AS CLOB(130)) AS PartList
FROM parts WHERE parttype IN ('C01', 'E21')
GROUP BY parttype


     PartCnt                                PartList
        2           <Parts type="C01"><pid>000130</pid><pid>200140</pid>
                     </Parts>
        3           <Parts type="E21"><pid>000320</pid><pid>100330</pid>
                       <pid>200340</pid></Parts>


28                                                                 © 2010 IBM Corporation
IBM Power Systems


SQL XML Publishing Example - XMLGROUP
     Generate count and XML value for parts with specified type:
SELECT COUNT(*) AS PartCnt,
 XMLGROUP( parttype AS "type", partid AS "pid"
            ORDER BY parttype, partid
            OPTION ROW "Parts" ROOT "PartList") AS partlist
FROM parts
WHERE parttype IN ('C01', 'E21')
GROUP BY parttype

     PartCnt                                PartList
        2           <PartList><Parts><type>C01</type><pid>000130</pid>
                     </Parts><Parts><type>C01</type><pid>200140</pid>
                     </Parts></PartList>
        3           <PartList><Parts><type>E21</type><pid>000320</pid>
                     </Parts><Parts><type>E21</type><pid>100330</pid>
                     </Parts><Parts><type>E21</type><pid>200340</pid>
                     </Parts></PartList>
29                                                                 © 2010 IBM Corporation
IBM Power Systems




                    SQL Enhancements




30                                     © 2010 IBM Corporation
IBM Power Systems


MERGE Statement
     Allows application to use a single SQL statement to Update,
     Delete, or Insert into a table based on values from a source
     table/query

     Simplifies applications trying to merge detailed transaction
     data into a summary file
      – Typical processing…
            Perform INSERT when transaction type does NOT yet
            exist in summary file
            Perform UPDATE when transaction type does exist in
            summary file to add to the total for that type


31                                                        © 2010 IBM Corporation
IBM Power Systems


MERGE Statement - Example




          ORDERS_DETAIL                      REGION
                                             Summary
     ORDID ORDREG … ORDAMT      INSERT   REG   REG_TOT
                                         REG
                                         REG   REG_TOT
                                               REG_TOT
     A11     W    …  10.00
     A12     W    …   5.00               W     45.00
                                               10.00
                                               15.00
     A13      E   …  30.00       MERGE
     A14     W    …  30.00               E     50.00
                                               30.00
     A15      E   …  20.00
        …           …   …   …   UPDATE




32                                                © 2010 IBM Corporation
IBM Power Systems


MERGE Statement – Detailed Examples
     Example #1: Merge rows into the Account table, Updating the balance from the set of transactions
     against an account ID and Inserting new accounts from the consolidated transactions that do not
     already exist
         MERGE INTO account_summary AS a
            USING (SELECT id, SUM(trans_amount) sum_amount FROM trans GROUP BY id) AS t
             ON a.id = t.id
            WHEN MATCHED THEN UPDATE SET balance = a.balance + t.sum_amount
            WHEN NOT MATCHED THEN
                INSERT (id, balance) VALUES (t.id, t.sum_amount)


     Example#2: Update the activities from Atlanta group in the archive table. Delete all outdated
     activities and update the archived activities information for any changed activities. Insert new
     upcoming activities into the archive
            MERGE INTO archive ar
              USING (SELECT actID, actDesc, actDate, actLastChg FROM actAtlGrp) ac
                     ON (ar.activityID = ac.actID) AND ar.activityGroup = 'A‘
             WHEN MATCHED and ac.actDate < CURRENT DATE THEN DELETE
             WHEN MATCHED and ar.LastChg < ac.actLastChg THEN
              UPDATE SET(activityDesc,activityDate,LastChg)=(ac.actDesc,ac.actDate,DEFAULT)
             WHEN NOT MATCHED AND ac.actDate >= CURRENT DATE THEN
               INSERT (activityGroup, activityID, activityDesc, activityDate)
                   VALUES ('A', ac.actID, ac.actDesc, ac.actDate)
             ELSE IGNORE

33                                                                                           © 2010 IBM Corporation
IBM Power Systems

DB2 Concurrent Access Resolution
     Concurrent Access Resolution behavior controllable at different levels
      – System-wide: SQL_CONCURRENT_ACCESS_RESOLUTION QAQQINI option
      – Program-level: CONACC pre-compiler option
      – Connection-level property/attribute
               IBM i Access middleware: ADO.NET, JDBC, ODBC, OLE DB
               SQL CLI & Native JDBC Driver
      – Statement-level
               USE CURRENTLY COMMITTED
               WAIT FOR OUTCOME
               SKIP LOCKED DATA (added in 6.1)
                                                                               Journal Entry
 JOB#1:
                                   Reader
 UPDATE parts                                                                 RRN#1=50 W12…
                                                        PARTS
 SET part_qty = 25
                                            PART_QTY      NAME
                                                        PART_ID   PART_TYPE
 WHERE part_id=‘W12’
                                                        Rossi
                                                                  KSR          Journal
                                     X      50
                                            25          Russo
                                                       W12
                                                                               Receivers
                                                        Bernard
                                            220        T53        MNG
 JOB#2:
 SELECT part_id                             124
                                                        Garcia
                                                       S55        KSR
 FROM parts                                 240
                                                        Pappas
                                                       M11        MNG
 WHERE part_type                            125
                                                        Levi
                                                       M22        MNG
  IN(‘KSR’,’MNG’)                           649
                                                        Peeters
                                                       K01        TJJ
 USE CURRENTLY COMMITTED Locks
34                                                                                © 2010 IBM Corporation
IBM Power Systems


Built-In SQL Functions Toolbox Additions

     MQ Integration Functions
      – Scalar functions:
        MQSEND, MQREAD, MQREADCLOB, MQRECEIVE, MQRECEIVECLOB
      – Table functions
        MQREADALL, MQREADALLCLOB, MQRECEIVEALL, MQRECEIVEALLCLOB

     BLOB & CLOB Integration
      – GET_BLOB_FROM_FILE
      – GET_CLOB_FROM_FILE, GET_DBCLOB_FROM_FILE

     Bit Manipulation functions
      – BITAND, BITOR, BITXOR
      – BITNOT, BITANDNOT



35                                                      © 2010 IBM Corporation
IBM Power Systems


Miscellaneous SQL Enhancements
     REPLACE Option for CREATE statements
      – Eliminates need for the Drop statement
      – Preserves existing object dependencies & privileges!
      – Supported objects: Alias, Function, Procedure, Sequence, Trigger, Variable, View
         CREATE OR REPLACE ALIAS myAlias FOR schema.tab1
     ALTER TABLE Enhancements
      –   ADD BEFORE column
      –   Identity Column support for existing columns
      –   Preservation of statistics
      –   Improved performance for partitioned tables
     Partitioned Table Enhancements
      – RI Constraint support
      – Identity Column support
     SQL Object Deflation – Table, View, Index
     128-byte Schema Names


36                                                                                  © 2010 IBM Corporation
IBM Power Systems


Miscellaneous SQL Management Utilities
     All SQL interface for cancelling long-running SQL statements
      – QSYS2.SQL_CANCEL procedure (6.1 PTF)
      – Example: CALL QSYS2.SQL_CANCEL( '197968/QUSER/QZDASOINIT‘ )

     Retrieve associated QSQSRVR jobs & metrics for a specified job/application
      – QSYS2.FIND_QSQSRVR_JOBS procedure (6.1 & 5.4 PTFs)
      – Example: CALL QSYS2.FIND_QSRVR_JOBS( ‘566463/USERNAME/QP0ZSPWP‘ )


     Retrieve associated QSQSRVR jobs & metrics for a specified job/application
      – QSYS2.FIND_QSQSRVR_JOBS procedure (6.1 & 5.4 PTFs)
      – Example: CALL QSYS2.FIND_QSRVR_JOBS( ‘566463/USERNAME/QP0ZSPWP‘ )




37                                                                         © 2010 IBM Corporation
IBM Power Systems

 IBM OmniFind Text Search Server Enhancements
     Product (5733-OMF) originally released after GA of IBM i 6.1
      – Common DB2 Family text search support
      – Supports text columns and text documents (PDF, DOC, PPT, …)
      – High-speed, advanced linguistic searches
        CONTAINS( feedDoc, ‘California insurance settlement’) = 1
        CONTAINS( textFld, ‘Man wins lottery’) = 1

     OmniFind 7.1 Enhancements
      – Enhanced XML search support
            Date and Date/Time comparisons:
                /Book[pubDate > xs:date(“2005-04-15”)]
               Numeric comparisons:
                /Book[Cost <= 59.95]
            Namespace specific searches
      – Enhanced Save / Restore capabilities
      – Graphical text index management




38                                                                    © 2010 IBM Corporation
IBM Power Systems




                    Performance Enhancements




39                                             © 2010 IBM Corporation
IBM Power Systems


DB2 Performance Enhancements
     SQL Query Engine (SQE) Enhancements
      – Support for Logical File on FROM clause
      – Performance advancements
             Background Self-Learning Query Optimization
             Adaptive Query Processing
             Global Statistics Cache
             Inline User-Defined Function rewrite
     SQE Indexing Advancements
      – Optimizer awareness of SQL Select/Omit Indexes
      – Encoded Vector Index Aggregate support
     Improved CPYFRMIMPF performance (6.1 & 5.4 PTFs)
     DB2 Object-level performance
      – SSD Media Preference and Random/Sequential Usage Statistics
      – OVRDBF … REUSEDLT(*NO) for faster Inserts/Writes
      – In-Memory Database Enablement
         CHGPF … KEEPINMEM(*YES)
         CHGLF … KEEPINMEM(*YES)
40                                                                    © 2010 IBM Corporation
IBM Power Systems


SQE Adaptive Query Processing

     Real-time self-learning query optimization
      – Enables query plan to be changed while query is running
      – Plan adjustments & query restart completely transparent
        to the application
     Intelligent monitor agents automatically assigned to
     each query by SQE
      – Monitoring starts after 2 seconds
      – Periodically polling measures progress against estimates
        and other plan assumptions
     Real-time plan adjustments can include
      – Change in join order
      – Utilization of a new index
      – …

                                   No user
                                 interaction
                                  required!


41                                                                 © 2010 IBM Corporation
IBM Power Systems


SQE Indexing Advancements

     Query Optimizer awareness of SQL Select/Omit Indexes for query plans
     CREATE INDEX cust_ix1 ON customers(cust_id) WHERE activeCust=’Y’


     Encoded Vector Index (EVI) Aggregate Support
     CREATE ENCODED VECTOR INDEX idx1 ON sales(region)
           INCLUDE ( SUM(saleamt), COUNT(*) )

     CREATE ENCODED VECTOR INDEX idx2                  EVIs are maintained as the
           ON sales(territory)                          EVIs are maintained as the
                                                       underlying table is modified
                                                        underlying table is modified
           INCLUDE (SUM(saleamt + promoamt))


     SELECT territory, SUM(saleamt+promoamt) FROM sales
      GROUP by territory

     SELECT region, SUM(saleamt) FROM sales GROUP BY region


42                                                                       © 2010 IBM Corporation
IBM Power Systems


 DB2 SSD (Solid State Disks) Enablement
      SSD can improve performance for some DB2 objects
      – Large amount of random data access and…
      – Data that is read many times, but written less
         frequently
      DB2 interfaces enhanced to allows a user to indicate an
      SSD media preference on table, index, physical file, and
      logical file
      – SQL: UNIT SSD clause for object and partition
            CREATE/ALTER TABLE
                                                                                    Associated Bank
            CREATE INDEX
      – CL: UNIT(*SSD) parameter                                           Moving DB2 tables to SSD
            CRTPF, CRTLF, and CRTSRCPF                                     reduced month end batch run time
            CHGPF, CHGLF, and CHGSRCPF                                     by 40%! *
                          5.4 - Database Group SF99504 #23
                                                                                 # of SAS      # of         Batch
                          6.1 - Database Group SF99601 #10                         Disk       SSDs           Run
                                                                                  Drives                    Time
      ALTER and CHGPF/LF interfaces support asynchronous
      movement of data and indexes                                                  72          0           4:22

      Key DB2 7.1 Addition - New random and sequential                              72          8           2:43
      statistics for tables and indexes                                             60          4           2:48
     *http://www.ibmsystemsmagpowersystemsibmidigital.com/nxtbooks/ibmsystemsmag/ibmsystems_power_200909/index.php#/16
43                                                                                                    © 2010 IBM Corporation
IBM Power Systems


OVRDBF REUSEDLT(*NO)
     Temporarily override Reuse Deleted Rows feature of a table to speed up
     Insert/Write performance
      –   Enables DB2 to utilize row-level blocking
      –   Enables DB2 SMP feature to perform parallel index maintenance
      –   Preserves table’s ability to benefit from Enable Concurrent Write (ie, Holey Inserts)
      –   Support for 5.4 and 6.1 releases can be purchased from IBM Lab Services
          (http://ibm.com/systems/services/labservices/contact.html)


                                              INSERT INTO MY_TABLE...



                    Maintain indexes in parallel...then Insert Blocked data into table at the end

                                                                                             Deleted rows
                                       IX1
                                       IX2
                                                                          MY_TABLE
                                       IX3
                                       IX4
44                                                                                        © 2010 IBM Corporation
IBM Power Systems




                    Availability & Recovery
                       Enhancements




45                                            © 2010 IBM Corporation
IBM Power Systems


Database Availability and Recovery

     DB2 Engine Improvements
      – Independent ASPs Enhancements
            Support for transactions spanning System & Independent ASP
            Support for CICS transactions
      – Constraint Enforcement fast-path for HA Switchover
           CHGPFCST CHECK(*NO) (5.4 & 6.1 PTFs)

     Journal Enhancements
      – Localized-journaling for indexes with large logical page sizes
      – Additional controls for remote journal filtering
      – Enhanced generic-name filtering for STRJRNLIB & CHGJRNOBJ
        commands
      – New user-defined table function, QSYS2/DISPLAY_JOURNAL, for
        simpler retrieval of journal entries with SQL (5.4 & 6.1 PTFs)

46                                                               © 2010 IBM Corporation
IBM Power Systems




             Ease of Use &
               Management Enhancements




47                                       © 2010 IBM Corporation
IBM Power Systems


 IBM Tooling for DB2 for i

     IBM DB2 Web Query for i
       – Excel Spreadsheet Client
       – Microsoft SQL Server Adapter
       – More enhancements planned for 2010!

     IBM i Navigator – DB2 Management Interface



     IBM Information Management Products
       – IBM InfoSphere Data Architect
       – IBM InfoSphere CDC (Change-Data-Capture)
       – IBM Optim Data Growth Solution
       – IBM Optim Test Data Management & Data Privacy Solution
       – IBM Data Studio
              SQL and Java Procedure development & debug
              Wizard-based web service development
              pureQuery runtime for Java developer productivity

48                                                                © 2010 IBM Corporation
IBM Power Systems


IBM DB2 Web Query Enhancements

     New functions for IBM i 5.4, 6.1 and 7.1
      –Excel client
      –Microsoft SQL Server adapter
      –Security Enhancements
         Change password from within DB2 Web Query
         Enhanced meta data control
      –Administrative enhancements
         Change Management
         New WRKWEBQRY functions simplifies admin
      –Performance Enhancements
         Improved internal processing
         Improved analysis capabilities
      –Functional Enhancements                                     Bring BI and Query Solution Back to IBM i
         Improved Dashboard development
         Active Reports usability enhancements                          Stop the pain and expense of replicating
                                                                        data

     DB2 Web Query supports querying XML                                Make decisions with current data
     documents with IBM i 7.1

     DB2 Web Query provides an integrated Business Intelligence
     solution that offers rich functionality and breakthrough performance


49                                                                                                  © 2010 IBM Corporation
IBM Power Systems


Simplified DB2 for i Management - IBM i Navigator
                                     IBM i 7.1 Enhancements:
                                     OnDemand Performance Center
                                       •   Authority Simplification
                                       •   Index Advisor Improvements
                                       •   Database monitor
                                             • Client register filter
                                             • Errors only filter
                                       •   Show Statements - Variable replacement
                                       •   Enhanced SQL Details for a Job
                                             • SQL Monitor integration
                                             • Connecting QSQSRVR job info

                                     Database Management
                                       •   OmniFind Text Index support
                                       •   Generate SQL – Privilege & CCSID
                                       •   Progress Status Monitors
                                            • Index Build
                                            • Table Alters
                                            • Enhanced Reorganize
                                       •   Object List enhancements
                                            • Performance of large lists
                                            • Object list filtering
                                            • Save list contents

                                     Health Center
                                       •   SQL0901 Error Tracker
50                                                                 © 2010 IBM Corporation
IBM Power Systems


Progress Status Monitors – Alter Table Example




51                                               © 2010 IBM Corporation
IBM Power Systems


SQL Monitor – Client Register Filters




     CL interface: STRDBMON OUTFILE(OUTMON1) JOB(*ALL) FTRCLTPGM(STRSQL)
52                                                             © 2010 IBM Corporation
IBM Power Systems


Enhanced “SQL Details for a Job”
     SQL Performance Monitor integration
     Connecting QSQSRVR job information (5.4 & 6.1 PTFs)




53                                                         © 2010 IBM Corporation
IBM Power Systems


DB2 OnDemand Performance Center – User Authority Simplification
 *JOBCTL (Job Control Authority)
        Whatever worked with *JOBCTL in IBM i 6.1 will continue to work

 QIBM_DB_SQLADM – Database Administrator
        This is a database specific alternative to *JOBCTL. It is a superset of the function authorized by
        QIBM_DB_SYSMON.
        Examples:
         - Change parallel degree for DB2 SMP feature
         - Work with Plan Cache
         - Work with OmniFind Text Search Server
 QIBM_DB_SYSMON – Database Information
        This allows a user to view some system level details, but not specifics about operations or anything
        related to changing or controlling the database.
        Examples:                                              User Authorization Commands:
          - QUSRJOBI for SQL information                       CHGFCNUSG FCNID(QIBM_DB_SQLADM)
          - Show SQL Information for Jobs                            USER(userid) USAGE(*ALLOWED)
                                                                CHGFCNUSG FCNID(QIBM_DB_SYSMON)
                                                                    USER(userid) USAGE(*ALLOWED)

 No Special Authority required when using OnDemand Performance Center with own job
        Starting and ending SQL Performance Monitors on your own job
        Analysis of SQL Monitor data and Plan Cache snapshots
        Visual Explain in Run SQL Scripts

54                                                                                                © 2010 IBM Corporation
IBM Power Systems


DB2 OnDemand Performance Center & Sensitive Data – SECURE columns

     Prevents sensitive data values from being displayed in DB2 performance tools –
     Database Monitor & Plan Cache (5.4 & 6.1 PTFs)
      – Only security officer will be able to see sensitive values, ‘*SECURE’ value presented to
        normal users (… WHERE cardnumber=:hostvar1 )
      – User must register sensitive columns with DB2 tooling

     Registration interface is system stored procedure: SET_COLUMN_ATTRIBUTE
      – Procedure parameter descriptions
            Table_Schema      - System name of a table's schema
            Table_Name        - System name of a table
            Column_Name       - System column name being secured.
            Attribute         - Secure attribute setting for column
               » SECURE NO
               » SECURE YES
      – Example:
         CALL SYSPROC.SET_COLUMN_ATTRIBUTE
               (‘MYLIB1', 'ORDERS', ‘CARDNUMBER', 'SECURE YES');

55                                                                                    © 2010 IBM Corporation
IBM Power Systems


Additional Information
     DB2 for i Websites
      – Home Page:             ibm.com/systems/i/db2
      – DeveloperWorks Zone: ibm.com/developerworks/db2/products/db2i5OS
      – Porting Zone:           ibm.com/partnerworld/i/db2porting
     Newsgroups & Forums
      – USENET: comp.sys.ibm.as400.misc, comp.databases.ibm-db2
      – DeveloperWorks: https://www.ibm.com/developerworks/forums/forum.jspa?forumID=292
      – System i Network DB2 Forum: http://forums.systeminetwork.com/isnetforums/
     Education Resources - Classroom & Online
      – ibm.com/systemi/db2/gettingstarted.html
      – ibm.com/partnerworld/wps/training/i5os/courses
     DB2 for i Publications
      – White Papers:       ibm.com/partnerworld/wps/whitepaper/i5os
      – Online Manuals: ibm.com/systems/i/db2/books.html
      – DB2 for i Redbooks (http://ibm.com/redbooks)
               Getting Started with DB2 Web Query for System i (SG24-7214)
               OnDemand SQL Performance Analysis … in V5R4 (SG24-7326)
               Preparing for and Tuning the SQL Query Engine on DB2 for i5/OS (SG24-6598)
               Modernizing iSeries Application Data Access (SG24-6393)
56                                                                               © 2010 IBM Corporation
IBM Power Systems



         Need help using the newest DB2 for i
         technologies?
         Are you getting the most out DB2 for i?

                    SL
                       O   W   IBM DB2 for i Consulting and Services

                                  Database modernization
                                  DB2 WebQuery
                                  Database design, features and functions
                                  DB2 SQL performance analysis and tuning
                                  Data warehousing and Business Intelligence
                                  DB2 for i education and training

                               Contact:   Hernando Bedoya
                                          hbedoya@us.ibm.com
                                          IBM Systems and Technology Group
                                          Rochester, MN USA
57                                                                           © 2010 IBM Corporation

More Related Content

What's hot

Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010Agora Group
 
Chris meyer gl wand - financial reporting in excel
Chris meyer   gl wand - financial reporting in excelChris meyer   gl wand - financial reporting in excel
Chris meyer gl wand - financial reporting in excelBerry Clemens
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2
 
View from the Top: SQL 2012 'Denali' and SharePoint 2010
View from the Top: SQL 2012 'Denali' and SharePoint 2010View from the Top: SQL 2012 'Denali' and SharePoint 2010
View from the Top: SQL 2012 'Denali' and SharePoint 2010Chris McNulty
 
SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013
SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013
SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013Michael Noel
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformAyman El-Hattab
 
MS PowerPivot & PerformancePoint 2010 Introduction
MS PowerPivot & PerformancePoint 2010 IntroductionMS PowerPivot & PerformancePoint 2010 Introduction
MS PowerPivot & PerformancePoint 2010 IntroductionVeriPoint LLC
 
SharePoint SpeedMetal - Admin 101 SPSPhilly
SharePoint SpeedMetal - Admin 101 SPSPhillySharePoint SpeedMetal - Admin 101 SPSPhilly
SharePoint SpeedMetal - Admin 101 SPSPhillyChris McNulty
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleBob Rhubart
 
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...InSync2011
 

What's hot (14)

Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
 
Chris meyer gl wand - financial reporting in excel
Chris meyer   gl wand - financial reporting in excelChris meyer   gl wand - financial reporting in excel
Chris meyer gl wand - financial reporting in excel
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
 
View from the Top: SQL 2012 'Denali' and SharePoint 2010
View from the Top: SQL 2012 'Denali' and SharePoint 2010View from the Top: SQL 2012 'Denali' and SharePoint 2010
View from the Top: SQL 2012 'Denali' and SharePoint 2010
 
SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013
SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013
SPSMEL 2012 - SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 / 2013
 
R3arch
R3archR3arch
R3arch
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development Platform
 
MS PowerPivot & PerformancePoint 2010 Introduction
MS PowerPivot & PerformancePoint 2010 IntroductionMS PowerPivot & PerformancePoint 2010 Introduction
MS PowerPivot & PerformancePoint 2010 Introduction
 
SharePoint SpeedMetal - Admin 101 SPSPhilly
SharePoint SpeedMetal - Admin 101 SPSPhillySharePoint SpeedMetal - Admin 101 SPSPhilly
SharePoint SpeedMetal - Admin 101 SPSPhilly
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
 
As 400
As 400As 400
As 400
 
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
 
Resume (1)
Resume (1)Resume (1)
Resume (1)
 
DB2 9.7 Overview
DB2 9.7 OverviewDB2 9.7 Overview
DB2 9.7 Overview
 

Viewers also liked

About Howard Leary
About Howard LearyAbout Howard Leary
About Howard LearyHoward Leary
 
Why being in charge isn't as much fun as it used to be
Why being in charge isn't as much fun as it used to beWhy being in charge isn't as much fun as it used to be
Why being in charge isn't as much fun as it used to bePaul Hodgkin
 
Innovation in an open world
Innovation in an open worldInnovation in an open world
Innovation in an open worldMarco Laucelli
 
Investing in IT startups
Investing in IT startupsInvesting in IT startups
Investing in IT startupsMarco Laucelli
 
IBM Big Data Views for corporate & Startups
IBM Big Data  Views for corporate & StartupsIBM Big Data  Views for corporate & Startups
IBM Big Data Views for corporate & StartupsMarco Laucelli
 
Innovation in the everything-for-free world
Innovation in the everything-for-free worldInnovation in the everything-for-free world
Innovation in the everything-for-free worldMarco Laucelli
 

Viewers also liked (8)

Hearts for Haiti
Hearts for HaitiHearts for Haiti
Hearts for Haiti
 
About Howard Leary
About Howard LearyAbout Howard Leary
About Howard Leary
 
Why being in charge isn't as much fun as it used to be
Why being in charge isn't as much fun as it used to beWhy being in charge isn't as much fun as it used to be
Why being in charge isn't as much fun as it used to be
 
Innovation in an open world
Innovation in an open worldInnovation in an open world
Innovation in an open world
 
The End of Power November 4th 2013 United Nations New York
The End of Power November 4th 2013  United Nations New YorkThe End of Power November 4th 2013  United Nations New York
The End of Power November 4th 2013 United Nations New York
 
Investing in IT startups
Investing in IT startupsInvesting in IT startups
Investing in IT startups
 
IBM Big Data Views for corporate & Startups
IBM Big Data  Views for corporate & StartupsIBM Big Data  Views for corporate & Startups
IBM Big Data Views for corporate & Startups
 
Innovation in the everything-for-free world
Innovation in the everything-for-free worldInnovation in the everything-for-free world
Innovation in the everything-for-free world
 

Similar to [Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya

DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?COMMON Europe
 
My sql 5.5_product_update
My sql 5.5_product_updateMy sql 5.5_product_update
My sql 5.5_product_updatehenriquesidney
 
Oracle my sql cluster cge
Oracle my sql cluster cgeOracle my sql cluster cge
Oracle my sql cluster cgeseungdon1
 
Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...
Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...
Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...miguelnoronha
 
Oracle Application Management Suite
Oracle Application Management SuiteOracle Application Management Suite
Oracle Application Management SuiteOracleVolutionSeries
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012Amazon Web Services
 
DV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows AzureDV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows AzureRonald Widha
 
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Sandro Pereira
 
Lap Around Sql Azure
Lap Around Sql AzureLap Around Sql Azure
Lap Around Sql AzureAnko Duizer
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
NoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worldsNoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worldsMat Keep
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost WSO2
 
Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008Tobias Koprowski
 

Similar to [Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya (20)

DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?
 
My sql 5.5_product_update
My sql 5.5_product_updateMy sql 5.5_product_update
My sql 5.5_product_update
 
Oracle my sql cluster cge
Oracle my sql cluster cgeOracle my sql cluster cge
Oracle my sql cluster cge
 
Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...
Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...
Why Oracle on IBM POWER7 is Better Than Oracle Exadata - The Advantages of IB...
 
Why you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloudWhy you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloud
 
Oracle Application Management Suite
Oracle Application Management SuiteOracle Application Management Suite
Oracle Application Management Suite
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
 
Twp perf-oracle-1
Twp perf-oracle-1Twp perf-oracle-1
Twp perf-oracle-1
 
DV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows AzureDV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows Azure
 
Ra business intelligence 0.1
Ra business intelligence 0.1Ra business intelligence 0.1
Ra business intelligence 0.1
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
Extending your data to the cloud
Extending your data to the cloudExtending your data to the cloud
Extending your data to the cloud
 
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
 
Lap Around Sql Azure
Lap Around Sql AzureLap Around Sql Azure
Lap Around Sql Azure
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
SQL Azure for ITPros
SQL Azure for ITProsSQL Azure for ITPros
SQL Azure for ITPros
 
NoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worldsNoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worlds
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008
 

More from IBMSSA

10 Recetas de chef watson
10 Recetas de chef watson10 Recetas de chef watson
10 Recetas de chef watsonIBMSSA
 
Ibm chef watson
Ibm chef watsonIbm chef watson
Ibm chef watsonIBMSSA
 
Soluciones de seguridad para Cloud
Soluciones de seguridad para CloudSoluciones de seguridad para Cloud
Soluciones de seguridad para CloudIBMSSA
 
La adopción de saaS
La adopción de saaSLa adopción de saaS
La adopción de saaSIBMSSA
 
Encarrera hacia la excelencia
Encarrera hacia la excelenciaEncarrera hacia la excelencia
Encarrera hacia la excelenciaIBMSSA
 
Analytics el uso de big data en el mundo real aplicado a las telecomunicaciones
Analytics el uso de big data en el mundo real aplicado a las telecomunicacionesAnalytics el uso de big data en el mundo real aplicado a las telecomunicaciones
Analytics el uso de big data en el mundo real aplicado a las telecomunicacionesIBMSSA
 
Infraestructuras Service
Infraestructuras ServiceInfraestructuras Service
Infraestructuras ServiceIBMSSA
 
Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...
Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...
Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...IBMSSA
 
Siete Maneras de resolver sus problemas de negocio con Cloud
Siete Maneras de resolver sus problemas de negocio con CloudSiete Maneras de resolver sus problemas de negocio con Cloud
Siete Maneras de resolver sus problemas de negocio con CloudIBMSSA
 
Negocios en la nube Roberto Cruz Arcieri
Negocios en la nube   Roberto Cruz ArcieriNegocios en la nube   Roberto Cruz Arcieri
Negocios en la nube Roberto Cruz ArcieriIBMSSA
 
La empresa dirigida por el cliente Diego Rinaldi
La empresa dirigida por el cliente Diego RinaldiLa empresa dirigida por el cliente Diego Rinaldi
La empresa dirigida por el cliente Diego RinaldiIBMSSA
 
[Chaco] Smart Cloud Enterprise - Cecilia Conci
[Chaco] Smart Cloud Enterprise - Cecilia Conci[Chaco] Smart Cloud Enterprise - Cecilia Conci
[Chaco] Smart Cloud Enterprise - Cecilia ConciIBMSSA
 
[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI
[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI
[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBIIBMSSA
 
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
[Chaco] Soluciones de Seguridad – Nicolás Pérez, GiuxIBMSSA
 
[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea
[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea
[Chaco] Soluciones de Almacenamiento y Backup - Nicolás GoicoecheaIBMSSA
 
[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...
[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...
[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...IBMSSA
 
[Chaco] Cloud Computing – Cecilia Conci
[Chaco] Cloud Computing – Cecilia Conci[Chaco] Cloud Computing – Cecilia Conci
[Chaco] Cloud Computing – Cecilia ConciIBMSSA
 
[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...
[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...
[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...IBMSSA
 
[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.
[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.
[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.IBMSSA
 
[Salta] Control absoluto. Manejo de identidades.
[Salta] Control absoluto. Manejo de identidades.[Salta] Control absoluto. Manejo de identidades.
[Salta] Control absoluto. Manejo de identidades.IBMSSA
 

More from IBMSSA (20)

10 Recetas de chef watson
10 Recetas de chef watson10 Recetas de chef watson
10 Recetas de chef watson
 
Ibm chef watson
Ibm chef watsonIbm chef watson
Ibm chef watson
 
Soluciones de seguridad para Cloud
Soluciones de seguridad para CloudSoluciones de seguridad para Cloud
Soluciones de seguridad para Cloud
 
La adopción de saaS
La adopción de saaSLa adopción de saaS
La adopción de saaS
 
Encarrera hacia la excelencia
Encarrera hacia la excelenciaEncarrera hacia la excelencia
Encarrera hacia la excelencia
 
Analytics el uso de big data en el mundo real aplicado a las telecomunicaciones
Analytics el uso de big data en el mundo real aplicado a las telecomunicacionesAnalytics el uso de big data en el mundo real aplicado a las telecomunicaciones
Analytics el uso de big data en el mundo real aplicado a las telecomunicaciones
 
Infraestructuras Service
Infraestructuras ServiceInfraestructuras Service
Infraestructuras Service
 
Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...
Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...
Como Cloud Computing puede ayudar a su negocio a incrementar el retorno de la...
 
Siete Maneras de resolver sus problemas de negocio con Cloud
Siete Maneras de resolver sus problemas de negocio con CloudSiete Maneras de resolver sus problemas de negocio con Cloud
Siete Maneras de resolver sus problemas de negocio con Cloud
 
Negocios en la nube Roberto Cruz Arcieri
Negocios en la nube   Roberto Cruz ArcieriNegocios en la nube   Roberto Cruz Arcieri
Negocios en la nube Roberto Cruz Arcieri
 
La empresa dirigida por el cliente Diego Rinaldi
La empresa dirigida por el cliente Diego RinaldiLa empresa dirigida por el cliente Diego Rinaldi
La empresa dirigida por el cliente Diego Rinaldi
 
[Chaco] Smart Cloud Enterprise - Cecilia Conci
[Chaco] Smart Cloud Enterprise - Cecilia Conci[Chaco] Smart Cloud Enterprise - Cecilia Conci
[Chaco] Smart Cloud Enterprise - Cecilia Conci
 
[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI
[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI
[Chaco] Cognos: BI Planificación Financiera – Javier Stefan, SBI
 
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
 
[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea
[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea
[Chaco] Soluciones de Almacenamiento y Backup - Nicolás Goicoechea
 
[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...
[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...
[Chaco] Optimización del área de TI con Servidores POWER y System x – Gabriel...
 
[Chaco] Cloud Computing – Cecilia Conci
[Chaco] Cloud Computing – Cecilia Conci[Chaco] Cloud Computing – Cecilia Conci
[Chaco] Cloud Computing – Cecilia Conci
 
[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...
[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...
[Chaco] Facilitando la Innovación en un mundo complejo | Portafolio Software ...
 
[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.
[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.
[Salta] Cognos: Aplicación práctica en la Inteligencia de Negocios.
 
[Salta] Control absoluto. Manejo de identidades.
[Salta] Control absoluto. Manejo de identidades.[Salta] Control absoluto. Manejo de identidades.
[Salta] Control absoluto. Manejo de identidades.
 

Recently uploaded

Anyhr.io | Presentation HR&Recruiting agency
Anyhr.io | Presentation HR&Recruiting agencyAnyhr.io | Presentation HR&Recruiting agency
Anyhr.io | Presentation HR&Recruiting agencyHanna Klim
 
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdfGraham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdfAnhNguyen97152
 
Intellectual Property Licensing Examples
Intellectual Property Licensing ExamplesIntellectual Property Licensing Examples
Intellectual Property Licensing Examplesamberjiles31
 
Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access
 
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for BusinessQ2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for BusinessAPCO
 
Building Your Personal Brand on LinkedIn - Expert Planet- 2024
 Building Your Personal Brand on LinkedIn - Expert Planet-  2024 Building Your Personal Brand on LinkedIn - Expert Planet-  2024
Building Your Personal Brand on LinkedIn - Expert Planet- 2024Stephan Koning
 
7movierulz.uk
7movierulz.uk7movierulz.uk
7movierulz.ukaroemirsr
 
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdfChicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdfSourav Sikder
 
Fabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and FestivalsFabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and FestivalsWristbands Ireland
 
Live-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry WebinarLive-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry WebinarNathanielSchmuck
 
Developing Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, OursDeveloping Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, OursKaiNexus
 
Project Brief & Information Architecture Report
Project Brief & Information Architecture ReportProject Brief & Information Architecture Report
Project Brief & Information Architecture Reportamberjiles31
 
Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...
Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...
Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...IMARC Group
 
Plano de marketing- inglês em formato ppt
Plano de marketing- inglês  em formato pptPlano de marketing- inglês  em formato ppt
Plano de marketing- inglês em formato pptElizangelaSoaresdaCo
 
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John MeulemansBCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John MeulemansBBPMedia1
 
MoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor PresentationMoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor Presentationbaron83
 
Entrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizationsEntrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizationsP&CO
 
Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsyasinnathani
 
MC Heights construction company in Jhang
MC Heights construction company in JhangMC Heights construction company in Jhang
MC Heights construction company in Jhangmcgroupjeya
 

Recently uploaded (20)

Anyhr.io | Presentation HR&Recruiting agency
Anyhr.io | Presentation HR&Recruiting agencyAnyhr.io | Presentation HR&Recruiting agency
Anyhr.io | Presentation HR&Recruiting agency
 
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdfGraham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdf
 
Intellectual Property Licensing Examples
Intellectual Property Licensing ExamplesIntellectual Property Licensing Examples
Intellectual Property Licensing Examples
 
Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024
 
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for BusinessQ2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
 
Building Your Personal Brand on LinkedIn - Expert Planet- 2024
 Building Your Personal Brand on LinkedIn - Expert Planet-  2024 Building Your Personal Brand on LinkedIn - Expert Planet-  2024
Building Your Personal Brand on LinkedIn - Expert Planet- 2024
 
7movierulz.uk
7movierulz.uk7movierulz.uk
7movierulz.uk
 
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdfChicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
 
Fabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and FestivalsFabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and Festivals
 
Live-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry WebinarLive-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry Webinar
 
Developing Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, OursDeveloping Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, Ours
 
Project Brief & Information Architecture Report
Project Brief & Information Architecture ReportProject Brief & Information Architecture Report
Project Brief & Information Architecture Report
 
Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...
Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...
Boat Trailers Market PPT: Growth, Outlook, Demand, Keyplayer Analysis and Opp...
 
Plano de marketing- inglês em formato ppt
Plano de marketing- inglês  em formato pptPlano de marketing- inglês  em formato ppt
Plano de marketing- inglês em formato ppt
 
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John MeulemansBCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
 
MoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor PresentationMoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor Presentation
 
Entrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizationsEntrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizations
 
Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story points
 
MC Heights construction company in Jhang
MC Heights construction company in JhangMC Heights construction company in Jhang
MC Heights construction company in Jhang
 
Investment Opportunity for Thailand's Automotive & EV Industries
Investment Opportunity for Thailand's Automotive & EV IndustriesInvestment Opportunity for Thailand's Automotive & EV Industries
Investment Opportunity for Thailand's Automotive & EV Industries
 

[Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya

  • 1. IBM Power Systems DB2 for i: 7.1 Overview Hernando Bedoya, hbedoya@us.ibm.com IBM STG Lab Services DB2 for i Evangelist – IBM i © 2010 IBM Corporation
  • 2. IBM Power Systems DB2 for i Strategic Initiatives – V5R4 The industry Openness - Industry Standard trend toward off-the-shelf Support software results iS eries Customers using S QL • Accomodate ISVs in a move to SQL 100% ... • Portability/Compatibility 80% • Flexibility 60% 40% Continued LEADERSHIP in database 20% technologies 0% 1988 1992 1996 2000 2004 • Consistency across DB2 family • Shared R & D across IBM Labs Continued Leveraging of iSeries Strengths DB2 UDB for iSe rie s • Availability M icros oft SQL Se rve r 2000 • Scalability Oracle 10g • Usability - Total Cost of Ownership 0 10 20 30 40 50 60 70 80 90 100 • Application Flexibility 2003 Core Items SQL 2003 Core Standard 100% Complete with V5R4!! 2 © 2010 IBM Corporation
  • 3. IBM Power Systems DB2 for I V5R4 Enhancements Application Flexibility & Portability Performance Free Format RPG & SQL SQL Query Engine enhancements PHP DB2 interface – LIKE & LOB Support MySQL Support on i5/OS – Sensitive Cursors Enhanced SQL Standards support – Autonomic Indexes – Scalar FullSelect Faster SQL Procedural Language – Standard Flagger Enhanced MQT Optimization Improved DB2 Family Compatibility Faster XML Extenders – Recursive Expressions – OLAP Support – RowNumber & Rank Usability – ANS Timestamp Format iSeries Navigator Enhancements – TDES Encryption – DB2 On Demand Performance Center – 2 MB SQL Statements & 32K keys – SQE Plan Cache Analyzer – DB2 Health Center OnDemand & Availability Resource Governor Cross-Reference Files Robustness Governor Exit Point Automatic Journaling Enhancements DB2 Content Manager SMAPP for EVIs Parallel Rollback Unlock 3 © 2010 IBM Corporation
  • 4. IBM Power Systems DB2 for i 6.1 Enhancements Application Flexibility & Portability Performance SQL & RPG Integration SQL Query Engine enhancements Enhanced JDBC & .NET support – Sort sequence support Skip Locked Data – Self-Learning Optimizer Extended Indicator Variables – EVI-Only Processing VALUES on FROM Derived SQL Indexes Hidden Timestamp Columns Faster Full Opens Improved DB2 Family Compatibility Client Special Registers – OLAP Support – Cube & Rollup – INSERT on FROM Usability – Unsupported Syntax Tolerance System i Navigator Enhancements – AES Encryption – Customizable Performance Analysis – Spreadsheet integration OnDemand & Availability – Plan Cache Enhancements Enhanced, online Reorg Library-level Journaling – Index Advisor Improvements DB2 Web Query for System i OmniFind Text Search Server 4 © 2010 IBM Corporation
  • 5. IBM Power Systems DB2 for i 7.1 Enhancements Rapid Application Development Performance & Self-Tuning Enhancements SQL & RPG Integration SQL Query Engine (SQE) enhancements Stored procedure Result Set consumption – Adaptive Query Processing FIELDPROC for transparent – Self-Learning Optimization column-level encryption – Inline UDF query rewrite XML Integration – Logical File on FROM support – XML data type Indexing Advancements – Annotated XML Decomposition – SQL Select/Omit Indexes – SQL XML Publishing functions – EVI Aggregates Three-part Aliases CPYFRMIMPF performance Compatibility with DB2 Family & Oracle SSD & In-Memory Database Enablement – MERGE statement OmniFind Text Search Server enhancements – Array support & Global Variables – REPLACE option on CREATEs Simplified Management – Currently Committed supported IBM i Navigator Enhancements JDBC & .NET enhancements – Progress Monitors – Alter Table, Index Build – Index Advisor improvements Trusted Reliability – Enhanced Generate SQL capability Enhanced Remote Journal filtering – Object Folder content saves Library-level Journaling filtering IASP spanning transactions Data Intelligence & Interoperability DB2 Web Query for System i – Excel client support – Microsoft SQL Server adapter 5 © 2010 IBM Corporation
  • 6. IBM Power Systems Application Development Enhancements 6 © 2010 IBM Corporation
  • 7. IBM Power Systems Enhancements for IBM i Application Development ILE COBOL SQL Pre-compiler Enhancements – Concurrent Access Resolution parameter – Support for new COMP-5 type Improved SQL & ILE RPG Pre-compiler Integration – Concurrent Access Resolution parameter – Debug Encryption Key parameter – ALIAS keyword support CREATE TABLE customers( customer_number INTEGER, customer_name CHAR(30), customer_address VARCHAR(80)) d DS1 E DS EXTNAME(customers) QUALIFIED ALIAS * The subfields of data structure would be: * CUSTOMER_NUMBER * CUSTOMER_NAME * CUSTOMER_ADDRESS 7 © 2010 IBM Corporation
  • 8. IBM Power Systems Industry Standard Application Interface Improvements ADO.NET – ‘Concurrent Access Resolution’ property – Visual Studio 2008 support – Online help integration with Visual Studio – Support for Multi-row Delete, Merge, and Update statements ODBC – ConcurrentAccessResolution connection keyword – Support for Multi-row Delete, Merge, and Update statements OLE DB – ‘Concurrent Access Resolution’ connection property SQL CLI – TINYINT data type support – SQL_ATTR_CONCURRENT_ACCESS_RESOLUTION connection attribute – Support for Multi-row Delete, Merge, and Update statements – QIBM_SRVRMODE_SBS environment variable for QSQSRVR jobs (PTFs for 6.1, 5.4) JDBC – Support for SQL routine ARRAY parameters – "concurrent access resolution" connection property – Native JDBC driver enhancements "servermode subsystem" property to control subsystem used for QSQSRVR jobs 8 Metadata compatibility with Toolbox JDBC and other industry drivers © 2010 IBM Corporation
  • 9. IBM Power Systems FIELDPROC - Seamless Column-Level Encoding and Decoding Authorized Access New Order 1111 2222 3333 4444 Decrypt 1111 2222 3333 4444 Transparent FIELDPROC Encoding & Decoding En cr yp t r3vS#45zt!J9*m$p6 9 © 2010 IBM Corporation
  • 10. IBM Power Systems FIELDPROC Implementation Details Developers have complete freedom to create virtually any column encoding/decoding – Encryption (3rd party solutions: Linoma Software, Patrick Townsend, nuBridges) – Data compression – Text normalization … DB2 automatically calls registered FIELDPROC program for ALL interfaces (applications, SQL, native record level-access, CL: DSPPFM, CPYF…) – Program must be an ILE program object and contain no SQL – Fieldproc program called for 3 different events: Column creation/registration to define attributes of the stored encoded value Write operations to encode data Read operations to decode data FIELDPROC registration requires usage of SQL – Be extremely careful of using SQL ALTER statement on Physical Files ALTER TABLE orders ALTER COLUMN creditcardnum SET FIELDPROC mylib/ccpgm 10 © 2010 IBM Corporation
  • 11. IBM Power Systems Global Variables Enables simpler sharing of values between SQL statements and SQL objects (Triggers, Views, etc) across the life of a job/database connection Example #1 – Cache User Information CREATE VARIABLE gvdept INTEGER DEFAULT (SELECT deptno FROM employee WHERE empuserID = USER); CREATE VIEW filtered_employee AS ( SELECT firstname, lastname, phoneno FROM employee WHERE deptno = gvdept); … SELECT firstname, phoneno FROM filtered_employee; 11 © 2010 IBM Corporation
  • 12. IBM Power Systems Global Variables Example #2 – Conditional Trigger Behavior CREATE VARIABLE batch_run CHAR(1); CREATE TRIGGER track_expenses AFTER INSERT ON expenses REFERENCING NEW AS n FOR EACH ROW WHEN (batch_run='N') BEGIN DECLARE emplname CHAR(30); SET emplname = (SELECT lastname FROM employee WHERE empid=n.empno); IF n.totalamount < 10000 THEN INSERT INTO travel_audit VALUES(n.empno, emplname, n.deptno, n.totalamount, n.enddate); ELSE SIGNAL SQLSTATE '38001‘ SET MESSAGE_TEXT=‘Exceeded Maximum’; END IF; END … VALUES ‘Y’ INTO batch_run; … 12 © 2010 IBM Corporation
  • 13. IBM Power Systems Result Set Integration – Embedded SQL & SQL Routines Programmers can now directly integrate stored procedure result sets with embedded SQL & SQL Routines – Key Enabler Statements: ASSOCIATE LOCATOR & ALLOCATE CURSOR – Optionally, DESCRIBE PROCEDURE & DESCRIBE CURSOR statements can be used to dynamically determine the number and contents of a result set … DECLARE sprs1 RESULT_SET_LOCATOR VARYING; CALL GetProj(projdept); ASSOCIATE LOCATORS(sprs1) WITH PROCEDURE GetProj; ALLOCATE mycur CURSOR FOR RESULT SET sprs1; SET totstaff=0; myloop: LOOP FETCH mycur INTO prname, prstaff; Easy IF row_not_found=1 THEN Integration! LEAVE fetch_loop; END IF; SET totstaff= totstaff + prstaff; IF prstaff > moststaff THEN SET bigproj = prname; SET moststaff= prstaff; END IF; END LOOP; CLOSE mycur; … 13 © 2010 IBM Corporation
  • 14. IBM Power Systems Stored Procedure Enhancements Expressions on CALL statement CALL myprocedure ( 1, UPPER(company_name), company_discountrate*100 ) ARRAY support for SQL Routines – Enables exchange of data collections – ARRAY element limited to simple data types – ARRAY type can be used as parameter for SQL Routine or a local variable – Interfaces supporting SQL Routine ARRAY parameters: JDBC SQL Routines – Examples: CREATE TYPE partids AS CHAR(3) ARRAY[10]; CREATE TYPE intarray AS INTEGER ARRAY[5]; 14 © 2010 IBM Corporation
  • 15. IBM Power Systems Stored Procedure Enhancements – ARRAY Example Return part type and quantity for the specified collection of parts CREATE OR REPLACE PROCEDURE list_parts (IN inparts partids, OUT part_qty intarray) DYNAMIC RESULT SETS 1 LANGUAGE SQL BEGIN DECLARE cur1 CURSOR FOR SELECT t.id,part_qty,part_type FROM parts, UNNEST(inparts) AS t(id) WHERE t.id = part_id; IF CARDINALITY( inparts )>5 THEN SIGNAL SQLSTATE '38003' SET MESSAGE_TEXT='Too many parts'; END IF; SET part_qty = (SELECT ARRAY_AGG(part_qty) FROM parts,UNNEST(inparts) AS t2(id) WHERE t2.id = part_id); OPEN cur1; OUTPUT END; out_qty Array: ... [1] = 25 [2] = 124 SET myparts = ARRAY[‘W12’,’S55’,’M22’]; [3] = 125 CALL list_parts(myparts, out_qty); 15 ... © 2010 IBM Corporation
  • 16. IBM Power Systems Simplified Remote Data Access Three-part Aliases – Simplifies access to DB2 objects on different partitions or servers (implicit DRDA connection) – Examples: Eliminates the need to CREATE ALIAS mylib.tab1 explicitly use CONNECT FOR rdb1a.mylib.tab1 and SET CONNECTION. SELECT c1, c2 FROM mylib.tab1 SELECT c1, c2 FROM rdb1a.mylib.tab1 – Considerations A single SQL statement can only reference objects from a single database server Alias name must be the same as the object on the remote server. Local Alias can reference an Alias on remote server Automatic SQL DRDA Package Creation – Removes burden from developer having to create the required SQL packages on a remote server 16 © 2010 IBM Corporation
  • 17. IBM Power Systems Enhanced Parameter Marker Support BEFORE: SET stmt1 = ‘SELECT c2,c2 FROM tab1 WHERE c1 > CAST(? AS DECIMAL(8,2)) + CAST(? AS DECIMAL(8,2)) ’; PREPARE pstmt1 FROM stmt1; AFTER: SET stmt1 = ‘SELECT c2,c2 FROM tab1 WHERE c1 > ? + ?’; PREPARE pstmt1 FROM stmt1; 17 © 2010 IBM Corporation
  • 18. IBM Power Systems XML Integration 18 © 2010 IBM Corporation
  • 19. IBM Power Systems XML Integration with DB2 Rich XML Support within DB2 for i – integrated solution that replaces DB2 XML Extender product – New XML data type to simplify storage and retrieval of XML documents XML data access protected with rock-solid DB2 security XML covered by Database Backup and Recovery processes – Annotated decomposition of XML documents into DB2 columns – Generate XML document with SQL-XML publishing functions IBM OmniFind Text Search Server provides advanced, high-speed search capabilities for stored XML documents – Scope searches to specific elements of an XML document: /book/title[. contains(“winning”) ] – XQuery interface not yet supported 19 © 2010 IBM Corporation
  • 20. IBM Power Systems XML Data Type <booking unitCharge="50" units="2" New XML data type currency="USD" status="confirmed"> – Support XML values up to 2 GB <item> <room hotelName="White Palace" – Type can be used for column, parameter, and type="suite" bookedFrom="2011-05-25" host variable values bookedTo="2011-05-29“ /> XML Schema-based validation supported CREATE TABLE INSERT INTO reservations(resdoc) reservations VALUES(XMLVALIDATE( XMLPARSE(DOCUMENT ( resID INTEGER GET_XML_FILE('/dir1/r6.xml')) GENERATED ACCORDING TO XMLSCHEMA ALWAYS ID mylib.resschema) ) AS IDENTITY, resDoc XML ) XML File Reference variables enable simple export XML documents to IFS DB2 D MY_XMLFILE S SQLTYPE(XML_CLOB_FILE) /free MY_XMLFILE_NAME= '/out1.xml'; MY_XMLFILE_NL = 9; MY_XMLFILE_FO = SQFCRT; exec sql SELECT resDOC INTO :MY_XMLFILE FROM reservations WHERE resID=1; 20 /end-free © 2010 IBM Corporation
  • 21. IBM Power Systems Integrated XML Utilities Built-in Functions: GET_XML_FILE Returns the contents of an IFS file or source physical file member as a LOB Locator value XMLVALIDATE Validates XML value against an XML schema XMLPARSE Parses Character/LOB data to produce XML value XMLSERIALIZE Converts XML value into Character/LOB data XSLTRANSFORM Convert XML data into other XML, HTML, and plain text formats using the XSLT processor System Stored Procedures (SYSPROC library): XSR_REGISTER Add an XML Schema document into the DB2 XML Schema Repository (XSR) for Validation / Decomposition XSR_ADDSCHEMADOC Merge an XML Schema within an existing XML Schema XSR_COMPLETE Complete the registration of XML Schema(s) within DB2 XSR XSR_REMOVE Remove a registered XML Schema document XDBDECOMPXML Decompose an XML document into specified DB2 objects using annotated decomposition 21 © 2010 IBM Corporation
  • 22. IBM Power Systems Annotated XML Document Decomposition 1) Map the DB2 and Authors XML document Books relationships XML Doc … <author id=22> <name>Tony Dungy</name> <book isbn="1414318014" > 2) Define mapping in XSD file <title>Quiet Strength</title> 3) Register and stored XSD <publisher> Tyndale House XSD mapping within DB2 </publisher> XML Schema Repository (XSR) </book> … 4) Decompose/Shred Authors the XML document Books 22 © 2010 IBM Corporation
  • 23. IBM Power Systems Decomposition Example <xs:element name="shipment"> <xs:complexType> <xs:sequence> XSD <xs:element name="author" type="authorType" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <shipment> <xs:complexType name="authorType"> <author id="22" > <xs:sequence> <xs:element name="name" type="xs:string” <name>Tony Dungy</name> <book isbn="1414318014" > Payment Table db2-xdb:rowSet=“AUTHORS" db2-xdb:column="NAME" /> <xs:element name="book" type="bookType" <title>Quiet Strength</title> maxOccurs="unbounded" /> <publisher>Tyndale</publisher> Column Name Data Type </xs:sequence> </book> <xs:attribute name="id" type="xs:integer"><xs:annotation><xs:appinfo> statement_id varchar(30) <book isbn=“1414326815" > <db2-xdb:rowSetMapping> <title>Uncommon</title> amount <db2-xdb:rowSet>AUTHORS</db2-xdb:rowSet> decimal(8,2) <publisher>Tyndale</publisher> <db2-xdb:column>ID</db2-xdb:column> </db2-xdb:rowSetMapping> payor varchar(30) </book> </author> <db2-xdb:rowSetMapping> payor_account char(6) </shipment> <db2-xdb:rowSet>BOOKS</db2-xdb:rowSet <db2-xdb:column>AUTHID</db2-xdb:column> </db2-xdb:rowSetMapping> </xs:appinfo> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="bookType"> <xs:sequence> <xs:element name="title" type="xs:string“ db2-xdb:rowSet="BOOKS" db2-xdb:column="BTITLE" /> <xs:element name="publisher" type="xs:string" /> </xs:sequence> <xs:attribute name="isbn" type="xs:integer" db2-xdb:rowSet="BOOKS" db2-xdb:column="ISBN" /> 23 © 2010 IBM Corporation
  • 24. IBM Power Systems Decomposition Example XML Decomposition Steps: 1) Create XSD file with DB2 to XML mapping 2) Store and register XSD file within DB2 Schema Repository (XSR) CALL SYSPROC.XSR_REGISTER (‘MYLIB', ‘BOOKSCHEM', null, GET_XML_FILE(‘/dir/authbooks.xsd'), null) CALL SYSPROC.XSR_COMPLETE(‘MYLIB',‘BOOKSCHEM',null,1) 3) Decompose XML Document CALL SYSPROC.XDBDECOMPXML (‘MYLIB',‘BOOKSCHEM', GET_XML_FILE('/mydir/ship1.xml'),null) Decomposition Generated Statements: INSERT INTO authors VALUES(22, 'Tony Dungy') INSERT INTO books VALUES(22, 'Quiet Strength', 1414318014), 24 (22, 'Uncommon', 1414326815) © 2010 IBM Corporation
  • 25. IBM Power Systems SQL XML Publishing Functions XMLATTRIBUTES Returns XML sequence that contains an attribute node for each non-null argument XMLCOMMENT Returns XML value with a single comment node from a string XMLCONCAT Returns XML value that represents a forest of XML elements generated by concatenating a variable number of arguments XMLDOCUMENT Returns XML value with a single document node and zero or more nodes as its children XMLELEMENT Returns XML value that represents an XML element XMLFOREST Returns XML value that represents a forest (sequence) of XML elements that all share a specific pattern XMLPI Returns XML value with a single processing instruction node XMLNAMESPACES Returns the declaration of one or more XML namespaces XMLROW Returns XML value with a single document node containing one top-level element node XMLTEXT Returns XML value with single text node that contains value of argument XMLAGG Returns an XML sequence that contains an item for each non-value in set of XML values XMLGROUP Returns XML value with a single document node containing one top-level element node from a group of rows 25 © 2010 IBM Corporation
  • 26. IBM Power Systems SQL XML Publishing Example – XMLELEMENT & XMLATTRIBUTE Generate XML values for employees celebrating 25th anniversary: SELECT XMLSERIALIZE( XMLELEMENT(NAME "employee", XMLATTRIBUTES(e.empno as "id"), XMLELEMENT(NAME "Name", e.firstnme ||' '|| e.lastname), XMLELEMENT (NAME "Extension",e.phoneno), XMLELEMENT (NAME "DeptNo", d.deptno)) AS CLOB(100) ) as “XMLResult“ FROM employee e, department d WHERE e.workdept = d.deptno AND Output for XMLResult: YEAR(CURRENT DATE) – <employee id="000010"> YEAR(hiredate) = 25 <Name>JENNA HAAS</Name> <Extension>0420</Extension> <DeptNo>A00</DeptNo> </employee> ----------------------------- <employee id="000050"> <Name>JOSH GEYER</Name> <Extension>1103</Extension> <DeptNo>E01</DeptNo> 26 </employee> © 2010 IBM Corporation
  • 27. IBM Power Systems SQL XML Publishing Example - XMLFOREST Generate XML values for employees celebrating 25th anniversary using XMLFOREST to simplify query: SELECT XMLSERIALIZE( XMLELEMENT(NAME "employee", XMLATTRIBUTES(e.empno as "id"), XMLFOREST(e.firstnme ||' '|| e.lastname as "Name", e.phoneno as "Extension", d.deptno as "DeptNo") ) AS CLOB(100) ) as “XMLResult“ Output for XMLResult: <employee id="000010"> FROM employee e, department d <Name>JENNA HAAS</Name> WHERE e.workdept = d.deptno AND <Extension>0420</Extension> YEAR(CURRENT DATE) – <DeptNo>A00</DeptNo> YEAR(hiredate) = 25 </employee> ----------------------------- <employee id="000050"> <Name>JOSH GEYER</Name> <Extension>1103</Extension> <DeptNo>E01</DeptNo> 27 </employee> © 2010 IBM Corporation
  • 28. IBM Power Systems SQL XML Publishing Example - XMLAGG Generate count and XML value for parts with specified type: SELECT COUNT(*) AS PartCnt, XMLSERIALIZE( XMLELEMENT(NAME "Parts", XMLATTRIBUTES(parttype AS "type"), XMLAGG( XMLELEMENT(NAME "pid", partid) ORDER BY partid) ) AS CLOB(130)) AS PartList FROM parts WHERE parttype IN ('C01', 'E21') GROUP BY parttype PartCnt PartList 2 <Parts type="C01"><pid>000130</pid><pid>200140</pid> </Parts> 3 <Parts type="E21"><pid>000320</pid><pid>100330</pid> <pid>200340</pid></Parts> 28 © 2010 IBM Corporation
  • 29. IBM Power Systems SQL XML Publishing Example - XMLGROUP Generate count and XML value for parts with specified type: SELECT COUNT(*) AS PartCnt, XMLGROUP( parttype AS "type", partid AS "pid" ORDER BY parttype, partid OPTION ROW "Parts" ROOT "PartList") AS partlist FROM parts WHERE parttype IN ('C01', 'E21') GROUP BY parttype PartCnt PartList 2 <PartList><Parts><type>C01</type><pid>000130</pid> </Parts><Parts><type>C01</type><pid>200140</pid> </Parts></PartList> 3 <PartList><Parts><type>E21</type><pid>000320</pid> </Parts><Parts><type>E21</type><pid>100330</pid> </Parts><Parts><type>E21</type><pid>200340</pid> </Parts></PartList> 29 © 2010 IBM Corporation
  • 30. IBM Power Systems SQL Enhancements 30 © 2010 IBM Corporation
  • 31. IBM Power Systems MERGE Statement Allows application to use a single SQL statement to Update, Delete, or Insert into a table based on values from a source table/query Simplifies applications trying to merge detailed transaction data into a summary file – Typical processing… Perform INSERT when transaction type does NOT yet exist in summary file Perform UPDATE when transaction type does exist in summary file to add to the total for that type 31 © 2010 IBM Corporation
  • 32. IBM Power Systems MERGE Statement - Example ORDERS_DETAIL REGION Summary ORDID ORDREG … ORDAMT INSERT REG REG_TOT REG REG REG_TOT REG_TOT A11 W … 10.00 A12 W … 5.00 W 45.00 10.00 15.00 A13 E … 30.00 MERGE A14 W … 30.00 E 50.00 30.00 A15 E … 20.00 … … … … UPDATE 32 © 2010 IBM Corporation
  • 33. IBM Power Systems MERGE Statement – Detailed Examples Example #1: Merge rows into the Account table, Updating the balance from the set of transactions against an account ID and Inserting new accounts from the consolidated transactions that do not already exist MERGE INTO account_summary AS a USING (SELECT id, SUM(trans_amount) sum_amount FROM trans GROUP BY id) AS t ON a.id = t.id WHEN MATCHED THEN UPDATE SET balance = a.balance + t.sum_amount WHEN NOT MATCHED THEN INSERT (id, balance) VALUES (t.id, t.sum_amount) Example#2: Update the activities from Atlanta group in the archive table. Delete all outdated activities and update the archived activities information for any changed activities. Insert new upcoming activities into the archive MERGE INTO archive ar USING (SELECT actID, actDesc, actDate, actLastChg FROM actAtlGrp) ac ON (ar.activityID = ac.actID) AND ar.activityGroup = 'A‘ WHEN MATCHED and ac.actDate < CURRENT DATE THEN DELETE WHEN MATCHED and ar.LastChg < ac.actLastChg THEN UPDATE SET(activityDesc,activityDate,LastChg)=(ac.actDesc,ac.actDate,DEFAULT) WHEN NOT MATCHED AND ac.actDate >= CURRENT DATE THEN INSERT (activityGroup, activityID, activityDesc, activityDate) VALUES ('A', ac.actID, ac.actDesc, ac.actDate) ELSE IGNORE 33 © 2010 IBM Corporation
  • 34. IBM Power Systems DB2 Concurrent Access Resolution Concurrent Access Resolution behavior controllable at different levels – System-wide: SQL_CONCURRENT_ACCESS_RESOLUTION QAQQINI option – Program-level: CONACC pre-compiler option – Connection-level property/attribute IBM i Access middleware: ADO.NET, JDBC, ODBC, OLE DB SQL CLI & Native JDBC Driver – Statement-level USE CURRENTLY COMMITTED WAIT FOR OUTCOME SKIP LOCKED DATA (added in 6.1) Journal Entry JOB#1: Reader UPDATE parts RRN#1=50 W12… PARTS SET part_qty = 25 PART_QTY NAME PART_ID PART_TYPE WHERE part_id=‘W12’ Rossi KSR Journal X 50 25 Russo W12 Receivers Bernard 220 T53 MNG JOB#2: SELECT part_id 124 Garcia S55 KSR FROM parts 240 Pappas M11 MNG WHERE part_type 125 Levi M22 MNG IN(‘KSR’,’MNG’) 649 Peeters K01 TJJ USE CURRENTLY COMMITTED Locks 34 © 2010 IBM Corporation
  • 35. IBM Power Systems Built-In SQL Functions Toolbox Additions MQ Integration Functions – Scalar functions: MQSEND, MQREAD, MQREADCLOB, MQRECEIVE, MQRECEIVECLOB – Table functions MQREADALL, MQREADALLCLOB, MQRECEIVEALL, MQRECEIVEALLCLOB BLOB & CLOB Integration – GET_BLOB_FROM_FILE – GET_CLOB_FROM_FILE, GET_DBCLOB_FROM_FILE Bit Manipulation functions – BITAND, BITOR, BITXOR – BITNOT, BITANDNOT 35 © 2010 IBM Corporation
  • 36. IBM Power Systems Miscellaneous SQL Enhancements REPLACE Option for CREATE statements – Eliminates need for the Drop statement – Preserves existing object dependencies & privileges! – Supported objects: Alias, Function, Procedure, Sequence, Trigger, Variable, View CREATE OR REPLACE ALIAS myAlias FOR schema.tab1 ALTER TABLE Enhancements – ADD BEFORE column – Identity Column support for existing columns – Preservation of statistics – Improved performance for partitioned tables Partitioned Table Enhancements – RI Constraint support – Identity Column support SQL Object Deflation – Table, View, Index 128-byte Schema Names 36 © 2010 IBM Corporation
  • 37. IBM Power Systems Miscellaneous SQL Management Utilities All SQL interface for cancelling long-running SQL statements – QSYS2.SQL_CANCEL procedure (6.1 PTF) – Example: CALL QSYS2.SQL_CANCEL( '197968/QUSER/QZDASOINIT‘ ) Retrieve associated QSQSRVR jobs & metrics for a specified job/application – QSYS2.FIND_QSQSRVR_JOBS procedure (6.1 & 5.4 PTFs) – Example: CALL QSYS2.FIND_QSRVR_JOBS( ‘566463/USERNAME/QP0ZSPWP‘ ) Retrieve associated QSQSRVR jobs & metrics for a specified job/application – QSYS2.FIND_QSQSRVR_JOBS procedure (6.1 & 5.4 PTFs) – Example: CALL QSYS2.FIND_QSRVR_JOBS( ‘566463/USERNAME/QP0ZSPWP‘ ) 37 © 2010 IBM Corporation
  • 38. IBM Power Systems IBM OmniFind Text Search Server Enhancements Product (5733-OMF) originally released after GA of IBM i 6.1 – Common DB2 Family text search support – Supports text columns and text documents (PDF, DOC, PPT, …) – High-speed, advanced linguistic searches CONTAINS( feedDoc, ‘California insurance settlement’) = 1 CONTAINS( textFld, ‘Man wins lottery’) = 1 OmniFind 7.1 Enhancements – Enhanced XML search support Date and Date/Time comparisons: /Book[pubDate > xs:date(“2005-04-15”)] Numeric comparisons: /Book[Cost <= 59.95] Namespace specific searches – Enhanced Save / Restore capabilities – Graphical text index management 38 © 2010 IBM Corporation
  • 39. IBM Power Systems Performance Enhancements 39 © 2010 IBM Corporation
  • 40. IBM Power Systems DB2 Performance Enhancements SQL Query Engine (SQE) Enhancements – Support for Logical File on FROM clause – Performance advancements Background Self-Learning Query Optimization Adaptive Query Processing Global Statistics Cache Inline User-Defined Function rewrite SQE Indexing Advancements – Optimizer awareness of SQL Select/Omit Indexes – Encoded Vector Index Aggregate support Improved CPYFRMIMPF performance (6.1 & 5.4 PTFs) DB2 Object-level performance – SSD Media Preference and Random/Sequential Usage Statistics – OVRDBF … REUSEDLT(*NO) for faster Inserts/Writes – In-Memory Database Enablement CHGPF … KEEPINMEM(*YES) CHGLF … KEEPINMEM(*YES) 40 © 2010 IBM Corporation
  • 41. IBM Power Systems SQE Adaptive Query Processing Real-time self-learning query optimization – Enables query plan to be changed while query is running – Plan adjustments & query restart completely transparent to the application Intelligent monitor agents automatically assigned to each query by SQE – Monitoring starts after 2 seconds – Periodically polling measures progress against estimates and other plan assumptions Real-time plan adjustments can include – Change in join order – Utilization of a new index – … No user interaction required! 41 © 2010 IBM Corporation
  • 42. IBM Power Systems SQE Indexing Advancements Query Optimizer awareness of SQL Select/Omit Indexes for query plans CREATE INDEX cust_ix1 ON customers(cust_id) WHERE activeCust=’Y’ Encoded Vector Index (EVI) Aggregate Support CREATE ENCODED VECTOR INDEX idx1 ON sales(region) INCLUDE ( SUM(saleamt), COUNT(*) ) CREATE ENCODED VECTOR INDEX idx2 EVIs are maintained as the ON sales(territory) EVIs are maintained as the underlying table is modified underlying table is modified INCLUDE (SUM(saleamt + promoamt)) SELECT territory, SUM(saleamt+promoamt) FROM sales GROUP by territory SELECT region, SUM(saleamt) FROM sales GROUP BY region 42 © 2010 IBM Corporation
  • 43. IBM Power Systems DB2 SSD (Solid State Disks) Enablement SSD can improve performance for some DB2 objects – Large amount of random data access and… – Data that is read many times, but written less frequently DB2 interfaces enhanced to allows a user to indicate an SSD media preference on table, index, physical file, and logical file – SQL: UNIT SSD clause for object and partition CREATE/ALTER TABLE Associated Bank CREATE INDEX – CL: UNIT(*SSD) parameter Moving DB2 tables to SSD CRTPF, CRTLF, and CRTSRCPF reduced month end batch run time CHGPF, CHGLF, and CHGSRCPF by 40%! * 5.4 - Database Group SF99504 #23 # of SAS # of Batch 6.1 - Database Group SF99601 #10 Disk SSDs Run Drives Time ALTER and CHGPF/LF interfaces support asynchronous movement of data and indexes 72 0 4:22 Key DB2 7.1 Addition - New random and sequential 72 8 2:43 statistics for tables and indexes 60 4 2:48 *http://www.ibmsystemsmagpowersystemsibmidigital.com/nxtbooks/ibmsystemsmag/ibmsystems_power_200909/index.php#/16 43 © 2010 IBM Corporation
  • 44. IBM Power Systems OVRDBF REUSEDLT(*NO) Temporarily override Reuse Deleted Rows feature of a table to speed up Insert/Write performance – Enables DB2 to utilize row-level blocking – Enables DB2 SMP feature to perform parallel index maintenance – Preserves table’s ability to benefit from Enable Concurrent Write (ie, Holey Inserts) – Support for 5.4 and 6.1 releases can be purchased from IBM Lab Services (http://ibm.com/systems/services/labservices/contact.html) INSERT INTO MY_TABLE... Maintain indexes in parallel...then Insert Blocked data into table at the end Deleted rows IX1 IX2 MY_TABLE IX3 IX4 44 © 2010 IBM Corporation
  • 45. IBM Power Systems Availability & Recovery Enhancements 45 © 2010 IBM Corporation
  • 46. IBM Power Systems Database Availability and Recovery DB2 Engine Improvements – Independent ASPs Enhancements Support for transactions spanning System & Independent ASP Support for CICS transactions – Constraint Enforcement fast-path for HA Switchover CHGPFCST CHECK(*NO) (5.4 & 6.1 PTFs) Journal Enhancements – Localized-journaling for indexes with large logical page sizes – Additional controls for remote journal filtering – Enhanced generic-name filtering for STRJRNLIB & CHGJRNOBJ commands – New user-defined table function, QSYS2/DISPLAY_JOURNAL, for simpler retrieval of journal entries with SQL (5.4 & 6.1 PTFs) 46 © 2010 IBM Corporation
  • 47. IBM Power Systems Ease of Use & Management Enhancements 47 © 2010 IBM Corporation
  • 48. IBM Power Systems IBM Tooling for DB2 for i IBM DB2 Web Query for i – Excel Spreadsheet Client – Microsoft SQL Server Adapter – More enhancements planned for 2010! IBM i Navigator – DB2 Management Interface IBM Information Management Products – IBM InfoSphere Data Architect – IBM InfoSphere CDC (Change-Data-Capture) – IBM Optim Data Growth Solution – IBM Optim Test Data Management & Data Privacy Solution – IBM Data Studio SQL and Java Procedure development & debug Wizard-based web service development pureQuery runtime for Java developer productivity 48 © 2010 IBM Corporation
  • 49. IBM Power Systems IBM DB2 Web Query Enhancements New functions for IBM i 5.4, 6.1 and 7.1 –Excel client –Microsoft SQL Server adapter –Security Enhancements Change password from within DB2 Web Query Enhanced meta data control –Administrative enhancements Change Management New WRKWEBQRY functions simplifies admin –Performance Enhancements Improved internal processing Improved analysis capabilities –Functional Enhancements Bring BI and Query Solution Back to IBM i Improved Dashboard development Active Reports usability enhancements Stop the pain and expense of replicating data DB2 Web Query supports querying XML Make decisions with current data documents with IBM i 7.1 DB2 Web Query provides an integrated Business Intelligence solution that offers rich functionality and breakthrough performance 49 © 2010 IBM Corporation
  • 50. IBM Power Systems Simplified DB2 for i Management - IBM i Navigator IBM i 7.1 Enhancements: OnDemand Performance Center • Authority Simplification • Index Advisor Improvements • Database monitor • Client register filter • Errors only filter • Show Statements - Variable replacement • Enhanced SQL Details for a Job • SQL Monitor integration • Connecting QSQSRVR job info Database Management • OmniFind Text Index support • Generate SQL – Privilege & CCSID • Progress Status Monitors • Index Build • Table Alters • Enhanced Reorganize • Object List enhancements • Performance of large lists • Object list filtering • Save list contents Health Center • SQL0901 Error Tracker 50 © 2010 IBM Corporation
  • 51. IBM Power Systems Progress Status Monitors – Alter Table Example 51 © 2010 IBM Corporation
  • 52. IBM Power Systems SQL Monitor – Client Register Filters CL interface: STRDBMON OUTFILE(OUTMON1) JOB(*ALL) FTRCLTPGM(STRSQL) 52 © 2010 IBM Corporation
  • 53. IBM Power Systems Enhanced “SQL Details for a Job” SQL Performance Monitor integration Connecting QSQSRVR job information (5.4 & 6.1 PTFs) 53 © 2010 IBM Corporation
  • 54. IBM Power Systems DB2 OnDemand Performance Center – User Authority Simplification *JOBCTL (Job Control Authority) Whatever worked with *JOBCTL in IBM i 6.1 will continue to work QIBM_DB_SQLADM – Database Administrator This is a database specific alternative to *JOBCTL. It is a superset of the function authorized by QIBM_DB_SYSMON. Examples: - Change parallel degree for DB2 SMP feature - Work with Plan Cache - Work with OmniFind Text Search Server QIBM_DB_SYSMON – Database Information This allows a user to view some system level details, but not specifics about operations or anything related to changing or controlling the database. Examples: User Authorization Commands: - QUSRJOBI for SQL information CHGFCNUSG FCNID(QIBM_DB_SQLADM) - Show SQL Information for Jobs USER(userid) USAGE(*ALLOWED) CHGFCNUSG FCNID(QIBM_DB_SYSMON) USER(userid) USAGE(*ALLOWED) No Special Authority required when using OnDemand Performance Center with own job Starting and ending SQL Performance Monitors on your own job Analysis of SQL Monitor data and Plan Cache snapshots Visual Explain in Run SQL Scripts 54 © 2010 IBM Corporation
  • 55. IBM Power Systems DB2 OnDemand Performance Center & Sensitive Data – SECURE columns Prevents sensitive data values from being displayed in DB2 performance tools – Database Monitor & Plan Cache (5.4 & 6.1 PTFs) – Only security officer will be able to see sensitive values, ‘*SECURE’ value presented to normal users (… WHERE cardnumber=:hostvar1 ) – User must register sensitive columns with DB2 tooling Registration interface is system stored procedure: SET_COLUMN_ATTRIBUTE – Procedure parameter descriptions Table_Schema - System name of a table's schema Table_Name - System name of a table Column_Name - System column name being secured. Attribute - Secure attribute setting for column » SECURE NO » SECURE YES – Example: CALL SYSPROC.SET_COLUMN_ATTRIBUTE (‘MYLIB1', 'ORDERS', ‘CARDNUMBER', 'SECURE YES'); 55 © 2010 IBM Corporation
  • 56. IBM Power Systems Additional Information DB2 for i Websites – Home Page: ibm.com/systems/i/db2 – DeveloperWorks Zone: ibm.com/developerworks/db2/products/db2i5OS – Porting Zone: ibm.com/partnerworld/i/db2porting Newsgroups & Forums – USENET: comp.sys.ibm.as400.misc, comp.databases.ibm-db2 – DeveloperWorks: https://www.ibm.com/developerworks/forums/forum.jspa?forumID=292 – System i Network DB2 Forum: http://forums.systeminetwork.com/isnetforums/ Education Resources - Classroom & Online – ibm.com/systemi/db2/gettingstarted.html – ibm.com/partnerworld/wps/training/i5os/courses DB2 for i Publications – White Papers: ibm.com/partnerworld/wps/whitepaper/i5os – Online Manuals: ibm.com/systems/i/db2/books.html – DB2 for i Redbooks (http://ibm.com/redbooks) Getting Started with DB2 Web Query for System i (SG24-7214) OnDemand SQL Performance Analysis … in V5R4 (SG24-7326) Preparing for and Tuning the SQL Query Engine on DB2 for i5/OS (SG24-6598) Modernizing iSeries Application Data Access (SG24-6393) 56 © 2010 IBM Corporation
  • 57. IBM Power Systems Need help using the newest DB2 for i technologies? Are you getting the most out DB2 for i? SL O W IBM DB2 for i Consulting and Services Database modernization DB2 WebQuery Database design, features and functions DB2 SQL performance analysis and tuning Data warehousing and Business Intelligence DB2 for i education and training Contact: Hernando Bedoya hbedoya@us.ibm.com IBM Systems and Technology Group Rochester, MN USA 57 © 2010 IBM Corporation