при потребности обращается по сети к серверной части. Интерфейс сер-
верной части определен и фиксирован.
В современных информационных системах таким интерфейсом, как
правило, является язык SQL, т.е. сервер принимает от клиентской части
SQL-запрос и выполняет необходимые операции в базе данных, после
чего возвращает ответ клиенту. По сути, язык SQL представляет собой
стандарт интерфейса СУБД в открытых системах (концепция открытых
систем затрагивалась в предыдущем разделе).
В системе «клиент-сервер» возможно создание новых клиентских
частей уже существующей системы, причем максимальное количество
одновременно работающих с общей БД клиентов несравнимо больше,
чем в файл-серверной архитектуре, т.е. система клиент-сервер является
более масштабируемой. Это объясняется тем, что сетевой трафик в кли-
ент-серверной системе невысок (от клиента передаются только тексты
запросов, от сервера – уже отобранные данные, а не вся база данных, как
в архитектуре файл-сервер).
Термин «сервер баз данных» обычно используют для обозначения
всей СУБД, основанной на архитектуре "клиент-сервер", включая сервер-
ную и клиентскую части. Собирательное название SQL-сервер относится
ко всем серверам баз данных, основанных на использовании языка SQL.
В настоящее время имеется несколько широко распространенных
коммерческих SQL-серверов – Oracle, DB-2, MS SQL Server, Sybase, In-
formix, Interbase и свободно распространяемые серверы с открытым ис-
ходным кодом PostGres (PostgreeSQL), MySQL, FireBird (свободно рас-
пространяемый вариант сервера Interbase). Приведенный список далеко
не полон.
SQL-cерверы обладают преимуществами и недостатками. Очевидное
преимущество - стандартность интерфейса. В пределе, хотя на практике
это пока не совсем так, клиентские части могли бы работать с любым
SQL-сервером вне зависимости от того, кто его произвел. Иными слова-
ми, прикладное программное обеспечение на стороне клиента легко на-
страивается на взаимодействие с любым новым SQL-сервером.
Недостаток – большая нагрузка на сервер, который должен отраба-
тывать запросы всех клиентов, и малая нагрузка на клиентскую часть. По
мере роста количества одновременно работающих пользователей сервер
часто становится узким местом всей системы и возникает необходимость
его разгрузки. Для этого существуют два пути.
• Если клиентские компьютеры обладают достаточной мощностью, то
можно возложить на них больше функций обработки данных, разгру-
зив сервер.
• В случае применения маломощных клиентских компьютеров (а это
более типичная ситуация), применяют многозвенную (многоуровне-