Учебно-справочное пособие по СУБД Informix

         

Архитектура Клиент-Сервер.



Архитектура Клиент-Сервер.

Очень многие СУБД разделяют свою работу на два уровня по системе "Клиент-Сервер". Хитрость состоит в том, что не только пользователь, но и программист этого не замечает. Разделение функций его задачи выполняется автоматически системой.

Итак, двухуровневая система "Клиент-Сервер" это:

  1. Клиент - Программа обработки, она же пользовательская, она же прикладная программа. Занимается обычно интерфейсом с пользователем, а всю фактическую работу с базой данных возлагает на плечи БД-сервера.
  2. Сервер Базы Данных - базис (database engine), он же ядро базы данных. Отдельная программа, выполняемая как отдельный процесс. Передает выбранную из базы информацию по межпроцессному каналу клиенту. Именно он, и только он фактически работает с данными, занимается их размещением на диске.

      В первый момент может возникнуть вопрос, а зачем такие сложности? Вот несколько соображений в пользу такого подхода.
      Представьте, вы работаете в сети, ваша программа обработки идет на одном компьютере, а сама база данных хранится на другом. Тут разделение выглядит совершенно естественным: клиент - ваша программа (точнее, та ее часть, которая отвечает за интерфейс с вами), гонит по сети запросы на обработку самих данных на другой компьютер, а там БД-сервер их прочитывает, выполняет требуемое, и по сети гонит ответы вам. При этом по сети передается только полезная информация.
      Другое соображение: постоянно идет работа по совершенствованию самого метода хранения и обработки информации, и если его реализация (т.е. БД-сервер) сменилась, та вам не потребуется перелопачивать и перекомпилировать с новыми библиотеками все свои разработанные программы, а достаточно будет инсталлировать новый БД-сервер взамен старого и перевести свои базы данных в формат нового сервера (применив для этого прилагаемую к нему утилиту). Естественно, все это можно проделать, если новый сервер придерживается тех же правил обмена между ним и пользовательской программой, что и старый, что, впрочем, наверняка имеет место.
      Всвязи с СУБД INFORMIX нас, естественно, интересует только одна модель данных - реляционная. Сетевых и иерархических моделей рассматривать здесь я не буду. Можно, конечно, дать строгое определение реляционной модели данных по Э.Ф. Кодду, но ведь ни одну из коммерческих СУБД нельзя назвать реляционной в строгом смысле этого слова.



      Содержание раздела