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