New Generation of OpenEdge® RDBMS

Download Report

Transcript New Generation of OpenEdge® RDBMS

New Generation of OpenEdge® RDBMS
Advanced Storage Architecture II
Tomáš Kučera
Principal Solution Engineer / EMEA Power Team
> whoami
TKU
 Started with Progress Software Czech Republic –
Dec 19, 1994
 2 years @ Technical Support (1996 at ETSC)
 Since Dec 1996 – Consultant, Presales, Trainer,
Project Manager
 Currently – GFS Mgmt responsibilities for Cze&Pol,
member of the EMEA Power Team – primary
responsibility for SAND
 Product Areas: OpenEdge, Sonic, some Apama and
Actional
 Contact: [email protected], Skype: tomas_kucera
2
© 2007 Progress Software Corporation
Audience Survey
3
Release
When
Age
7.2A
long ago
ancient
8.2A
long ago
ancient
8.3A
long ago
ancient
9.0A
Dec 1998
over 8 years
9.1A
Dec 1999
over 7 years
10.0A
Dec 2004
over 2 years
10.1A
Jan 2006
over 1 year
10.1B
Jan 2007
3 months
© 2007 Progress Software Corporation
Audience Survey
4
Release
When
Age
7.2A
long ago
ancient
8.2A
long ago
ancient
8.3A
long ago
ancient
9.0A
Dec 1998
over 8 years
9.1A
Dec 1999
over 7 years
10.0A
Dec 2004
over 2 years
10.1A
Jan 2006
over 1 year
10.1B
Jan 2007
3 months
© 2007 Progress Software Corporation
Agenda




5
Summary of Advanced Storage Architecture
Advanced Storage Architecture II
Migrating to ASA II
Bonus
© 2007 Progress Software Corporation
What‘s Advanced Storage Architecture II
Summary
 ASA I
• Implemented in Progress V9
• Data Storage Areas
• RECID unique per area
 ASA II
• Implemented in OpenEdge 10
• A brand new space allocation mechanism
• RECID unique per area and object block
 OE10 RDBMS can have objects from both
ASAI&II
6
© 2007 Progress Software Corporation
Agenda
 Summary of Advanced Storage Architecture
 Advanced Storage Architecture II
 Migrating to ASA II
7
© 2007 Progress Software Corporation
Advanced Storage Architecture II
What‘s in the box?
 Data Clusters
 Database „Objects“
 Storage Area Type II
8
© 2007 Progress Software Corporation
Data Clusters
 A group of 8 or more adjacent blocks – fixed size for
area
 A unit of space allocation for objects
 A unit of space allocation for extents
 All blocks in cluster belong to same object
 Entire cluster can be read in a single IO operation
9
© 2007 Progress Software Corporation
Database „Objects“
 Composed of one or more clusters
 Object types:
•
•
•
•
Table
Index
Sequence generators
Large objects: binary - BLOB, character CLOB, character – XML
• Empty
10
© 2007 Progress Software Corporation
Storage Area Type II
 Data Storage Area is made up of one or more
extents and contains one or more database
objects
 Extent contains one or more data clusters
 Data clusters have fixed size of 8, 64 or 512
database blocks and are unit of space
allocation
 Blocks in a cluster are contiguous and belong
to the same database object
11
© 2007 Progress Software Corporation
Areas, Extents, Clusters, Blocks
Extent 0
Extent 1
Area
12
cl 0
cl 1
cl 2
cl 3
cl 4
cl 5
cl 6
cl 7
cl 8
cl 9
cl 10
cl 11
cl 12
cl 13
cl 14
cl 15
Area root cluster
A Table
An Index
Another Table
Free clusters
Empty clusters
Extent header
Free blocks
© 2007 Progress Software Corporation
New Database Block Types
13
Block Type
Contents
Extent Header
Extent type, current extent size, maximum extent
size, cluster size, area id, block size, control file name
Area Root
cluster size, link to free cluster map
cluster highwater mark
Free Cluster Map
bitmap of clusters in use or free,
next and prev links
Object List
list of object id’s and their root cluster id’s
Object Root
object id, object type, link to free map, link to row
space map
Cluster List
list of clusters belonging to an object
© 2007 Progress Software Corporation
ASA Performance
Feature
Benefit
•
Unnecessary elimination of table and •
index fragmentation
•
Allocated space for objects in
contiguous chunks that can be read
(and written) using large i/o
operations
•
Enhanced overall performance
•
Better utilization of available disk
bandwidth
•
Enhanced overall database i/o
performance
Enhanced maintenance utility
performance for “bulk” operations
•
•
14
Full object scans possible
•
Reduced need for data
reorganization providing less
frequent and shorter downtimes
Enhanced online application
performance
© 2007 Progress Software Corporation
Agenda
 Summary of Advanced Storage Architecture
 Advanced Storage Architecture II
 Migrating to ASA II
