Tales of the Secret Bunker 2016 (231) Dump and Load Edition Mike Furgal Director MDBA and Pro2 Services Gus Bjorklund - Lackey

Similar documents
OPS-23: OpenEdge Performance Basics

Dump & Load: More than just a few Proutil Commands Paul Koufalis, White Star Software

abstract 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Performance Tuning the OpenEdge Database in The Modern World

Obsolete DBA Best Practices

abstract 2015 Progress Software Corporation.

Tales From the Bunker Episode No. 6. Presented by: Gus Björklund, Dan Foreman, John Harlow

Horizontal Table Partitioning

DB-8: Highly Parallel Dump & Load. Tom Bascom

Abstract Progress Software Corporation.

ASN Configuration Best Practices

Microsoft SQL Server Database Administration

InnoDB Scalability Limits. Peter Zaitsev, Vadim Tkachenko Percona Inc MySQL Users Conference 2008 April 14-17, 2008

Get the Skinny on Minimally Logged Operations

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents

WHITEPAPER. Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation

File Structures and Indexing

Choosing Hardware and Operating Systems for MySQL. Apr 15, 2009 O'Reilly MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc

PROGRESS OPENEDGE PRO2

Chapter 10: Mass-Storage Systems

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition

SONAS Best Practices and options for CIFS Scalability

DBA Best Practices. Paul Koufalis

File systems: management 1

SAP SD Benchmark with DB2 and Red Hat Enterprise Linux 5 on IBM System x3850 M2

IBM EXAM - C DB Advanced DBA for Linux UNIX and Windows. Buy Full Product.

Firebird Tour 2017: Performance. Vlad Khorsun, Firebird Project

PAC094 Performance Tips for New Features in Workstation 5. Anne Holler Irfan Ahmad Aravind Pavuluri

1Z Oracle. MySQL 5 Database Administrator Certified Professional Part I

Introduction to Multi-tenancy. Gus Bjorklund October 2013

I m sorry, I haven t a clue. James Palmer Software Developer / Database Administrator

IT Service Delivery and Support Week Three. IT Auditing and Cyber Security Fall 2016 Instructor: Liang Yao

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com

Mastering the art of indexing

Dell EMC CIFS-ECS Tool

The Secrets Behind DB Startup Parameters. Paul Koufalis, White Star Software

mysql Sun Certified MySQL 5.0 Database(R) Administrator Part 1

Operating Systems, Fall

IBM Security Access Manager

IBM V7000 Unified R1.4.2 Asynchronous Replication Performance Reference Guide

IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:

OpenEdge Management in the Real World. Paul Koufalis President Progresswiz Consulting

Hardware & System Requirements

How to Implement High Availability for the SAS Metadata Server Using High Availability Cluster Multi-Processing (HACMP)

NAV 2009 Scalability. Locking Management Solution for Dynamics NAV SQL Server Option. Stress Test Results White Paper

Firebird Tour 2017: Performance. Vlad Khorsun, Firebird Project

(Business & Ultimate Edition only) Windows XP Professional x86. Windows Server 2003 x86. Windows Vista x86

Best Practices for Decision Support Systems with Microsoft SQL Server 2012 using Dell EqualLogic PS Series Storage Arrays

(Business & Ultimate Edition only) Windows XP Professional. Windows Server Windows Vista

MobiLink 10 Performance. A whitepaper from Sybase ianywhere. Author: Graham Hurst. Date: March 2009

HP ProLiant DL380 Gen8 and HP PCle LE Workload Accelerator 28TB/45TB Data Warehouse Fast Track Reference Architecture

Donald K. Burleson Jonathan Lewis Mike Hordila John Weeg Daniel Liu Lisa Hernandez

Change Data Capture OpenEdge 11.7

Before-image log, checkpoints, crashes

MobiLink 11 Performance. A whitepaper from Sybase ianywhere. Author: Graham Hurst. Date: July 2009

This is the forth SAP MaxDB Expert Session and this session covers the topic database performance analysis.

Lesson 4 Transcript: DB2 Architecture

Picking the right number of targets per server for BeeGFS. Jan Heichler March 2015 v1.3

Time Matters. Time Matters v10 Endorsement Training Pre-Installation Architecture Installation

Copyright Heraflux Technologies. Do not redistribute or copy as your own. 1

File System Forensics : Measuring Parameters of the ext4 File System

1) ADDITIONAL INFORMATION

IBM B2B INTEGRATOR BENCHMARKING IN THE SOFTLAYER ENVIRONMENT

SQL Server Administration on Linux 2017

Linux Systems Administration Shell Scripting Basics. Mike Jager Network Startup Resource Center

Performance issues in Cerm What to check first?

CIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( )

OS and Hardware Tuning

Professional Edition. Hardware Requirements

Please choose the best answer. More than one answer might be true, but choose the one that is best.

INNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist...

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

OS and HW Tuning Considerations!

