Classic
Classic
Рассмотрим подробнее архитектуру Classic-варианта сервера InterBase. В этой модели, как было сказано ранее, для каждого клиентского соединения запускается собственный серверный процесс, который обслуживает данного клиента. Процессом запуска управляет внешний процесс (это inetd или xinetd для Unix-систем).
Серверные процессы изолированы друг от друга. Как и любые другие процессы в ОС, они не могут свободно читать и писать друг у друга в памяти. Тем не менее работать они будут с одной базой данных, в результате чего могут возникнуть конфликты и рассогласования данных в базе данных. Представьте себе, что один серверный процесс пытается изменить страницу в базе данных, которую в данный момент изменяет другой процесс. Очевидно, что возникнет конфликт на почве распределения ресурсов. Чтобы сообщить о том, что определенные ресурсы в базе данных в данный момент используются и разрешить возникающие при "дележке" конфликты, существует специальный процесс - менеджер блокировок (gds_lock_mgr). Необходимость в менеджере блокировок возникает, когда второй клиент подсоединяется к базе. Именно в этот момент менеджер блокировок загружается в память, чтобы "следить за порядком".
Помимо разрешения конфликтов, существует дополнительная необходимость управления сервером в смысле администрирования. К сожалению, в Classic невозможно с клиента получить информацию о количестве клиентских соединений, обслуживаемых в данный момент сервером, так как для каждого клиента существует только один сервер, а информация об остальных серверных процессах, обслуживающих других клиентов, ему недоступна. Также в Classic- вариантах InterBase 6 и его клонов пока не реализовано Services API, которое позволяет управлять сервером через клиентские соединения, а не через специальные программы. Правда, надо отметить, что Yaffil Classic Server имеет реализацию Services API.
У каждого серверного процесса имеется собственный кеш, в котором хранятся используемые страницы базы данных. Например, если мы выделим на обслуживание каждого клиентского соединения 15 Мбайт кеша, то при 20 клиентах нам будет нужно 300 Мбайт ОЗУ только на кеш-память. Если предположить, что клиенты выполняют в основном какие-то однообразные запросы (а так оно и есть в большинстве клиент-серверных систем), то будет очевидным многократное дублирование кешированной информации в каждом серверном процессе. Classic довольно расточителен: даже если клиенты выполняют абсолютно одинаковые запросы, все равно для каждого серверного процесса, обслуживающего одного клиента, будет кешироваться одна и та же информация.
Кроме кеша страниц базы данных, память отводится для кеширования схемы базы (метаданных). Каждый серверный процесс в архитектуре Classic будет иметь свою копию метаданных. На сложной базе (скажем, с сотнями таблиц и процедур) это может вылиться в десятки мегабайтов, причем отрегулировать этот размер нельзя.
Помимо вышеперечисленного, также велик расход ресурсов на запуск множества серверных процессов и функционирование менеджера блокировок. Чтобы преодолеть недостатки подхода "каждому клиенту - по серверу", была разработана архитектура SuperServer, на которую сейчас в компании Borland и направлены все усилия.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
InterBase Classic Server под Linux
InterBase Classic Server под Linux Корневой каталог InterBase CS содержит несколько подкаталогов и файлов, которые описаны в таблице 4.19. Часть из них имеет то же самое название и назначение, что и в InterBase SS под Windows, поэтому подробно такие файлы описывать не будем.Табл 4.19. Состав InterBase CS для
Каталог BIN в InterBase Classic Server для Linux
Каталог BIN в InterBase Classic Server для Linux Как будет ясно из главы "Classic и SuperServer", в Classic-архитектуре состав основных исполняемых файлов InterBase меняется - к нему добавляется менеджер блокировок и различные утилиты для управления InterBase. Файлы в каталоге Вт описаны в таблице 4 20.Табл 4.20.
Classic и SuperServer
Classic и SuperServer На данный момент существуют два варианта архитектуры InterBase, которые значительно отличаются друг от друга методами работы с клиентами, организацией взаимодействия собственных модулей и даже составом модулей, входящих в определению реализацию архитектуры.
Classic
Classic Рассмотрим подробнее архитектуру Classic-варианта сервера InterBase. В этой модели, как было сказано ранее, для каждого клиентского соединения запускается собственный серверный процесс, который обслуживает данного клиента. Процессом запуска управляет внешний процесс (это
Classic vs SuperServer
Classic vs SuperServer Как вы уже могли заметить, картина складывается довольно интересная на каждый недостаток Classic у SuperServer находится достоинство. Classic расточителен - SuperServer экономен, Classic без Services API - у SuperServer он есть.Однако, как и везде, здесь мы имеем "палку о двух концах", т. е.,
Рекомендации по выбору архитектуры: Classic или SuperServer?
Рекомендации по выбору архитектуры: Classic или SuperServer? Прочитав предыдущий раздел, читатель может ощутить необходимость немедленно перейти на сервер InterBase с архитектурой Classic. Однако стоит побороть это иррациональное стремление и хорошенько все взвесить. Ведь нельзя
Эффективное взаимодействие процессов архитектуры Classic Server
Эффективное взаимодействие процессов архитектуры Classic Server В архитектуре Classic Server несколько серверных процессов совместно работают с одной базой данных, осуществляя координацию своих действий через разделяемую таблицу блокировок. Взаимодействие процессов на версиях
Classic Mosaic (Классическая мозаика)
Classic Mosaic (Классическая мозаика) Интересный фильтр для преобразования изображения или его части в мозаику. Особенность данного фильтра заключается в том, что перед конвертированием он анализирует контуры объектов изображения и создает мозаику по ним, подгоняя ее кусочки
WebWasher Classic
WebWasher Classic Производитель: CyberGuard Corporation (http://www.cyberguard.com).Статус: бесплатная.Страница для скачивания: http://www.cyberguard.com/products/webwasher/webwasher_products/classic/download/index.html?lang=de_EN.Размер дистрибутива: 1 Мбайт.WebWasher – это надстройка для браузеров Internet Explorer, Netscape и Opera, предназначенная для улучшения
Как настроить Media Player Classic?
Как настроить Media Player Classic? Если в процессе установки вы назначили Media Player Classic проигрывателем по умолчанию, то при двойном щелчке на значке любого видеофайла начнется его воспроизведение именно в этой программе (1).Чтобы выбрать, какой программой проиграть фильм, щелкните
NOKIA 3720 CLASSIC
NOKIA 3720 CLASSIC Финский производитель мобильных телефонов выкатил защищенную модель Nokia 3720 classic, которая с честью выйдет из самых неблагоприятных ситуаций. Чтобы на деле показать крепкий характер аппарата, в Интернете размещена подборка роликов, демонстрирующих изощренные
Nokia 3500 Classic: Два мегапиксела в среднем классе
Nokia 3500 Classic: Два мегапиксела в среднем классе Автор: Алексей Стародымов+приятный внешний вид,2-мегапиксельная камера,microSD на 128 Мбайт в комплекте -зернистый экран невысокого разрешения, отсутствует ИК-порт, в комплект не входит miniUSB- кабельNokia 3500 Classic, пожалуй, первый