15
© 2007 Progress Software Corporation
Migrating to ASA II
General Upgrade Strategy
 Backup your database
 Keep dbanalys & promon data for reference
 Install OpenEdge 10 (no need to delete /
overwrite Progress V9)
 Upgrade database to OE10
 Run UPDATE STATISTICS for SQL
 Backup your database again!
 Recompile application code
 Ready ... Steady ... GO!!!
16
© 2007 Progress Software Corporation
Migrating to ASA II
General Upgrade Strategy
 Backup your database
 Keep dbanalys & promon data for reference
 Install OpenEdge 10 (no need to delete /
overwrite Progress V9)
 Upgrade database to OE10
 Run UPDATE STATISTICS for SQL
 Backup your database again!
 Recompile application code
 Ready ... Steady ... GO!!!
17
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
You have a choice
 The 5-Minute Rule
 We Want More Rule
18
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
The 5-Minute Rule
 proutil <db> -C conv910 -B 512
 Conversion utility runs in place, in 5 minutes
or less
 Mostly we upgrade the schema tables
 No changes to records or indexes
 No changes to physical structures
19
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
The 5-Minute Rule
 Pros:
•
•
•
•
It is extremely quick and easy
You can run the database
It will very likely run better than before
Most of your DBA scripts should work fine
 Cons:
• Fragmentation may still exist
• All data in Type I data storage areas
20
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
We Want More Rule
 Do some more work – move data to Data
Storage Areas Type II
 Upgrade with conv910 utility





21
Move schema tables
Create Data Storage Areas Type II
Move tables and indexes
Truncate old data storage areas
Delete old data storage areas
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
We Want More Rule
 Moving schema tables
• proutil <db> -C mvsch
•
•
•
•
22
Renumbers existing schema area
Creates new schema area #6
Copies schema tables
Deletes old schema tables
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
We Want More Rule
 Create Data Storage Areas Type II
• prostrct add <db>
• Use database block size 4K or 8K
• BI & AI block size should match each other
• Type II Data Storage Area Cluster sizes:
– Tables areas: 512
– Index areas: 512
• Note: D&L required to change database block
size
23
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
We Want More Rule
 Moving tables and indexes
• proutil <db> -C tablemove | idxmove
• Can move just table, or table and its indexes
24
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
We Want More Rule
 Truncate and delete old data storage areas
• proutil <db> -C truncate bi
• proutil <db> -C truncate area <area>
• After that data storage area is logically
truncated and its extents can now be removed
• prostrct remove <db> <extent-type>
<area-name>
25
© 2007 Progress Software Corporation
Upgrading Database to OpenEdge 10
We Want More Rule
 If you don‘t like this approach, you still can do
the famous Dump & Load
 You will have to do it if you are changing
database block size
 D&L options:
• Dictionary D&L
• Custom D&L
• Custom BUFFER-COPY
• Binary D&L
26
© 2007 Progress Software Corporation
Agenda




27
Summary of Advanced Storage Architecture
Advanced Storage Architecture II
Migrating to ASA II
Bonus
© 2007 Progress Software Corporation
What‘s new in OpenEdge 10.1B
Summary
 Implemented INT64 data type
 64-bit Database Keys – applies to Data
Storage Areas Type II only
• Removes 2 billion row limit – pushed to more
than 9 quintillion
• ROWID format has to have 8 additional
characters (0x0000000000000000)
 Database Limits pushed farther again
• 31994 areas * 1 petabyte per area =
~32 exabytes of data
28
© 2007 Progress Software Corporation
What‘s new in OpenEdge 10.1B
Summary
 64-bit Sequences
 Large Index Key Entries
• Removes ~192 byte limit
• Allows ~1970 bytes of user data
 1000 Area Limit
• 32000 areas assumed
• Can be restricted by using -maxAreas startup
parameter
29
© 2007 Progress Software Corporation
What‘s new in OpenEdge 10.1B
Summary





30
proutil
proutil
proutil
proutil
proutil
<db>
<db>
<db>
<db>
<db>
-C
-C
-C
-C
-C
describe
enableseq64
enablelargekeys
updatevst
revert
© 2007 Progress Software Corporation
What‘s new in OpenEdge 10.1B
Summary
 Shared memory segment size on 32-bit
platforms
10.1B
Prior 10.1B
31
Shared Memory 2GB
Max shmsegsize 128MB
Shared Memory 4GB
Max shmsegsize 4GB
Max #Segments
#Segments
21
32
© 2007 Progress Software Corporation
What‘s new in OpenEdge 10.1B
Summary
 Enable After-Imaging Online
• probkup online <db> enableai <target>
• AI files must already exist (but can be added
online too!)
• Online backup used as basis for roll-forward
• AI writers and replication must be enabled
manually
 Enable AI Online with AI Management
32
© 2007 Progress Software Corporation
Question?
Tomáš Kučera
[email protected]
Skype: tomas_kucera
33
© 2007 Progress Software Corporation
34
© 2007 Progress Software Corporation