In contrast, with a single-level storage model, an OODBMS uses the following steps to
retrieve an object from secondary storage, as illustrated in Figure 26.7:
- The OODBMS determines the page on secondary storage that contains the required
object using its OID or an index, as appropriate. The OODBMS then reads that page from secondary storage and copies it into the application’s page cache within its memory space.
- The OODBMS may then carry out a number of conversions, such as:
– swizzling references (pointers) between objects;
– adding some information to the object’s data structure to make it conform to that
required by the programming language;
– modifying the data representations for data that has come from a different hardware
platform or programming language.
- The application can then directly access the object and update it, as required.
- When the application wishes to make the changes persistent, or when the OODBMS
needs to swap the page out of the page cache, the OODBMS may need to carry out similar conversions as listed above, before copying the page back to secondary storage