Основы конфигурирования серверов баз данных
Системы управления базами данных (СУБД) являются одним из наиболее распространенных классов прикладных систем для серверов, выпускаемых большинством компаний-производителей компьютерной техники. Следует отметить, что приложения, ориентированные на использование баз данных, и сами СУБД сильно различаются по своей организации. Если системы на базе файловых серверов сравнительно просто разделить по типу рабочей нагрузки на два принципиально различных класса (с интенсивной обработкой атрибутов файлов и с интенсивной обработкой самих данных), то провести подобную классификацию среди приложений баз данных и СУБД просто невозможно. Стандартный язык реляционных СУБД (SQL) намного богаче, чем набор операций сетевой файловой системы.
На сегодня абсолютное большинство инсталлированных в мире систем реляционные, и эта архитектура выбрана такими производителями, как Oracle, Sybase, Ingres, Informix, Progress, Empress и dBase. ADABAS компании Software AG - иерархическая система, хотя может обрабатывать стандартный SQL. Но даже с учетом того, что подавляющее большинство систем работает по одной и той же концептуально общей схеме, между различными продуктами имеются большие архитектурные различия. Возможно, наиболее существенным из них является реализация самой СУБД.
Подробный анализ различных моделей СУБД уже проводился на страницах журнала СУБД (см., например, [4] стр. 125-142). Здесь отметим лишь, что можно выделить два основных класса систем: системы, построенные по принципу"2N" (или " один-к-одному "), и многопотоковые системы. В более старых 2N-реализациях для каждого клиента на сервере используется отдельный процесс, даже если программа-клиент физически выполняется на отдельной системе. Таким образом, для работы каждого клиентского приложения используются два процесса - один на сервере и один на клиентской системе. Многопотоковые приложения как раз и разработаны для того, чтобы существенно снизить дополнительные расходы на организацию управления таким большим количеством процессов. Обычно они предполагают наличие нескольких процессов(от одного до пяти), работающих на серверной системе. Эти процессы имеют внутреннюю многопотоковую организацию, что обеспечивает обслуживание запросов множества клиентов. Большинство основных поставщиков СУБД в настоящее время используют многопотоковую реализацию или двигаются в этом направлении.