Configuring Short RPO with Actifio StreamSnap and Dedup-Async Replication

Accelerating Microsoft SQL Server Performance With NVDIMM-N on Dell EMC PowerEdge R740

BlackBerry AtHoc Networked Crisis Communication Capacity Planning Guidelines. AtHoc SMS Codes

Performance Scaling. When deciding how to implement a virtualized environment. with Dell PowerEdge 2950 Servers and VMware Virtual Infrastructure 3

Disk Configuration with Ingres

Daily, Weekly or Monthly Partitions? A discussion of several factors for this important decision

OpenEdge Replication. A Few Words about the Speaker. Before We Start. Agenda. Business Continuity. Business Continuity Myths 3/23/2016

I/O: State of the art and Future developments

Healthy SQL. Marlon Ramos Premiere Field Engineer - Development

Exam Questions C

PC-based data acquisition II

Effective Use of CSAIL Storage

IBM Exam DB Advanced DBA for Linux UNIX and Windows Version: 6.0 [ Total Questions: 108 ]

Percona XtraDB Cluster

Hardware Sizing Guide OV

EMC Backup and Recovery for Microsoft SQL Server

Sensitive Data and Database Inference

Scaling Source Control for the Next Generation of Game Development

The Impact of Disk Fragmentation on Servers. By David Chernicoff

Dell Microsoft Reference Configuration Performance Results

Jeffrey Garbus. ASE Administration. SAP* ASE 16/Sybase. 9 Rheinwerk. Publishing. Bonn Boston

OS impact on performance

Topics - System Administration for Glovia

Entuity Network Monitoring and Analytics 10.5 Server Sizing Guide

ZFS and MySQL on Linux, the Sweet Spots

Introduction to Computing Systems - Scientific Computing's Perspective. Le Yan LSU

Testpassport.

Transcription:

Tales of the Secret Bunker 2016 (231) Dump and Load Edition Mike Furgal Director MDBA and Pro2 Services Gus Bjorklund - Lackey

find directions where location-name = "secret bunker" 2

Type II storage areas have lessened the need to do regular dump and load processing, however you still need to dump and load to maintain good performance. The frequency of the dump and load tends to be every 3 to 5 years. 3

The Bunkerteers took it upon themselves to test various dump and load technologies 4

What needs to be dumped? Data Definitions Data Sequence Current Values Security _user SQL Permissions Audit Rules Proutil Describe Etc 5

Before you dump Backup the database Verify the backup Best approach would be to restore the database Run a tabanlys Used to compare after the load to make sure we got all the data Make a note of: db block size, ai block size, bi block size, code page, etc who has DBA rights DO YOU HAVE ENOUGH DISK SPACE? 6

How to Load Data Definitions Data Sequence Current Values Security _user SQL Permissions Audit Rules May be more 7

After You Load Backup the database Run a tabanlys Compare the row count to the original Proutil Describe Compare it to the original Bi Blocksize, BI Cluster Size, AI Blocksize, etc Enable After Imaging Rebaseline OE Replication 8

what could go wrong?

mike 10

Data Dumping and Loading Options ASCII Options Ascii Dump through the dictionary Ascii Load through the dictionay With and without active indexes Bulkload Buffer Copy Buffer Copy from one database to another Binary Options Binary Dump Binary Load 11

On to the Tests 12

13

bunker

Bunker Machine 4 quad-core 2.4 GHz Intel processors 4800.25 bogomips 64 GB memory 8 x 146 GB 10,000 rpm sas drives 2 RAID 10 6 RAID 0 for /opt/tmp 16 x 300 GB 10,000 rpm drives RAID 10 for /opt/db 8 x 300 GB 10,000 rpm drives RAID 10 for /opt/db1 Centos Linux 6.7 OpenEdge 11.5.1 New this machine costs $35,000 USD. Used we found it for $3,500 USD 15

BIGROW test runs in 4 seconds 24 MB/Second

Database Statistics Size: 36 GB Tables: 835 Indexes: 1,736 Areas 49 Data Areas 49 Index Areas Table Rows Size Table 1 13,495,717 4.6G Table 2 52,307,552 3.5G Table 3 1,873,601 2.1G Table 4 2,432,884 1.3G Table 5 9,430,367 1007.8M 17

gus 18

ASCII^H^H^H^H^HText Dump Using the data dictionary to dump the data programatically by running prodict/dump_d.p Where to put dump files? Same filesystem 86:12 Different filesystems 85:33 Making the filesystem cache smaller made a slight difference 86:12 vs 87:46 19

Index Leaf Blocks Index Keys K1 K2 K3 K4 K5 K6 K7 K8 Record Blocks key order does not match record storage order 20

Scatter Matters The database used was freshly dumped and loaded. To get past this, we ran a scatter analysis program which looks at the logical scatter of the database Changed the primary index on the top 43 largest tables Row counts were greater than 500,000 % of rows logically scattered > 10 Comparison Non scattered dump: 87:46 Scattered dump: 133:21 --- 52% slower!! This is important! 21

