По технологии обработки данных базы данных подразделяются на централизованные и распределенные (см. рисунок 3).
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяется в локальных сетях ПК.
Системы централизованных баз данных с сетевым доступом (системы распределенной обработки данных) предполагают различные архитектуры подобных систем: файл-сервер и клиент-сервер.
При файл-серверной архитектуре систем БД с сетевым доступом предполагается выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользователей системы к централизованной базе данных. Файла базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает.
Концепция клиент-сервер подразумевает, что помимо хранения централизованной базы данных центральная машина (сервер баз данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемые клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базы данных (СУРБД).
При распределении данных на основе расчленения база данных размещается на нескольких серверах. Существование копий отдельных частей недопустимо. Достоинства: увеличивается объем базы данных; большинство запросов удовлетворяемся локальными базами, что сокращает время ответа; увеличивается доступность и надежность; стоимость запросов на выборку и обновление снижается по сравнению с централизованным распределением, если выйдет из строя один сервер, система останется частично работоспособной. Недостатки:
- часть удаленных запросов или транзакций могут потребовать доступ ко всем серверам, что увеличивает время ожидания и цену;
- необходимо иметь сведения о размещении данных в БД.
Однако доступность и надежность увеличатся.
При дублировании в каждом сервере сети ЭВМ размещается полная база данных. Этот метод дает наиболее надежный способ хранения данных. Недостатки:
- повышенные требования к объему внешней памяти;
- усложняется корректировка баз, т.к. требуется синхронизация с целью согласования копий.
Достоинства: все запросы выполняются локально, что обеспечивает быстрый доступ. Этот метод используется, когда фактор надежности является критическим, база небольшая, интенсивность обновления невелика.
В методе смешанного распределения объединены два способа распределения данных: дублирование и расчленение.
При этом приобретены как преимущества, так и недостатки обоих способов. Появилась необходимость хранить информацию о том, где находятся данные в сети. Главное преимущество — гибкость этой системы, так как можно установить компромисс между объемом памяти под базу в целом и под базу в каждом сервере, чтобы обеспечить надежность и эффективность работы. В этой стратегии легко реализуется параллельная обработка. Недостатки: остается проблема взаимозависимости факторов, влияющих на производительность системы, ее надежность, повышаются требования к памяти. Смешанную стратегию используют при наличии сетевой СУБД.
Проектирование реляционной БД
Требования к БД
Опыт использования БД позволяет выделить общий набор их рабочих характеристик:
- Полнота – чем полнее база данных, тем вероятнее, что она содержит нужную информацию (однако не должно быть избыточной информации);
- Правильная организация – чем лучше структурирована база данных, тем легче в ней найти необходимые сведения;
- Актуальность – любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта;
- Удобство для использования – база данных должна быть проста и удобна в использовании и иметь развитые методы доступа к любой части информации.