340 likes | 745 Views
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)
E N D
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: tku@progress.com, Skype: tomas_kucera
Agenda • Summary of Advanced Storage Architecture • Advanced Storage Architecture II • Migrating to ASA II • Bonus
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
Agenda • Summary of Advanced Storage Architecture • Advanced Storage Architecture II • Migrating to ASA II
Advanced Storage Architecture II What‘s in the box? • Data Clusters • Database „Objects“ • Storage Area Type II
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
Database „Objects“ • Composed of one or more clusters • Object types: • Table • Index • Sequence generators • Large objects: binary - BLOB, character - CLOB, character – XML • Empty
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
Areas, 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
Agenda • Summary of Advanced Storage Architecture • Advanced Storage Architecture II • Migrating to ASA II
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!!!
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!!!
Upgrading Database to OpenEdge 10 You have a choice • The 5-Minute Rule • We Want More Rule
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
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
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 • Move schema tables • Create Data Storage Areas Type II • Move tables and indexes • Truncate old data storage areas • Delete old data storage areas
Upgrading Database to OpenEdge 10 We Want More Rule • Moving schema tables • proutil <db> -C mvsch • Renumbers existing schema area • Creates new schema area #6 • Copies schema tables • Deletes old schema tables
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
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
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>
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
Agenda • Summary of Advanced Storage Architecture • Advanced Storage Architecture II • Migrating to ASA II • Bonus
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
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
What‘s new in OpenEdge 10.1B Summary • proutil <db> -C describe • proutil <db> -C enableseq64 • proutil <db> -C enablelargekeys • proutil <db> -C updatevst • proutil <db> -C revert
What‘s new in OpenEdge 10.1B Summary • Shared memory segment size on 32-bit platforms 10.1B Prior 10.1B
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
Question? Tomáš Kučera tku@progress.com Skype: tomas_kucera