Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Суперсервер выполняется как один вызов выполняемого модуля fbserver (рис. 36.2). fbserver запускается один раз системным загрузочным скриптом или системным администратором и остается запущенным, ожидая запросов на соединение. Процесс завершается явным остановом.

Рис. 36.1. Сеть Классического сервера и модель процесса
Управление блокировками
При Классическом сервере каждый клиентский процесс сервера имеет свой собственный, связанный с базой данных кэш, и множество процессов борются за доступ к базе данных. Подсистема управления блокировками, fb lockrngr, использует методы внутреннего процесса связи (Inner-Process Communication, IPC) для управления и синхронизации доступа параллельных процессов к страницам.
В Суперсервере менеджер блокировок реализован как поток процесса fbserver и использует механизмы внутрипоточной связи вместо механизма сигнализации POSIX.
Подробности внутреннего управления блокировками см. в главе 40.
Использование ресурсов
В Классическом сервере каждый экземпляр fb_inet_server выделяет в своей области памяти статический кэш для страниц базы данных. Поэтому использование ресурсов линейно возрастает с каждым дополнительным клиентским соединением. Однако, когда количество одновременных соединений относительно мало, Классический сервер использует меньше ресурсов.

Рис. 36.2. Сеть Суперсервера и модель процесса
Суперсервер использует единое пространство кэша, которое совместно используется клиентскими подключениями, что позволяет более эффективно использовать и управлять памятью кэша при большом увеличении количества одновременных соединений.
Локальный доступ
Классический сервер позволяет процессам приложений, которые выполняются на той же машине, где находятся сервер и базы данных, выполнять прямые операции ввода/вывода с базой данных.
За исключением встроенного сервера Суперсервер требует, чтобы приложения использовали сетевые методы для запросов ввода/вывода, и удовлетворяет эти запросы по сети. В Linux Суперсервер не поддерживает локальный прямой доступ.
* На платформах, отличающихся от Windows (и также рекомендовано для Windows), локальные соединения с Суперсервером через сервер localhost (с адресом IP по соглашению 127.0.0.1).
* Сервер Windows и локальный клиент могут имитировать сетевое соединение через совместно используемое пространство IPC. Этот механизм, называемый локальным доступом, не может безопасно обрабатывать множество соединений. После Firebird 1.5 он замещается локальным методом доступа с использованием подсистемы XNET.
Встроенный сервер может использовать только "локальный для Windows" метод доступа и поддерживает одно и только одно соединение с каждой локальной базой данных. Встроенный клиент может единолично соединяться с множеством локальных баз данных и получать к ним доступ через встроенный сервер. Встроенный клиент может также соединяться как обычный сетевой клиент с базами данных на других серверах.
Файл конфигурации Firebird
Firebird не требует постоянных серьезных изменений конфигурации, как это делает большинство других мощных реляционных СУБД. Однако доступен большой диапазон режимов конфигурации для настройки сервера Firebird и хост-системы, на которой он запущен.
Файл конфигурации Firebird имеет имя firebird.conf во всех версиях Firebird, начиная с 1.5. В предыдущих версиях его имя зависит от операционной системы:
* в Linux/UNIX это файл isc config;
* в Windows его имя ibconfig.
Некоторые новые параметры были добавлены в версию 1.5.
Когда при запуске процесса Firebird читается файл конфигурации, то выполняется настройка его флагов времени выполнения на значения не по умолчанию, содержащиеся в файле конфигурации. Этот файл больше не читается, пока сервер не будет заново запущен в следующий раз. Параметры конфигурации по умолчанию и их значения отображаются в файле конфигурации, закомментированные маркерами комментариев #. Нет необходимости убирать комментарии для значений по умолчанию, чтобы сделать их видимыми процедуре запуска сервера.
Файл конфигурации может быть отредактирован любым текстовым редактором, например, vim (Linux) или Блокнот (Windows). Не копируйте этот файл с машины Windows на Linux и наоборот, поскольку две системы по-разному хранят символ перевода строки.
Параметры
Записи имеют форму.
имя-параметра = значение
имя-параметра является строкой, которая не содержит пробелов и именует конфигурируемое свойство сервера.
Значение является числом, логическим значением (1 = True, 0 = False) или строкой, что задает значение параметра.
Для установления значения любого параметра в значение не по умолчанию удалите маркер комментария (#) и отредактируйте значение.
Имена параметров Firebird 1.0.* в ibconfig/iscconfig и их синтаксис не являются равнозначными параметрам в firebird.conf. Формат, размер и количество параметров являются более ограниченными.
Формат в ibconfig/isc_config:
имя-параметра значение
Здесь пробелами между именем и его значением могут быть символы табуляции или пробелы - по желанию, что больше радует глаз. Каждая строка в файле ограничена 80 символами. Неиспользуемые параметры и значения инсталляции по умолчанию закомментированы символом #.
В Linux вы должны учитывать, что имена параметров чувствительны к регистру.
! ! !
ПРИМЕЧАНИЕ. Вы можете редактировать файл конфигурации в то время, когда сервер работает. Для активации изменений конфигурации необходимо остановить и снова запустить сервер.
. ! .
В версиях, предшествующих 1.5, некоторые необязательные параметры, которые не могли быть сконфигурированы по умолчанию, не вошли в файл конфигурации.
* Если отсутствующий параметр, принадлежащий ibconfig или isc_config, необходим для работы, он может быть добавлен.
* Если вы включите параметр, который не поддерживается в той версии, которая у вас запущена, он будет проигнорирован.
* Имена параметров и синтаксические конструкции в ibconfig/isc config не являются взаимозаменяемыми в firebird.conf.
Улучшенные установки менеджера блокировок обсуждаются позже в конце главы 40.
Версия 1.5 и более поздние.
Значением этого параметра является строка, задающая абсолютный путь к корневому каталогу локальной файловой системы. Этот параметр должен оставаться закомментированным, если только вы не хотите, чтобы процедура запуска заменила путь к корневому каталогу инсталляции сервера Firebird, который иначе она определяет сама. Серверы Firebird 1.5 и выше следуют заранее определенным путем для поиска корневого каталога. Логика этого пути объясняется в главе 3.
Читать дальшеИнтервал:
Закладка: