Фундаментальные основы архитектуры

1.2. Фундаментальные основы архитектуры

Перед тем как двигаться дальше, вы должны понимать основы системной архитектуры PostgreSQL. Понимание того, как взаимодействуют части PostgreSQL сделает этот раздел понятней.

На жаргоне баз данных, PostgreSQL использует модель клиент/сервер. Сессия PostgreSQL состоит из следующих скооперированных процессов (программ):

  • Серверного процесса (backend), который управляет файлами баз данных, осуществляет подключение к базам данным клиентских приложений и выполняет действия над базой данных, затребованные клиентами. Программа-сервер баз данных называется postgres (Все серверные backend-процессы порождаются севером postgres — прим. пер.).

  • Клиентского приложения пользователя (frontend), которое хочет выполнить операции с базой данных. Клиетнсткие приложения могут быть очень разными: ориентированными на работу с текстом, с графикой, с web-сервером или специальные инструменты обслуживания базы данных. Некоторые клиентские приложения поставляются в составе дистрибутива PostgreSQL, но подавляющее большинство пишется пользователями.

Для клиент-серверных приложений клиент и сервер обычно находятся на разных компьютерах. В этом случае, они соединяются по сети, через TCP/IP. Вы должны взять это на заметку, потому что файлы, которые доступны на клиентской машине могут быть недоступны (или доступны, используя другое имя файла) на машине-сервере.

Сервер PostgreSQL может управлять несколькими конкурентыми (говоря проще одновременными -- прим. пер.) соединениями от клиентов. Чтобы осуществлять это, сервер запускает (через системный вызов "fork") новый процесс для каждого соединения. Начиная с момента запуска клиент и новый серверный процесс общаются друг с другом без помощи первоначального postgres процесса. Таким образом, процесс postgres запущен всегда и ожидает соединений от клиентов, после чего начинают работать клиент и соответствующий ему серверный процесс. (Все это, разумеется, происходит незримо для пользователя. Мы объясняем это здесь только для понимания того, как все работает).

Back to top

(С) Виктор Вислобоков, 2008-2023