ZSBD-2st-1.2-w6.tresc-1.1-Slajd10

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Transformacja identyfikatorów obiektów

Transformacja identyfikatorów obiektów


Transformacja identyfikatorów obiektów (ang. pointer swizzling) polega na zamianie w obiektach składowanych w pamięci operacyjnej identyfikatorów obiektów reprezentujących związki między obiektami na adresy tych obiektów w pamięci operacyjnej. Taka transformacja może mieć miejsce, jeżeli zarówno obiekt zawierający referencje, jak i obiekt przez nią wskazywany znajdują się jednocześnie w pamięci operacyjnej, to jest w buforze obiektów lub w buforze stron. Celem transformacji identyfikatorów jest przyśpieszenie operacji nawigacji. Nawigacja wykonywana przez adres obiektu w pamięci operacyjnej jest znacznie szybsza, niż nawigacja wymagająca przejścia przez scentralizowane struktury dostępu, na przykład B+-drzewo założone na identyfikatorach obiektów, a następnie ustalenia lokalizacji obiektu w buforach. Zysk z zastosowania takiej transformacji jest wprost proporcjonalny do liczby powtórzeń operacji nawigacji. Jednak jak ustaliliśmy wielokrotne przetwarzanie tego samego zbioru obiektów jest typowe dla modelu przetwarzania obiektowych baz danych.

Idea transformacji identyfikatorów obiektów została przedstawiona na rysunku. Baza danych zawiera dwa obiekty o identyfikatorach oid1 i oid2. Obiekty te są wzajemnie powiązane. Obiekt o identyfikatorze oid1 zawiera referencję na obiekt o identyfikatorze oid2 i na odwrót, obiekt oid2 zawiera referencję na obiekt oid1. Te dwa obiekty załadowane do bufora w pamięci operacyjnej mają przetransformowane referencje z globalnych identyfikatorów obiektów na wskaźniki w pamięci operacyjnej.

Są trzy podstawowe alternatywy dla implementacji mechanizmu transformacji identyfikatorów. Pierwsza dotyczy miejsca wykonywania transformacji w dwupoziomowym systemie buforów. Polega ona na wyborze miejsca wykonywania transformacji: w buforze stron albo w buforze obiektów. Druga alternatywa dotyczy czasu transformacji. Możliwe opcje to: natychmiast po załadowaniu obiektów do pamięci operacyjnej albo dopiero przed pierwszą próbą dostępu przez aplikacje bazy danych do danego obiektu. Ostatnia alternatywa dotyczy sposobu transformacji i obejmuje dwie opcje. Pierwszą opcją jest transformacja referencji zawierających identyfikatory obiektów na adresy tych obiektów w pamięci operacyjnej. Druga opcja to transformacja na adres pośredniczącej struktury w pamięci operacyjnej. To drugie rozwiązanie umożliwia przesuwanie obiektów w buforach bez konieczności modyfikacji wartości przetransformowanych wskaźników.


<< Poprzedni slajd | Spis treści | Następny slajd >>