Открыть сервис

Файл-серверная СУБД

Файл-серверная СУБД — это архитектура системы управления базами данных (СУБД), в которой файлы базы данных хранятся на центральном сетевом сервере (файловом сервере), а программное обеспечение СУБД, обрабатывающее запросы пользователей, полностью выполняется на стороне клиентских компьютеров. В отличие от клиент-серверной архитектуры, файл-серверная СУБД не имеет выделенного процесса на сервере, отвечающего за выполнение запросов, и все манипуляции с данными производятся на клиентской машине, которая считывает и записывает файлы базы данных по сети.

История и развитие

Концепция файл-серверных СУБД восходит к ранним этапам развития сетевых технологий в 1980-х годах, когда локальные вычислительные сети (LAN) получили широкое распространение. В условиях ограниченной вычислительной мощности серверов и отсутствия зрелых технологий клиент-серверной архитектуры, файл-серверный подход был наиболее простым способом организовать коллективный доступ к данным.

Первыми популярными СУБД, использующими эту архитектуру, стали dBase, FoxPro, Paradox и Microsoft Access. Эти системы позволяли нескольким пользователям одновременно работать с одними и теми же файлами, хранящимися на сетевом диске. С ростом объема данных и числа пользователей недостатки архитектуры стали очевидными: резкое снижение производительности при большом количестве соединений, проблемы с блокировками и целостностью данных, а также высокая нагрузка на сеть.

В середине 1990-х годов, с появлением мощных серверных операционных систем и оптимизированных клиент-серверных СУБД (например, Oracle, Microsoft SQL Server, PostgreSQL), файл-серверная архитектура стала постепенно вытесняться в специализированные области — преимущественно в небольшие рабочие группы и приложения с низкими требованиями к производительности и масштабируемости. Тем не менее, многие приложения, созданные в 1990-х и начале 2000-х годов, по-прежнему используют файл-серверные СУБД, что поддерживается из-за инерции и необходимости обратной совместимости.

Архитектура и принцип работы

Ключевая особенность файл-серверной архитектуры — разделение ответственности.

На сервере (файловом сервере) размещается только файловая система, содержащая файлы базы данных (например, .mdb, .dbf, .fdb). Сервер не обладает специализированным программным обеспечением для обработки запросов к БД. Его задача — обеспечить клиентским машинам доступ к файлам по сети, используя сетевые протоколы, такие как SMB (Server Message Block) или NFS (Network File System).

На стороне клиента выполняется полноценная СУБД. Когда пользователь запускает приложение и формирует запрос к базе данных (например, SELECT, INSERT), клиентское приложение выполняет следующие шаги:

  1. Определяет, какие файлы базы данных содержат необходимую информацию.
  2. Пересылает по сети запрос к файловому серверу на чтение необходимого фрагмента файла (блока данных).
  3. Сервер передаёт запрошенный блок данных клиенту.
  4. Клиентское приложение на своей стороне обрабатывает этот блок: выполняет фильтрацию, сортировку, объединение и другие операции, предусмотренные запросом.
  5. Если запрос предполагает изменение данных, клиентское приложение формирует новый блок данных, вносит изменения и отправляет его обратно на сервер.
  6. Сервер записывает полученный блок обратно в файл.

Таким образом, весь процесс выполнения запроса (разбор, оптимизация, выполнение) происходит на стороне клиента. Сеть используется не для обмена компактными запросами и ответами, а для передачи целых блоков файлов.

Отличия от клиент-серверной архитектуры

Основное отличие заключается в месте выполнения обработки запросов.

<a name="class"></a>

Классификация и виды

Файл-серверные СУБД можно классифицировать по нескольким признакам:

Преимущества и недостатки

Преимущества

Недостатки

Применение и значение

Файл-серверные СУБД в настоящее время, как правило, используются в сценариях с ограниченными требованиями:

Примеры файл-серверных СУБД

Источники

  1. Гарсиа-Молина, Г., Ульман, Дж., Уидом, Дж. (2004). «Системы баз данных: полный курс». Вильямс.
  2. Коннолли, Т., Бегг, К., Страчан, А. (2005). «Базы данных: проектирование, реализация и сопровождение». Вильямс.
  3. Риккарди, Л. (2008). «Системы управления базами данных». Питер.
  4. Документация Microsoft: «Режимы доступа к базе данных Access» (архивированная).
  5. Из истории развития СУБД: ознакомительные статьи на сайте ibm.com (архив).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →