G.O.L.F. on IBM i. David Andruchuk Sr. Architect Computer Systems Design Associates, Inc. What can i do..i can do Database

Similar documents
The Why and How of the imodernize(d) Application Architecture

Data Centric Application Architecture. Jim Ritchhart

S.Q.L. in SQL. David Andruchuk Sr. Architect Computer Systems Design Associates, Inc. What can i do..i can do SQL

IBM i/db2 Modernization to SQL

SQL Support in 2E. 9 th CA 2E/CA Plex Worldwide Developer Conference

9 th CA 2E/CA Plex Worldwide Developer Conference 1

Live Tweet. Getting Started. My Twitter. Company Twitter. Hashtag for #AppMod4i

Subroutine to ILE Procedure

An Introduction to SQL for System i. A beginning overview of SQL in System i Navigator and Embedded SQL in RPGLE

Switching to SQL File Definitions from DDS

A Shallow Dive Into Database Modernization. Patrick Behr

Databases and SQL programming overview

Database Programming with PL/SQL

Application Migration with X-Analysis

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

APPLICATION MODERNIZATION. Brian May IBM i Modernization Specialist

Today s Webinar is being recorded You ll receive a follow-up with the recording Q&A after the presentation Ask questions throughout the Webinar

DEC Computer Technology LESSON 6: DATABASES AND WEB SEARCH ENGINES

COMMOM OBJECT ORIENTED LISP SYSTEMS

PHP and MySQL Programming

CS108 Lecture 18: Databases and SQL

Introduction to SQL. IT 5101 Introduction to Database Systems. J.G. Zheng Fall 2011

File Processing Approaches

Databases. Jörg Endrullis. VU University Amsterdam

STARCOUNTER. Technical Overview

Relational Model. IT 5101 Introduction to Database Systems. J.G. Zheng Fall 2011

Database Processing: Fundamentals, Design, and Implementation

Contents. part 1: ILE Basics...7. Acknowledgments...iv

IBM i: JOURNEY TO THE CENTER OF THE CLOUD

Brian May IBM i Modernization Specialist Profound Logic Software. Webmaster and Coordinator Young i Professionals

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)

Data Warehouses Chapter 12. Class 10: Data Warehouses 1

BREAK OUT OF THE NETWORK UPGRADE CYCLE OF THE PAST. Modernize Your Network with a Software-First Approach

Bonus Content. Glossary

Introduction to Computer Science and Business

MongoDB Schema Design for. David Murphy MongoDB Practice Manager - Percona

DATABASE SYSTEMS CHAPTER 2 DATA MODELS 1 DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT

CS 4400 Database Systems. Meeting 1: Introduction Brandon Myers University of Iowa

GlobAl EDITION. Database Concepts SEVENTH EDITION. David M. Kroenke David J. Auer

C & Data Structures syllabus

Handout 6 CS-605 Spring 18 Page 1 of 7. Handout 6. Physical Database Modeling

Introduction and Overview

Data Vault Modeling & Methodology. Technical Side and Introduction Dan Linstedt, 2010,

Introduction to Database Management Systems

Timeless Theory vs. Changing Users: Reconsidering Database Education

Event Stores (I) [Source: DB-Engines.com, accessed on August 28, 2016]

Systems Analysis & Design

Introduction to Data Management. Lecture #1 (Course Trailer )

Introduction and Overview

Choosing the level that works for you!

CSE 3241: Database Systems I Databases Introduction (Ch. 1-2) Jeremy Morris

PostgreSQL Cluster. Mar.16th, Postgres XC Write Scalable Cluster

INF 212 ANALYSIS OF PROG. LANGS SQL AND SPREADSHEETS. Instructors: Crista Lopes Copyright Instructors.

C++ Classes & Object Oriented Programming

Assignment Session : July-March

PHP Syntax. PHP is a great example of a commonly-used modern programming language.

Transforming OPNQRYF programs to an SQL access model

Index *EXTIND option, ADDPFTRG command. See CL command Alias CREATE ALIAS for, 62, 64 for a column, 22, for a table, 15-17, 62, 66-67,

CS 430 Computer Architecture. C/Assembler Arithmetic and Memory Access William J. Taffe. David Patterson

SQL Server and SQL Structured Query Language

Introduction to Data Management. Lecture #4 (E-R Relational Translation)

Chapter 1 SQL and Data

Introduction. Sample Database SQL-92. Sample Data. Sample Data. Chapter 6 Introduction to Structured Query Language (SQL)

Module - 17 Lecture - 23 SQL and NoSQL systems. (Refer Slide Time: 00:04)

Deccan Education Society s FERGUSSON COLLEGE, PUNE (AUTONOMOUS) SYLLABUS UNDER AUTONOMY. FIRST YEAR B.Sc. COMPUTER SCIENCE SEMESTER I

ASNA Case Study. ASNA Wings: Re-imagining Modernization at INFOCON Both Ways. Leaders in IBM i Modernization

CA Compiler Construction

CSE 344 Final Review. August 16 th

Chapter 6. Foundations of Business Intelligence: Databases and Information Management VIDEO CASES

In the old days, our beloved server was, in many cases, the only one used by the company to perform its business. That s no longer true.

Database Foundations. 6-4 Data Manipulation Language (DML) Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Typesetting Tips. Put your best type forward.

Concepts of Database Management Seventh Edition. Chapter 4 The Relational Model 3: Advanced Topics

Data Infrastructure IRAP Training 6/27/2016

Topics. " Start using a write-ahead log on disk " Log all updates Commit

Test Driven Development (TDD)

LEGACY SYSTEMS MODERNIZATION SERVICES.

Introduction p. 1 The Logical and Physical View of Tables p. 1 Database Types p. 4 NULLs p. 6 DDL and DML Statements p. 7 Column and Table Constraint

Introduction. A Brief Description of Our Journey

SQL Server 2014 Column Store Indexes. Vivek Sanil Microsoft Sr. Premier Field Engineer

DATABASES SQL INFOTEK SOLUTIONS TEAM

CS317 File and Database Systems

System i CGI Toolkits

Systems Analysis & Design

Review for Exam 1 CS474 (Norton)

CSCD43: Database Systems Technology. Lecture 4

[537] Fast File System. Tyler Harter

Oracle PL SQL Training & Certification

Introduction to Data Management. Lecture #1 (Course Trailer ) Instructor: Chen Li

DATABASE PART 2. Components and Functions

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline

CGS 3066: Spring 2017 SQL Reference

One is the Loneliest Number: Scaling out your Data Warehouse

THE RELATIONAL DATABASE MODEL

Database Technology Introduction. Heiko Paulheim

Introduction to Data Management CSE 344

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul

Business Analytics in the Oracle 12.2 Database: Analytic Views. Event: BIWA 2017 Presenter: Dan Vlamis and Cathye Pendley Date: January 31, 2017

Administrivia. The Relational Model. Review. Review. Review. Some useful terms

April Copyright 2013 Cloudera Inc. All rights reserved.

Transcription:

G.O.L.F. on IBM i David Andruchuk Sr. Architect Computer Systems Design Associates, Inc. What can i do..i can do Database

What are we covering today? Program vs Data Design Program Centric Data Centric IBM s Modernization roadmap Why Surrogates can help our Cause Before and after coding of our CUSTMAST table DDS to DDL Primary Key and Row Change Timestamp inclusion Surrogate coding to eliminate recompiles Discuss the benefits of reengineering your database Change is hard

laggard 1. Lagging behind; taking more time than the others in a group. 2. (animal husbandry) Not growing as quickly as the rest of the flock or herd.

There are three ways to convert people to a cause By threat of force By intellectual argument By inspiration

Program vs Data Design Decisions to make are: Should you convert your DDS based tables to DDL based tables Should you convert your RLA to embedded SQL Long term goal is to separate programs and data For Flexibility For Performance Program Centric = Program does everything Files are tied to program by F specs RLA not designed to consume mass quantities of data Each RLA I/O could be up to three disk I/O operations CHAIN, READE, etc.. are IBM i only proprietary skills Data Centric = Program requests data from the DBMS Tables can be changed without program recompiles SQL based access scales as your size of data grows PF = 8K page size, SQL table = 64K page size IBM only enhancing SQL technology in recent and future releases

Program vs Data Design Most IBM i Shops Most HLL / OO Shops Program Centric Data Centric Traditional I/O based Slows Down as # of rows increase Less Efficient Less Flexible Programs Determine Access Method of Data Single Layer Architecture Row Based Data Access SQL Based Speeds up as # of rows increase Very Efficient Very Flexible to Changing Business DataBase Determines Access Method of Data Multi Layer Architecture Set Based Data Access

Program Centric Design Program Understands Relationships DBMS Does Not Programmer must account for Data Integrity Programmer Determines what Keyed Access Path to chain to To see what Items Customer has ordered, program must do 4 chains (12 disk I/Os) Any Change to PF requires recompile of all programs to prevent Level Checks Any change to data that is used for chaining requires a change to a key field

Program Centric Design Get Off Laggard Files on IBM i

Data Centric Design DBMS understand relationship. Program does not care. DBMS accounts for Data Integrity DMBS determines how data is accessed. (i.e. what access path) To see what Items Customer has ordered, use CUSTOMER_ITEMS view. (1 logical I/O vs 6 physical I/Os) Any Change to PF has no effect on program(s) Keys are identity keys. They never change. Change can be done to all data w/o issues.

Data Centric Design Get Off Laggard Files on IBM i

IBM s Modernization roadmap Get Off Laggard Files on IBM i

IBM s Modernization roadmap Get Off Laggard Files on IBM i

IBM s Modernization roadmap Get Off Laggard Files on IBM i

IBM s Modernization roadmap Get Off Laggard Files on IBM i

Why Surrogates can help our Cause surrogate 1. A substitute (usually of a person, position or role). 2. A person or animal that acts as a substitute for the social or pastoral role of another, such as a surrogate mother. cause 1. The source of, or reason for, and event or action; that which produces or effects a result. 2. A goal, aim or principle, especially one which transcends purely selfish ends. Our cause is how to convert our DDS based database to SQL DDL based and implement those changes without having to recompile all of our programs and not break it all!! Using the IBM suggested surrogate roadmap will help us get our DDS to DDL. Then we can begin to modify our unique keys, primary keys, constraints, column data types, normalized database structures, etc

Before and after coding of our CUSTMAST table How we can go from this CUSTMAST PF file To this CUSTMASTSQL SQL table

Before and after coding of our CUSTMAST table Our existing CUSTMAST PF Our existing CUSTMASTL1 LF Our existing CUSTMASTL2 LF

Before and after coding of our CUSTMAST table Our existing CUSTMAST PF design from SYSCOLUMNS

Before and after coding of our CUSTMAST table Our desired CUSTMASTSQL table and column long names

Before and after coding of our CUSTMAST table Our new CUSTMASTSQ DDL

Before and after coding of our CUSTMAST table Our new CUSTMASTSQ DDL

Before and after coding of our CUSTMAST table Our new CUSTMASTSQ DDL

Before and after coding of our CUSTMAST table Our new CUSTMASTSQ Indexes

Before and after coding of our CUSTMAST table Our original CUSTMAST PF converted to the surrogate LF

Before and after coding of our CUSTMAST table Our new CUSTMASTSQL LFs

Before and after coding of our CUSTMAST table Our new CUSTMAST View

Before and after coding of our CUSTMAST table What we did.. 1. Create new SQL table from old PF to new DDL 2. Added primary key and row change timestamp columns 3. Added Long Column and Table Names so we can refer to a name by more than 10 long 4. Created an SQL Index for our original PF and each related LF 5. Change the original PF to an LF and pointed the PFILE to our new SQL table 6. Change our related LFs to point to the new SQL table 7. Change our related LFs to add the keyword FORMAT to point to the new CUSTMAST LF 8. Create new View over SQL table that is based on original columns in table Compilation sequence.. 1. SQL Table 2. SQL View(s) 3. SQL Index(es) 4. LF that is the surrogate (Old PF changed to be LF) 5. LF(s) that are not the surrogate

Before and after coding of our CUSTMAST table What we gained.. 1. Since the keys of our LFs are the same as our new Indexes we gained Index Support, meaning, the access paths are shared allowing the system to work less 2. Index access paths are easier to maintain than LF access paths 3. Our LFs now use the 64K page size vs 8K as the LFs are built AFTER the Indexes and share the new access path size 4. New IDENTITY column as our PK which does not affect the Format Level ID 5. Row Change Timestamp What we lose.. 1. This does not work for multimember files 2. This does not work on JOIN LFs (change them to point to the new SQL table to gain the new access paths)

Discuss the benefits of reengineering our Database We gained Flexibility to adapt to our always change business needs We gained Performance to be able to scale our data We have positioned ourselves to be able to begin to separate our programs from our data We gained capability to change our tables without having to recompile our programs We can begin to drive more work down to our DBMS We can begin to move our Business Rules to our database We can add rules (Constraints, Foreign Keys, etc ) We can take advantage of SQL only capabilities

Change is hard...

THiNK An exploration into making the world work better