Распределенные баз данных и распределенных СУБД

Автор работы: Пользователь скрыл имя, 03 Апреля 2011 в 20:35, курсовая работа

Описание работы

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

•Рассмотрено понятие распределенных баз данных;
•Рассмотрены свойства распределенных БД;
•Рассмотрено понятие целостности данных;
•Рассмотрен принцип построения распределенных баз данных на примере SYSTEM R*
•Разработано приложение в среде Delphi.

Файлы: 1 файл

РаспредСУБД.doc

— 427.00 Кб (Скачать файл)

      ВВЕДЕНИЕ

 

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

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

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

      Централизованные  БД, особенно построенные на классическом подходе, не могли удовлетворить новым требованиям.

      Быстрое распространение сетей передачи данных, резкое увеличение объема внешней  памяти ПК при ее удешевлении в 80-е  годы способствовали широкому внедрению  распределенных баз данных.

      К достоинствам распределенных баз данных относятся:

          1) соответствие структуры распределенных баз данных структуре организаций;

          2) гибкое взаимодействие локальных  БД;

          3) широкие возможности централизации  узлов;

          4) непосредственный доступ к информации, снижение стоимости передач (за  счет уплотнения и концентрации данных);

          5) высокие системные характеристики (малое время отклика за счет  распараллеливания процессов, высокая  надежность);

          6) модульная реализация взаимодействия, расширения аппаратных средств,  возможность использования объектно-ориентированного  подхода в программировании;

          7) возможность распределения файлов  в соответствии с их активностью;

          8) независимые разработки локальных  БД через стандартный интерфейс.

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

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

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

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

  • Рассмотрено понятие распределенных баз данных;
  • Рассмотрены свойства распределенных БД;
  • Рассмотрено понятие целостности данных;
  • Рассмотрен принцип построения распределенных баз данных на примере SYSTEM R*
  • Разработано приложение в среде Delphi.

 

       1 РАСПРЕДЕЛЕННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ

 
      
    1. Понятие распределенных баз  данных
 

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

      Основная  задача систем управления распределенными  базами данных состоит в обеспечении  средства интеграции локальных баз  данных, располагающихся в некоторых узлах вычислительной сети, с тем, чтобы пользователь, работающий в любом узле сети, имел доступ ко всем этим базам данных как к единой базе данных [1].

      При этом должны обеспечиваться:

  • простота использования системы;
  • возможности автономного функционирования при нарушениях связности сети или при административных потребностях;
  • высокая степень эффективности.

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

      1.2 Свойства распределенных  баз данных 

      Определение распределенных баз данных (DDB) предложил  Дэйт (C.J. Date). Он установил 12 свойств  или качеств идеальной DDB [4]:

    • Локальная автономия (local autonomy)
    • Независимость узлов (no reliance on central site)
    • Непрерывные операции (continuous operation)
    • Прозрачность расположения (location independence)
    • Прозрачная фрагментация (fragmentation independence)
    • Прозрачное тиражирование (replication independence)
    • Обработка распределенных запросов (distributed query processing)
    • Обработка распределенных транзакций (distributed transaction processing)
    • Независимость от оборудования (hardware independence)
    • Независимость от операционных систем (operationg system independence)
    • Прозрачность сети (network independence)
    • Независимость от баз данных (database independence)

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

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

      Непрерывные операции. Это качество можно трактовать как возможность непрерывного доступа к данным (известное «24 часа в сутки, семь дней в неделю») в рамках DDB вне зависимости от их расположения и вне зависимости от операций, выполняемых на локальных узлах. Это качество можно выразить лозунгом «данные доступны всегда, а операции над ними выполняются непрерывно» [4].

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

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

      Рассмотрим  пример, иллюстрирующий оба типа фрагментации. Имеется таблица employee (emp_id, emp_name, phone), определенная в базе данных на узле в Фениксе. Имеется точно такая же таблица, определенная в базе данных на узле в Денвере. Обе таблицы хранят информацию о сотрудниках компании. Кроме того, в базе данных на узле в Далласе определена таблица emp_salary (emp_id, salary). Тогда запрос «получить информацию о сотрудниках компании» может быть сформулирован так:

      SELECT * FROM employee@phoenix, employee@denver ORDER BY emp_id

      В то же время запрос "получить информацию о заработной плате сотрудников компании" будет выглядеть следующим образом:

      SELECT employee.emp_id, emp_name, salary FROM employee@denver, employee@phoenix, emp_salary@dallas ORDER BY emp_id

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

      Обработка распределенных запросов. Это свойство DDB трактуется как возможность выполнения операций выборки над распределенной базой данных, сформулированных в рамках обычного запроса на языке SQL. То есть операцию выборки из DDB можно сформулировать с помощью тех же языковых средств, что и операцию над локальной базой данных. Например,

      SELECT customer.name, customer.address, order.number, order.date FROM customer@london, order@paris WHERE customer.cust_number = order.cust_number

      Обработка распределенных транзакций. Это качество DDB можно трактовать как возможность выполнения операций обновления распределенной базы данных (INSERT, UPDATE, DELETE), не разрушающее целостность и согласованность данных. Эта цель достигается применением двухфазного протокола фиксации транзакций (two-phase commit protocol), ставшего фактическим стандартом обработки распределенных транзакций. Его применение гарантирует согласованное изменение данных на нескольких узлах в рамках распределенной транзакции.

      Независимость от оборудования. Это свойство означает, что в качестве узлов распределенной системы могут выступать компьютеры любых моделей и производителей - от мэйнфреймов до "персоналок".

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

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

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

      Исходя  из определения Дэйта, можно рассматривать DDB как слабосвязанную сетевую структуру, узлы которой представляют собой локальные базы данных. Локальные базы данных автономны, независимы и самоопределены; доступ к ним обеспечиваются СУБД, в общем случае от различных поставщиков. Связи между узлами - это потоки тиражируемых данных. Топология DDB варьируется в широком диапазоне - возможны варианты иерархии, структур типа «звезда» и т.д. В целом топология DDB определяется географией информационной системы и направленностью потоков тиражирования данных [4].  

Информация о работе Распределенные баз данных и распределенных СУБД