Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Кэш базы данных
Кэш базы данных
Кэш базы данных- участок памяти, зарезервированной для базы данных, выполняющейся на сервере. Его назначение - хранение всех страниц базы данных (также называется буферами), которые были использованы последними. Он конфигурируется по умолчанию для новых баз данных и для всех баз данных, которые не были индивидуально сконфигурированы. Эта установка по умолчанию, которая задает количество блоков памяти, или буферов страниц, каждый размером в страницу базы данных, устанавливается в файле конфигурации сервера:
* для версии 1.5 и выше это параметр DefauitDbCachePages в файле firebird.config для всех платформ;
* для версии 1.0.x это параметр database_cache_pages в файле isc_config (POSIX) или в ibconfig (Win32).
Следует подчеркнуть, что конфигурирование кэша не является обязательным. Конфигурация по умолчанию для Суперсервера соответствует большинству обычных потребностей, и реконфигурирование на уровне сервера может никогда не понадобиться. Для Классического сервера значение по умолчанию больше заслуживает внимания, т. к. оно может оказаться слишком большим для системы с немалым количеством одновременно работающих пользователей.
Вновь создаваемая база данных имеет размер кэша на уровне базы данных 0 страниц. Если установка кэша остается нулевой, то соединение с этой базой данных будет использовать установку на уровне сервера. Следовательно, база данных с большим размером страницы будет использовать больший объем памяти кэша, чем база данных с меньшим размером страницы.
Размер кэша может быть установлен индивидуально и постоянно для базы данных. При необходимости он может быть изменен. Другие базы данных, для которых оставляется нулевое значение (или устанавливается в ноль), будут использовать значение по умолчанию сервера.
Количество требуемых буферов кэша является приблизительным. Оно должно быть достаточно большим, чтобы удовлетворить требованиям баз данных к страницам, но не столь большим, чтобы занять память, необходимую другим операциям. До этого момента, чем больше работы может быть выполнено в кэше, тем лучше общая производительность. Аксиома "серверы баз данных любят RAM" истинна и для Firebird. Однако Firebird использует RAM для других видов деятельности, которые являются, по меньшей мере, столь же важными, что и кэширование. Транзакции и индексы поддерживаются в RAM, а, начиная с версии 1.5, сортировка и слияние данных также выполняются в памяти, если она доступна.
Важно понимать, что каждая система имеет критическую точку, где слишком большой размер кэша будет потреблять больше памяти, чем может "предложить" система. За этой точкой увеличение кэша приведет к ухудшению производительности.
- Вычисление размера кэша
- Размер страницы и размер кэша по умолчанию
- 25.2.4. Синхронизация базы данных
- Установка размера кэша на уровне базы данных
- Кэширование данных
- Чтение поступающих данных cookie
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Резервное копирование многофайловых баз данных
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.