1.2. Основы архитектуры#

1.2. Основы архитектуры

1.2. Основы архитектуры #

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

В терминологии баз данных Tantor BE используется модель «клиент-сервер». Сессия Tantor BE состоит из следующих взаимодействующих процессов (программ):

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

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

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

Сервер Tantor BE может обрабатывать одновременно несколько подключений от клиентов. Для этого он запускает (разветвляет) новый процесс для каждого подключения. С этого момента клиент и новый серверный процесс общаются не затрагивая процесс postgres. Таким образом, серверный процесс-наблюдатель всегда работает, ожидая подключений клиентов, в то время как клиент и связанные с ним серверные процессы появляются и исчезают. (Все это, конечно же, невидимо для пользователя. Мы упоминаем это здесь только для полноты информации).