"Гигиена" базы данных

"Гигиена" базы данных

Firebird использует многоверсионную архитектуру. Это означает, что на страницах данных хранится множество версий строк данных. Когда строка изменяется или удаляется, Firebird сохраняет копию старого состояния записи и создает новую версию. Это размножение предыдущих версий записей может увеличить размер базы данных.

Фоновая сборка мусора

Для ограничения такого разрастания Firebird постоянно выполняет сборку мусора (garbage collection) на фоне активности базы данных.

Фоновая сборка мусора ничего не делает с устаревшими версиями записей, которые относятся к незавершенным транзакциям - они не будут обработаны в процессе обычных служебных действий. Для полной санации базы данных Firebird может выполнять чистку базы данных (database sweeping).

Чистка базы данных

Чистка базы данных является способом систематического удаления всех устаревших версий строк и освобождения занятого ими пространства на страницах с целью его повторного использования. Периодическая чистка предотвращает разрастание базы данных до излишних размеров. Не удивительно, что, хотя чистка осуществляется в асинхронном фоновом потоке, она может повлиять на производительность системы.

По умолчанию база данных Firebird выполняет чистку, когда интервал очистки достигает 20 000 транзакций. При этом поведение чистки может настраиваться: она может запускаться автоматически, интервал очистки может изменяться, автоматическая чистка может быть отменена, чтобы запускать ее вручную при необходимости.

Ручная чистка может быть инициирована из служебной программы командной строки gfix. Подробности см. в главе 39. Некоторые другие инструменты обеспечивают графический интерфейс для инициирования ручной чистки.

Интервал очистки

Сервер Firebird поддерживает инвентаризацию транзакций. Самая старая из транзакций, которые помечены в инвентарном списке как завершенные по rollback, называется "старейшей заинтересованной" (Oldest Interesting Transaction, OIT, или Oldest transaction), и обозначает начальную точку для интервала очистки. Если интервал очистки больше нуля, Firebird запускает полную чистку базы данных, когда разница между OIT и транзакцией Oldest snaphsot превышает порог, установленный для интервала очистки.

Инструкции см. в главе 39.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Сортировка базы данных

Из книги автора

Сортировка базы данных Итак, Web-сценарий, генерирующий полосу навигации, работает. Самое время дополнить полосу навигации еще парой пунктов.Откроем файл Web-сценария data.js и добавим в массив aCSS два элемента:aCSS[3] = { name: "font-family", url: "attrs/a_font-family.htm" };aCSS[4] = { name: "font-size", url: "attrs/a_font-size.htm"


Экспорт данных из базы данных Access 2007 в список SharePoint

Из книги автора

Экспорт данных из базы данных Access 2007 в список SharePoint Access 2007 позволяет экспортировать таблицу или другой объект базы данных в различных форматах, таких как внешний файл, база данных dBase или Paradox, файл Lotus 1–2–3, рабочая книга Excel 2007, файл Word 2007 RTF, текстовый файл, документ XML


Перемещение данных из базы данных Access 2007 на узел SharePoint

Из книги автора

Перемещение данных из базы данных Access 2007 на узел SharePoint Потребности многих приложений Access 2007 превышают простую потребность в управлении и сборе данных. Часто такие приложения используются многими пользователями организации, а значит, имеют повышенные потребности в


Владелец базы данных

Из книги автора

Владелец базы данных Резервное копирование базы данных может быть выполнено либо владельцем базы данных (owner), либо системным администратором (SYSDBA). Но восстановление базы данных может быть выполнено любым пользователем (исключая ситуацию, когда нужно восстановить базу


Спасение данных из поврежденной базы данных

Из книги автора

Спасение данных из поврежденной базы данных Возможно, что все вышеприведенные действия не приведут к восстановлению базы данных. Это означает, что база серьезно повреждена и либо совсем не подлежит восстановлению как единое целое, либо для ее восстановления понадобится


Кеш базы данных

Из книги автора

Кеш базы данных Кеш базы данных служит для хранения наиболее часто используемых страниц из базы данных. Его размер исчисляется в страницах и может быть установлен тремя разными способами:* Заданием параметра файла конфигурации ibconfig DATABASE CASHE PAGES. При этом


2.2.5. Базы данных

Из книги автора

2.2.5. Базы данных При написании CGI приложений, вам необходим, какой то путь для доступа к данным базы. Одним из простых решений будет использование BDE и помещение ваших данных в таблицы Парадокса или dBASE. Если по какой либо причине BDE не инсталлировано на вашем NT Web сервере


Базы данных

Из книги автора

Базы данных 1. В чем заключаются преимущества нового 32-разрядного Borland Database Engine? Новый 32-разрядный Borland Database Engine включает полностью новое ядро запросов, которое было оптимизировано для работы как с удаленными SQL-серверами, так и с локальными данными. 32-разрядный Borland Database


Обновление базы данных с помощью объекта адаптера данных

Из книги автора

Обновление базы данных с помощью объекта адаптера данных Адаптеры данных могут не только заполнять для вас таблицы объекта DataSet. Они могут также поддерживать набор объектов основных SQL-команд, используя их для возвращения модифицированных данных обратно в хранилище


Алиасы базы данных

Из книги автора

Алиасы базы данных Firebird 1.5 ввел концепцию алиасов базы данных не только для того, чтобы облегчить жизнь уставших от клавиатуры разработчиков, но и для того, чтобы улучшить переносимость приложений, а также чтобы усилить контроль над внутренним и внешним доступом к файлу


Базы данных

Из книги автора

Базы данных Каждая база данных располагается в одном или более файлах, которые динамически увеличиваются при возникновении такой необходимости. Файлы базы данных должны храниться на дисках, находящихся под физическим управлением машины, где располагается сервер.


Кэш базы данных

Из книги автора

Кэш базы данных Кэш базы данных- участок памяти, зарезервированной для базы данных, выполняющейся на сервере. Его назначение - хранение всех страниц базы данных (также называется буферами), которые были использованы последними. Он конфигурируется по умолчанию для новых


Чистка базы данных

Из книги автора

Чистка базы данных Многоверсионная архитектура Firebird порождает ситуацию, когда множество версий строк данных хранится непосредственно на страницах базы данных. Firebird сохраняет старые версии при изменении или удалении строки. При нормальном ходе событий устаревшие


Базы данных (классы для работы с базами данных)

Из книги автора

Базы данных (классы для работы с базами данных) В MFC включены несколько классов, обеспечивающую поддержку приложений, работающих с базами данных. В первую очередь это классы ориентированные на работу с ODBC драйверами – CDatabase и CRecordSet. Поддерживаются также новые средства для