Consultor Eletrônico



Kbase P5663: How does Fast Schema Update work?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/15/2005
Status: Verified

GOAL:

How does Fast Schema Update work?

GOAL:

What is Fast Schema Update?

FIX:

Prior to Progress Version 8.2A, modifying the database schema for a large database could be a time consuming process, because when a database schema change was committed, a change made to an index or table was applied to every record in that table.

Phase I of Fast Schema Change was introduced in Progress 8.2A and it has become the default for modifying the schema in Progress Version 9. Features that were added in Phase II Progress Version 9 are:

- The Fast Schema Update process includes deleted fields.
- Time spent scanning records is reduced by schema versioning

When applying the Schema Change initially, all new fields that have no initial value are appended to the end of the record. Afterwards, the database manager will modify the record with the current schema change, through the Fast Schema Update process:
- ONLY when the user modifies the values in the record
- AND finds that the schema version of a record does not match the table version, (if the record's schema version = table version, then this is a new record appended post latest schema change)

In this way, the Fast Schema Update process has no effect on the performance of modifying records, because the database schema is cached in memory and this process is transparent to the application.

IN SUMMARY

After applying a Schema Change, when a user queries the database for a record, the Fast Schema Update works as follows:
1. The record is retrieved by the database manager.
2. The database manager then checks the schema version of the record.
3. If the schema version matches the table version, then the record is passed back to the client by the database manager.
4. If the versions do not match, the database manager first updates the
record (by adding, deleting, renaming fields and correcting the version),then passes the record back to the client.