InterBase - статьи

         

Дисковая структура базы данных Interbase


Для понимания процесса восстановления и возможности такового изложим немного теории.

База данных состоит из одного или нескольких файлов. Файл базы данных, в свою очередь, состоит из набора <страниц> (далее просто страниц) фиксированной длины, размер которых указывается при создании базы данных, каждый файл базы данных содержит в себе страницы одинакового размера. Стандартной является страница 4096 байтов. Достоверность данного утверждения можно проверить, поделив размер файла на размер страницы. У Вас получится количество страниц содержащихся в базе. Для удобства работы с каждой страницей в отдельности можно разрезать данный файл на множество файлов содержащих в себе только одну станицу, либо воспользоваться программой IBSurgeon Viewer .

В Interbase используется несколько видов страниц:

• Страница-заголовок (Header page)

•  Страница указателей (Pointer page)

•  Страница учета транзакций (Transaction inventory page)

•  Страница распределения места ( Space inventory page )

•  Страница генераторов ( Generator page )

•  Страница основного индекса ( Index root page )

•  Станица индексов (Index page)

•  Станица данных (Data page)

Типы страниц определены в файле ods . h таким образом:

/* Page types */

#define pag_undefined 0

#define pag_header 1 /* Database header page */

#define pag_pages 2 /* Page inventory page */

#define pag_transactions 3 /* Transaction inventory page */

#define pag_pointer 4 /* Pointer page */

#define pag_data 5 /* Data page */

#define pag_root 6 /* Index root page */

#define pag_index 7 /* Index (B-tree) page */

#define pag_blob 8 /* Blob data page */

#define pag_ids 9 /* Gen-ids */

#define pag_log 10 /* Write ahead log information */

#define pag_max 10 /* Max page type */

Страница заголовок (Header page) это первый блок в первом файле в базе данных. Когда Interbase присоединяется к базе данных он считывает первый килобайт файла. Заголовок содержит в себе критичную информацию о базе данных. Она включает в себя номер версии дисковой структуры (On Disk Structure - ODS) и размер страницы. После того, как сервер Interbase установил, что версия дисковой структуры, которая используется в файле им поддерживается, он перечитывает страницу-заголовок, используя правильный размер страницы и узнает необходимую информацию, такую как имена и диапазон страниц, содержащихся во вторичных файлах базы данных, следующую доступную транзакцию и последнюю, интересующую нас, транзакцию.

На последующем шаге ищется ядро системных таблиц и строится внутреннее представление базы данных.



Содержание раздела