Title: New Generation of OpenEdge
1New Generation of OpenEdge RDBMS
- Advanced Storage Architecture II
Tomáš Kucera
Principal Solution Engineer / EMEA Power Team
2gt whoami
TKU
- Started with Progress Software Czech Republic
Dec 19, 1994 - 2 years _at_ Technical Support (1996 at ETSC)
- Since Dec 1996 Consultant, Presales, Trainer,
Project Manager - Currently GFS Mgmt responsibilities for
CzePol, member of the EMEA Power Team primary
responsibility for SAND - Product Areas OpenEdge, Sonic, some Apama and
Actional - Contact tku_at_progress.com, Skype tomas_kucera
3Audience Survey
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
4Audience Survey
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
5Agenda
- Summary of Advanced Storage Architecture
- Advanced Storage Architecture II
- Migrating to ASA II
- Bonus
6Whats 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 ASAIII
7Agenda
- Summary of Advanced Storage Architecture
- Advanced Storage Architecture II
- Migrating to ASA II
8Advanced Storage Architecture II
Whats in the box?
- Data Clusters
- Database Objects
- Storage Area Type II
9Data 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
10Database Objects
- Composed of one or more clusters
- Object types
- Table
- Index
- Sequence generators
- Large objects binary - BLOB, character - CLOB,
character XML - Empty
11Storage 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
12Areas, Extents, Clusters, Blocks
Extent 0
cl 0
cl 1
Area root cluster
cl 2
A Table
cl 3
cl 4
An Index
cl 5
cl 6
Another Table
cl 7
Free clusters
Extent 1
cl 8
cl 9
Empty clusters
cl 10
Extent header
cl 11
cl 12
Free blocks
cl 13
cl 14
cl 15
Area
13New Database Block Types
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 mapcluster highwater mark
Free Cluster Map bitmap of clusters in use or free,next and prev links
Object List list of object ids and their root cluster ids
Object Root object id, object type, link to free map, link to row space map
Cluster List list of clusters belonging to an object
14ASA Performance
Feature Benefit
Unnecessary elimination of table and index fragmentation Reduced need for data reorganization providing less frequent and shorter downtimes
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
Full object scans possible Enhanced online application performance
15Agenda
- Summary of Advanced Storage Architecture
- Advanced Storage Architecture II
- Migrating to ASA II
16Migrating 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!!!
17Migrating 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!!!
18Upgrading Database to OpenEdge 10
You have a choice
- The 5-Minute Rule
- We Want More Rule
19Upgrading Database to OpenEdge 10
The 5-Minute Rule
- proutil ltdbgt -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
20Upgrading 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
21Upgrading Database to OpenEdge 10
We Want More Rule
- Do some more work move data to Data Storage
Areas Type II - Upgrade with conv910 utility
- Move schema tables
- Create Data Storage Areas Type II
- Move tables and indexes
- Truncate old data storage areas
- Delete old data storage areas
22Upgrading Database to OpenEdge 10
We Want More Rule
- Moving schema tables
- proutil ltdbgt -C mvsch
- Renumbers existing schema area
- Creates new schema area 6
- Copies schema tables
- Deletes old schema tables
23Upgrading Database to OpenEdge 10
We Want More Rule
- Create Data Storage Areas Type II
- prostrct add ltdbgt
- 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 DL required to change database block size
24Upgrading Database to OpenEdge 10
We Want More Rule
- Moving tables and indexes
- proutil ltdbgt -C tablemove idxmove
- Can move just table, or table and its indexes
25Upgrading Database to OpenEdge 10
We Want More Rule
- Truncate and delete old data storage areas
- proutil ltdbgt -C truncate bi
- proutil ltdbgt -C truncate area ltareagt
- After that data storage area is logically
truncated and its extents can now be removed - prostrct remove ltdbgt ltextent-typegt ltarea-namegt
26Upgrading Database to OpenEdge 10
We Want More Rule
- If you dont like this approach, you still can do
the famous Dump Load - You will have to do it if you are changing
database block size - DL options
- Dictionary DL
- Custom DL
- Custom BUFFER-COPY
- Binary DL
27Agenda
- Summary of Advanced Storage Architecture
- Advanced Storage Architecture II
- Migrating to ASA II
- Bonus
28Whats 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
29Whats 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
30Whats new in OpenEdge 10.1B
Summary
- proutil ltdbgt -C describe
- proutil ltdbgt -C enableseq64
- proutil ltdbgt -C enablelargekeys
- proutil ltdbgt -C updatevst
- proutil ltdbgt -C revert
31Whats new in OpenEdge 10.1B
Summary
- Shared memory segment size on 32-bit platforms
10.1B
Prior 10.1B
Shared Memory 2GB
Shared Memory 4GB
Max shmsegsize 4GB
Max shmsegsize 128MB
Max Segments 21
Segments 32
32Whats new in OpenEdge 10.1B
Summary
- Enable After-Imaging Online
- probkup online ltdbgt enableai lttargetgt
- 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
33Question?
Tomáš Kucera tku_at_progress.com Skype tomas_kucera
34(No Transcript)