Прежде чем продолжить, вы должны понимать базовую архитектуру системы Digital Q.DataBase. Понимание того, как части Digital Q.DataBase взаимодействуют, сделает эту главу несколько понятнее.
На языке баз данных, Digital Q.DataBase использует модель клиент/сервер. Сеанс Digital Q.DataBase состоит из следующих взаимодействующих процессов (программ):
Процесс сервера, который управляет файлами базы данных, принимает
подключения к базе данных от клиентских приложений и
выполняет действия с базой данных от имени клиентов.
Программа сервера базы данных называется
postgres.
Клиентское (фронтенд) приложение пользователя, которое хочет выполнять операции с базой данных. Клиентские приложения могут быть очень разнообразными по природе: клиентом может быть текстовый инструмент, графическое приложение, веб-сервер, который обращается к базе данных для отображения веб-страниц, или специализированный инструмент обслуживания базы данных.
Как это типично для клиент-серверных приложений, клиент и сервер могут находиться на разных хостах. В этом случае они общаются через TCP/IP-сетевое соединение. Вы должны иметь это в виду, потому что файлы, доступные на клиентской машине, могут быть недоступны (или доступны только с другим именем файла) на машине сервера базы данных.
Сервер Digital Q.DataBase может обрабатывать
множество одновременных подключений от клиентов. Для этого он
запускает новый процесс для каждого подключения.
С этого момента клиент и новый серверный процесс
общаются без вмешательства исходного процесса
postgres. Таким образом, процесс-супервизор сервера всегда работает,
ожидая клиентских подключений, в то время как клиентские и связанные с ними серверные процессы
появляются и исчезают. Упомянутые механизмы являются внутренними и не влияют на пользовательский интерфейс.