Работа с базами данных в компьютерных сетях

Статья на тему «Работа с базами данных в компьютерных сетях».

В настоящее время все большее распространение получает работа в компьютерных сетях: несколько пользователей работают каждый на своем персональном компьютере с использованием общей для всех информации. Эта общая информация представляет собой базу данных общего назначения. Работа с такой базой данных должна быть организована таким образом, чтобы каждый пользователь мог получить нужные ему данные, разные пользователи могли бы использовать одни и те же данные, но один пользователь не мешал бы при этом другому.

Рассмотрим с этой точки зрения три способа организации работы с БД:

­ работа на отдельном компьютере,

­ работа в сети с использованием файлового сервера,

­ работа в сети с использованием сервера базы данных (работа в архитектуре «клиент – сервер»).

БД располагается на жестком диске (дисках) компьютера. В процессе обработки данных происходит следующее:

­ отдельные записи (строки таблиц) из файлов на жестком диске переносятся в оперативную память,

­ данные из этих записей участвуют в обработке, выполняется корректировка извлеченных записей или формирование новых записей,

­ откорректированные и вновь созданные записи переносятся из оперативной памяти в файлы на диске.

Часто для порождения не очень большого числа выходных записей приходится просматривать многие тысячи записей из БД. Бывают такие расчеты, в ходе которых порождаются и записываются на диск промежуточные таблицы, которые потом участвуют в дальнейших вычислениях и после получения окончательного результата уничтожаются.

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

Таким образом, в процессах обработки данных из БД основная нагрузка ложится на процессы перемещения данных между оперативной памятью и магнитными носителями.

Читайте также:  Методология оценки эффективности компьютерных сетей

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

При этом требует решения вопрос о том, какому пользователю какие данные из БД могут быть доступны. Но этот вопрос решается не средствами СУБД, а мерами по организации работ на совместно используемом компьютере.

Если сеть компьютеров построена с использованием файлового сервера, это значит, что один из компьютеров сети (файловый сервер) играет особую роль: на его жестком диске хранится база данных общего пользования, доступная для всех остальных компьютеров сети.

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

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

Безусловное достоинство такой сети – обеспечение возможности одновременной работы с одной базой данных нескольким пользователям с нескольких машин.

Однако, происходит существенное замедление процессов работы с БД, т.к. огромное количество данных теперь передается по более медленным каналам связи. Кроме того, серверу приходится обслуживать запросы нескольких компьютеров и это тоже приводит к замедлению.

Читайте также:  Сетевой протокол modbus rtu

Файл-сервер поддерживает совместную работу с БД, но только на уровне работы с файлами, без учета их внутренней структуры.

В сетях с архитектурой «клиент – сервер» один из компьютеров сети также играет особую роль – роль сервера базы данных. На его дисках также размещается база данных общего пользования. Но способы работы с этой БД совсем не такие, как в сетях с файл-сервером.

СУБД, ориентированная на работу в сети «клиент – сервер», состоит из двух частей: серверной и клиентской.

Клиентская часть устанавливается на компьютерах пользователя, она управляет общим ходом процесса обработки данных для решения задачи пользователя, общением с пользователем, формированием запросов к базе данных. Сформированный запрос передается по каналам связи на сервер базы данных и попадает в распоряжение серверной части СУБД.

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

Сервер баз данных позволяет организовать эффективное и надежное управление совместным использованием базы данных разными пользователями. Например, если один пользователь выполняет обновление некоторой записи, а в это время другой пользователь обратился к БД, чтобы получить для обработки эту самую запись, серверная часть СУБД может приостановить работу второго пользователя и продолжить ее, как только первый завершит работу с этой записью. Благодаря такому приему предотвращается нежелательная попытка одновременного несогласованного изменения одних и тех же данных двумя разными пользователями.

Читайте также:  Модем это в информатике сетевой протокол

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

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

В основных чертах работа в интранет-сети строится так же, как и в локальной сети (в технологии «клиент-сервер»), но между клиентом и сервером БД появляется дополнительное звено – сервер приложений. Этот сервер играет роль Web -сервера и обеспечивает клиенту доступ в сеть Интернет. Кроме того он принимает на себя выполнение многих операций клиентских компьютеров, максимально упрощая функции этих компьютеров и повышая простоту и удобство работы с ними.

С точки зрения управления базой данных сервер БД должен выполнять те же функции, что и в локальной сети, но при этом он должен обеспечивать значительно более мощную защиту от недозволенного доступа, более строго следить за вводом данных и их целостностью в базе данных.

Источник

Оцените статью
Adblock
detector