Архитектура распределенных субд

В сегодняшнем скоро изменяющемся компьютерном мире сосуществуют по крайней мере три главные идеологии: клиент-сервер, Web и распределенные объекты (DCOM, CORBA). В каждого направления кроме этого существует много стандартов и решений от различных производителей. Сегодняшняя обстановка вызывает весьма громадную озабоченность свободных потребителей и разработчиков

«Клиент-сервер» является видом распределенной совокупности, имеющей сервер, что делает запросы клиента, наряду с этим клиент и сервер общаются между собой с применением того либо иного протокола. Под клиентом подразумевается программа, которая применяет ресурсы, а под сервером программа, обслуживающая запросы клиентов на получение ресурсов определенного вида. Данное определение содержит в себе фактически любую программную разработку, в которой участвуют больше одной программы, функции между которыми распределены асимметрично [5].

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

Разработка «клиент-сервер» предусматривает, что отбор данных для ответа на запрос делается сервером, а клиенту передается лишь итог — те эти, каковые были запрошены (рис 1). При работе с файл-серверной версией вся ответственность за целостность и сохранность базы данных ложится на программу и сетевую ОС. Обработка всех данных осуществляется на рабочих местах, а сервер употребляется лишь как разделяемый накопитель. Любой пользователь конкретно применяет данные и вносит трансформации в файлы данных и в индексные файлы [22].

Архитектура распределенных субд

Рис. 1. Сравнение разработок файлового сервера и «клиент-сервера».

При громадных количествах данных и работе в многопользовательском режиме значительно снижается быстродействие — так как чем больше пользователей, тем выше требования к разделению данных. Помимо этого, может появиться повреждение баз данных. К примеру, в момент записи в файл может появиться сбой сети либо авария питания. В этом случае, компьютер прерывает работу и база разрешённых может оказаться поврежденной, а индексный файл — уничтоженным. Переиндексация, которую нужно совершить по окончании аналогичных сбоев, может продолжаться пара часов [16].

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

Не считая надёжности и высокого быстродействия, архитектура «клиент-сервер» дает множество плюсов и в части техобеспечения. Во-первых, сервер оптимизирует исполнение функций обработки данных, что избавляет от необходимости оптимизации рабочих станций. Рабочая станция возможно укомплектована не весьма стремительным процессором, и, однако, сервер разрешит скоро взять результаты обработки запроса. Во-вторых, потому, что рабочие станции не обрабатывают все промежуточные эти, значительно снижается нагрузка на сеть. Появляется возможность ведения издания операций, в котором машинально регистрируются все прошедшие транзакции что, со своей стороны, окажет помощь стремительному восстановлению совокупности при аппаратных сбоях [17].

Различают двухуровневую и трехуровневую модель «клиент-сервер» (рис. 2). Эта модель, быть может, самая общая, потому, что она подобна схеме разработки локальных баз данных. Многие совокупности «клиент-сервер», применяемые сейчас, развились из существующих локальных приложений базы данных, каковые хранят собственные данные в файле на сервере. Перенос совокупностей осуществляется чтобы повысить эффективность работы, надёжности и защищенности базы данных [3].

Архитектура распределенных субд

03 — Базы данных. Архитектура СУБД

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector