We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byJaylin Dilling
Modified over 2 years ago
Global Payroll Performance Optimisation - I David Kurtz Go-Faster Consultancy Ltd.
Global Payroll Performance Optimisation © Oracle Database Specialist –Independent consultant Performance tuning –PeopleSoft ERP –Oracle RDBMS Book –www.psftdba.comwww.psftdba.com UKOUG Director Server Tech & PeopleSoft Oak Table Who Am I?
Global Payroll Performance Optimisation © Caveat I am going to simplify some of the technical concepts in this presentation.
Global Payroll Performance Optimisation © Agenda ‘Streaming’ –Parallel processing Data Volume Read Consistency Partitioning Reporting Archiving
Global Payroll Performance Optimisation © Parallel processing All modern machines have multiple processors, –most of the processors have multiple cores. –Even the CPU in my 4 year old laptop has a 2 core CPU.
Global Payroll Performance Optimisation © PeopleSoft Batch Programs Only run on one CPU at any one time. Client Server processes –Program (COBOL or Application Engine) –Database (eg. Oracle) Either busy executing COBOL or waiting for the database. –If your payroll calculation is a single process you are not getting value for money!
Global Payroll Performance Optimisation © Payroll ‘Streaming’ Several GP processes can be split up. –Each piece processes a distinct set of employees Range of EMPLID –The pieces can be run concurrently. –Only one global definition of streams. –Maximum number of streams determined by hardware.
Global Payroll Performance Optimisation © Streamable Processes Payroll Calculation Banking Preparation GL Preparation EDI Preparation Payslip Preparation
Global Payroll Performance Optimisation © Payroll ‘Streaming’ Challenges Payroll isn’t over until the last stream completes. –Streams need to be evenly balanced. –Employee churn? Inter-stream contention –Shared working storage tables
Global Payroll Performance Optimisation © How Many Streams? In a well tuned systems, the payroll calculation phase spends about –2/3 of its time in COBOL –1/3 on the database. Number of streams should not exceed –3 * CPU on database server –1.5 * CPU on Process Scheduler server Payroll identification process is database intensive.
Global Payroll Performance Optimisation © Employee Churn EMPLID is allocated as an accession number. Streams are a range of EMPLIDs –New employees are hired into the last stream –Employees are terminated across all streams Over time the streams will go out of balance –Last stream will take longest
Global Payroll Performance Optimisation © Balancing Streams Balance employees across streams on basis of –80% number of payroll segments per stream –20% number of JOB history rows Longer serving employees in earlier streams likely to have more payroll segment and job history. –Make allowance for employee churn. You will need to periodically rebalance the streams. –Balance for the largest payroll.
Global Payroll Performance Optimisation © Reversing the EMPLID Reverse the EMPLID –Instead of EMPLID –Use EMPLID Streams stay balanced because new employees hired across range BUT you must do this before you go live!
Global Payroll Performance Optimisation © Reversing the EMPLID
Global Payroll Performance Optimisation © Inter-stream Contention Streams are just ranges of EMPLIDs. Oracle inserts data into the first available block (roughly speaking) Multiple streams insert data simultaneously into the same data blocks in result tables. Payroll cancel/recalculation deletes from result tables. Multiple transactions concurrently update different rows in the same block. –On Oracle/SQL Server >=2005: No locking, streams continue to run, but read consistency processing is expensive –Other database can experience page level locking
Global Payroll Performance Optimisation © Read Consistency The data set that you query remains the same throughout the life of your query. –If somebody else updates data that you are reading (and commits), after your query starts, then you see the original value. Thus, readers do not block writers or vice versa. Oracle has always done this since SQL Server 2005 has ‘multi-versioning’ option Other databases either block or can permit ‘dirty read’.
Global Payroll Performance Optimisation © Read Consistency Oracle achieves this by storing ‘undo’ information for every change –Recovers ‘read-consistent’ in-memory copy of data block to point in time when query started. –A good reason for buying Oracle –Resource intensive process –Performance problem if abused. Global Payroll is the perfect storm!
Global Payroll Performance Optimisation © Avoiding Inter-stream Contention Prevent different streams accessing the same data blocks –Range Partition result tables to match stream ranges –Use Global Temporary Tables (Oracle) for working storage tables –Partition these also on other platforms. Now different streams access different partitions. No code change, a job for the DBA –licensed option on most platforms
Global Payroll Performance Optimisation © Partitioning Partitioned Table –Different physical components Value of data determines physical location –Logically still one table –Transparent to application –Rather like a multi-part encyclopaedia.
Global Payroll Performance Optimisation © Global Temporary Tables A temporary object –Save some of overheads associated with regular tables –Each session gets its own physical copy.
Global Payroll Performance Optimisation © Group Lists Specify a list of individual EMPLIDs for whom to run pay calc or another process. Some customers have experienced problems when run groups shortly before or during larger batch payroll calculations. Why?
Global Payroll Performance Optimisation © Cost Based Optimizer SQL Execution Plan Caching Bind Variable Peeking during Parse Different Plan for Group List –Because different bind variables But plan cached and gets used for main pay calculation which then runs longer than usual!
Global Payroll Performance Optimisation © Plan Stability Remember the good plan used by large payroll. Force it to be used for all payrolls including group list. –Data Volumes small so poor plan won’t really matter. Oracle Stored Outline –No code change, DBA can implement.
Global Payroll Performance Optimisation © Data Volume Payroll generates a lot of data. Every pay period it generates more data. Partitioning can offer ways of accessing the data you want quickly –Without having to trawl through data you don’t want. Need to consider how long you need data –Do you still need data from last tax year?
Global Payroll Performance Optimisation © Archiving Put the data you do need to keep into a reporting table –Remove data from the live result tables –Partitioning can help you move/delete this data efficiently –May need to rebuild tables where you have to use DELETE Reduced data volumes should improve performance of reports.
Global Payroll Performance Optimisation © Reporting Payroll result tables delivered with single index –Not suitably indexed for all reporting requirements Particularly single PIN queries –Adding more indexes would degrade calculation performance –Consider generating reporting table Subset of data, and indexed as necessary.
Global Payroll Performance Optimisation © Conclusion
Global Payroll Performance Optimisation - II David Kurtz Go-Faster Consultancy Ltd.
Go-Faster Consultancy Ltd.1 Experiences of Global Temporary Tables in Oracle 8.1 David Kurtz Go-Faster Consultancy Ltd.
Graphing AWR Data in Excel David Kurtz Go-Faster Consultancy Ltd.
Go-Faster Consultancy Ltd.1 Single Table Clusters, an alternative to partitioning? David Kurtz Go-Faster Consultancy Ltd.
1 Database Systems: Design, Implementation, and Management CHAPTER 10 Distributed Database Management System.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Processes Management. 3.2 Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Process Management A process is a program.
13 Copyright © 2005, Oracle. All rights reserved. Monitoring and Improving Performance.
25 seconds left….. 24 seconds left….. 23 seconds left…..
Modelling a Complex Batch Schedule in PeopleSoft David Kurtz Go-Faster Consultancy Ltd.
1 MySQL Access Privilege System. 2 What the Privilege System Does? The primary function of the MySQL privilege system is to authenticate a user connecting.
11 1 Chapter 11 Database Performance Tuning and Query Optimization Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Data recovery 1. 2 Recovery - introduction recovery restoring a system, after an error or failure, to a state that was previously known as correct have.
Jeopardy Topic 1Topic Q 1Q 6Q 11Q 16Q 21 Q 2Q 7Q 12Q 17Q 22 Q 3Q 8Q 13Q 18Q 23 Q 4Q 9Q 14Q 19Q 24 Q 5Q 10Q 15Q 20Q 25 Final Jeopardy.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
DBMS Implementation Chapter 6.4 V3.0 Napier University Dr Gordon Russell.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Database structure and space Management. Segments The level of logical database storage above an extent is called a segment. A segment is a set of extents.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
1 Processes and Threads Creation and Termination States Usage Implementations.
ABC Technology Project Mrs. Kiddle. ABCs of Technology Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7 Word 8 Word 9 Word 19 Word 20 Word 21 Word 22.
© 2012 National Heart Foundation of Australia. Slide 2.
1 Term 2, 2004, Lecture 9, Distributed DatabasesMarian Ursu, Department of Computing, Goldsmiths College Distributed databases 3.
We will resume in: 25 Minutes We will resume in: 24 Minutes.
Data Structures Using C++1 Chapter 5 Linked Lists.
Håkan Sundell, Chalmers University of Technology 1 Evaluating the performance of wait-free snapshots in real-time systems Björn Allvin.
1. Parallel Databases Introduction I/O Parallelism Interquery Parallelism Intraquery Parallelism Intraoperation Parallelism Interoperation Parallelism.
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 13: Query Processing.
1 of 27 DA1241 Archive Companies Last updated: March-2004 DA1241 Archive Companies.
SQL Assignment Yong Choi School of Business CSU, Bakersfield.
My Alphabet Book 2 a b c d e f g h i j k l m n o p q r s t u v w x y z My name is Autumn and I work hard at school.
11 Copyright © Oracle Corporation, All rights reserved. Managing Tables.
PSSA Preparation. Question 1(no calculator) D Question 2 (no calculator)
PeopleSoft Ping David Kurtz Go-Faster Consultancy Ltd.
Record Keeping F OR A S MALL B USINESS. RECORD KEEPING 2 Welcome 1. Agenda 2. Ground Rules 3. Introductions.
13 Copyright © 2005, Oracle. All rights reserved. Using the SQL Access Advisor.
Megastore: Providing Scalable, Highly Available Storage for Interactive Services. Presented by: Hanan Hamdan Supervised by: Dr. Amer Badarneh 1.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
1 Virtual Memory II Chapter 8. 2 Fetch Policy –Determines when a page should be brought into memory –Demand paging only brings pages into main memory.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 29Slide 1 Configuration management l Managing the products of system change l Objectives.
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Performance Tuning for Informer PRESENTER: Jason Vorenkamp| | October 11, 2010.
A. Frank - P. Weisberg Operating Systems Page Replacement Algorithms.
Top 7 performance bottlenecks in Payments and Treasury Banking Applications: QA practitioners viewpoint Seetha Gurunathan Infosys Limited (NASDAQ: INFY)
Chapter 18 Methodology – Monitoring and Tuning the Operational System Transparencies © Pearson Education Limited 1995, 2005.
HORIZONT 1 TWS/WebAdmin 3.1 HORIZONT Software for Datacenters Garmischer Str. 8 D München Tel ++49(0)89 / Web Interface.
Relational data integrity 1 Lecture 8 Relational data integrity.
Chapter 5: CPU Scheduling Adapted by Donghui Zhang from the original version by Silberschatz et al.
© 2017 SlidePlayer.com Inc. All rights reserved.