Трехуровневая архитектура систем БД. Архитектура ANSU/SPARC (Study Group on Data Management System) включает три уровня: внутренний, концептуальный и внешний (ри с 4).
Внешний уровень (индивидуальные представления пользователей). Концептуальный уровень (обобщенное представление пользователей). Внутренний уровень (представление в памяти)
Внутренний уровень - это уровень, наиболее близкий к физическому хранению, т.е. связанный со способами сохранения информации на физических устройствах хранения. Внешний уровень связан со способами представления данных для отдельных пользователей.
Концептуальный уровень - является «промежуточным» между внутренним и внешним уровнями. Если внешний уровень связан с индивидуальным представлением пользователей, то концептуальный уровень связан с обобщенным представлением пользователей. Также есть единственное внутреннее представление, отражающее вою базу данных как физически хранимую.
Архитектура клиент/сервер.
На высоком уровне систему баз данных можно рассматривать как систему, состоящую из двух частей - сервера (или машины базы данных) и набора клиентов (или внешнего интерфейса1). Сервер -это собственно СУБД. Клиенты - это различные приложения, которые выполняются «над» СУБД. Они делятся на приложения, написанные пользователями и приложения, предоставляемые поставщиками (инструментальные системы).
|
|
Машины клиентов могут иметь свои собственные сохраняемые данные, а машина сервера может иметь свои собственные приложения. Отдельная машина клиента может иметь доступ к нескольким разным машинам серверов. Такой доступ предоставляется двумя способами:
1. Клиент получает доступ к любому количеству серверов, но лишь к одному в одно и то же время.
2. Клиент может получать доступ к любому количеству серверов одновременно (т.е за один запрос можно получить комбинированные данные двух или более серверов). В этом случае серверы рассматриваются клиентом как один (с логической т очки зрения), и пользователь может не знать, на какой именно машине какая часть данных содержится.
Принципы взаимодействия между клиентскими и серверными частями
Доступ к базе данных от прикладной программы или пользователя производится путем обращения к клиентской части; системы. В качестве основного интерфейса между клиентской и серверной частями выступает язык баз данных SQL Это язык по сути дела представляет собой текущий стандарт интерфейса СУБД в открытых системах. Собирательное название SQL-сервер относится ко в сем серверам баз данных, основанных на SQL.
Серверы баз данных, интерфейс которых основан исключительно на языке SQL, обладают своими преимуществами и своими недостатками. Очевидное преимущество - стандартность интерфейса.
|
|
Одним из перспективных направлений СУБД является гибкое конфигурирование системы, при котором распределение функций между клиентской и пользовательской частями СУБД определяется при установке системы.
Типичное разделение функций между клиентами и серверами
В типичном случае на стороне клиента СУБд работает только такое программное обеспечение, которое не имеет непосредственного доступа к БД, а обращается для этого к серверу с использованием языка SQL.
В некоторых случаях хотелось бы включить в состав клиентской части системы некоторые функции для работы с "локальным кэшем4 базы данных, т.е. с той ее частью, которая интенсивно используется клиентской прикладной программой. В современной технологии это можно сделать только путем формального создания на стороне клиента локальной копии сервера базы данных и рассмотрения всей системы как набора взаимодействующих серверов.
С другой стороны; иногда хотелось бы перенести большую часть прикладной системы на сторону сервера, если розница в мощности клиентских рабочим станций и сервера чересчур велика. В общем-то при использовании RPC это сделать нетрудно. Но требуется, чтобы базовое программное обеспечение сервера действительно позволяло это. В частности, при использовании ОС UNIX проблемы практически не возникают.