Text Load Using the dictionary load programmatically with prodict/load_d.p Loading into preallocated space: 376:20 Loading into variable extents: 365:06 Loading from a different filesystem: 354:15 Loading no active indexes: 276:04 Loading the data: 231:34 Index rebuild: 44:33 Bulkload: 110:05 Loading the data: 65:32 Index rebuild: 44:33 22

Best Text Dump and Load Result 233:09 3 hours, 53 minutes, 9 seconds By: Dictionary Text dump, Bulkload, and Index Rebuild

mike 25

Buffer Copy The approach here is to connect to thre source database and buffer-copy all the data to the target database. Tests performed Single User Multi-User With active Indexes No active indexes Parallel FOR EACH s.<table> NO-LOCK: BUFFER-COPY s.<table> to t.<table>. END. 26

Buffer Copy Results Buffer Copy Single User 257:80 Single User no index 134:31 + 44:33 = 179:01 Single User no index scattered 179:36 + 44:33 = 224:06 Multi User Scattered no index 193:11 + 44:33 = 237:44 Multi User Scattered by area parallel 130:21 Multi User no index by area parallel 82:39 + 44:33 = 127:09 The parallel processing used 8 processors running at the same time 27

How to Parallelize the process A bunch of sophisticated analysis was done to optimize this process. 28

How to Parallelize the process A bunch of sophisticated analysis was done to optimize this process. Take the size of the largest table and use that as a guide Combing all the table into their respecive areas Break them up into N sized units Where N is the size of the largest table This process is very complex and borders on rocket science 30

The longest thread took 130 minutes The shortest thread took 68 minutes

gus 32

Binary Dump Build scripts to dump out all the data. Tests Single Users Read Only Multi user Parallel 33

Binary Dump Dump non-scattered data 10:17 Dump Scattered 46:20 Dump non-scattered -index 0 8:34 Dump Scattered -index 0 8:35 It s 4x slower to dump the scattered data Using -index 0 does a table scan. While this is the fasted dump method, the order of the rows will not be useful for most applications Notice the similar times for the non-scattered and scattered table scan dumps. Even the (expert?) bunkerteers do stupid experiments 34

Binary Dump Results Binary Dump Single user 46:20 35

Binary Dump Results Binary Dump Single user 46:20 Single User with large -B and lruskips 44:13 Multi User with large -B and lruskips 42:46 Single User with -RO 45:07 Single User with -RO with large -B and lruskips 43:10 36

Much special equipment was needed

Binary Dump Results Binary Dump Single user 46:20 Single User with large -B and lruskips 44:13 Multi User with large -B and lruskips 42:46 Single User with -RO 45:07 Single User with -RO with large -B and lruskips 43:10 Parallel MU by Area with large -B and lruskips 27:45 Parallel -RO by area with large -B and lruskips 28:44 Parallel MU By Area -Bp 64 with large -B and lruskips 29.14 38

mike 39

A Simple Parallel Processor # Thread Scheduler for i in `cat tables` do currentthread=`ls -1 *.working 2> /dev/null wc l` if [ $currentthread -le $threads ] then./dump_table.sh $i > $i.out & else while [ 1 ] do currentthread=`ls -1 *.working 2> /dev/null wc l` if [ $currentthread -le $threads ] then break fi sleep 0.1 done./dump_table.sh $i > $i.out & fi sleep 0.2 done wait # Worker Thread echo $$ > $$.working proutil scattered -C dump $1./bdump rm -f $$.working 40

1800 Multi Process Dump 1700 1600 Seconds 1500 1400 1300 Area Table 1200 1100 0 5 10 15 20 Number of Processes 41

gus 42

Binary Load Binary load tests include Single User Multi User Parallel loads by area Single user with build indexes Multi user with build indexes Parallel load by area with build indexes 43

Binary Load Results Binary Load Single User 36:17 + 44:33 = 80:50 Multi User 20:52 + 44:33 = 65:28 Parallel Multi User 17:27 + 44:33 = 62:00 Single User Build indexes 75:41 Multi User build indexes 61:40 Parallel Multi User build indexes 46:49 The best dump and load result is: Parallel dump by table 20:22 Parallel load by area and build indexes 46:49 Total time excluding backups, etc 67:06 44

Results Summary Results Slowest Round Trip Dictionary Dump Dictionary Load Indexes Active 133:21 367:20 500:41 (8:20:41) Fastest TEXT Dictionary Dump Bulkload Index Rebuild 133:21 65:32 44:33 243:26 (4:03:26) Fastest Buffer Copy Parallel by area Indexes Inactive 82:39 44:33 127:09 (2:07:09) Fastest Binary Parallel dump by table Parallel Load build indexes 20:22 46:49 67:06 (1:07:06) 45

46