Учебники

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

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

Типы распределенных баз данных

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

Распределенные базы данных

Однородные распределенные базы данных

В однородной распределенной базе данных все сайты используют идентичные СУБД и операционные системы. Его свойства —

  • На сайтах используется очень похожее программное обеспечение.

  • Сайты используют идентичные СУБД или СУБД одного и того же производителя.

  • Каждый сайт знает обо всех других сайтах и ​​взаимодействует с другими сайтами для обработки пользовательских запросов.

  • Доступ к базе данных осуществляется через единый интерфейс, как если бы это была одна база данных.

На сайтах используется очень похожее программное обеспечение.

Сайты используют идентичные СУБД или СУБД одного и того же производителя.

Каждый сайт знает обо всех других сайтах и ​​взаимодействует с другими сайтами для обработки пользовательских запросов.

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

Типы однородной распределенной базы данных

Существует два типа однородной распределенной базы данных —

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

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

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

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

Гетерогенные распределенные базы данных

В гетерогенной распределенной базе данных разные сайты имеют разные операционные системы, продукты СУБД и модели данных. Его свойства —

  • Различные сайты используют разные схемы и программное обеспечение.

  • Система может состоять из множества СУБД, таких как реляционная, сетевая, иерархическая или объектно-ориентированная.

  • Обработка запросов является сложной из-за разнородных схем.

  • Обработка транзакций является сложной из-за различий в программном обеспечении.

  • Сайт может не знать о других сайтах, поэтому сотрудничество при обработке пользовательских запросов ограничено.

Различные сайты используют разные схемы и программное обеспечение.

Система может состоять из множества СУБД, таких как реляционная, сетевая, иерархическая или объектно-ориентированная.

Обработка запросов является сложной из-за разнородных схем.

Обработка транзакций является сложной из-за различий в программном обеспечении.

Сайт может не знать о других сайтах, поэтому сотрудничество при обработке пользовательских запросов ограничено.

Типы гетерогенных распределенных баз данных

  • Федеративные — гетерогенные системы баз данных независимы по своей природе и объединены вместе, так что они функционируют как единая система баз данных.

  • Без федерации — в системах баз данных используется центральный координационный модуль, через который осуществляется доступ к базам данных.

Федеративные — гетерогенные системы баз данных независимы по своей природе и объединены вместе, так что они функционируют как единая система баз данных.

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

Архитектура распределенной СУБД

Архитектуры DDBMS обычно разрабатываются в зависимости от трех параметров:

  • Распределение. В нем указывается физическое распределение данных между различными сайтами.

  • Автономность — указывает распределение управления системой базы данных и степень, в которой каждая составляющая СУБД может работать независимо.

  • Гетерогенность — это относится к однородности или разнородности моделей данных, компонентов системы и баз данных.

Распределение. В нем указывается физическое распределение данных между различными сайтами.

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

Гетерогенность — это относится к однородности или разнородности моделей данных, компонентов системы и баз данных.

Архитектурные Модели

Некоторые из общих архитектурных моделей —

  • Клиент-серверная архитектура для DDBMS
  • Одноранговая архитектура для DDBMS
  • Архитектура нескольких СУБД

Клиент-серверная архитектура для DDBMS

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

Две разные клиент-серверные архитектуры —

  • Один сервер, несколько клиентов
  • Multiple Server Multiple Client (показано на следующей диаграмме)

Архитектура сервера

Одноранговая архитектура для DDBMS

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

Эта архитектура обычно имеет четыре уровня схем:

  • Глобальная концептуальная схема — отображает глобальное логическое представление данных.

  • Локальная концептуальная схема — показывает логическую организацию данных на каждом сайте.

  • Локальная внутренняя схема — показывает физическую организацию данных на каждом сайте.

  • Внешняя схема — отображает представление данных пользователем.

Глобальная концептуальная схема — отображает глобальное логическое представление данных.

Локальная концептуальная схема — показывает логическую организацию данных на каждом сайте.

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

Внешняя схема — отображает представление данных пользователем.

Одноранговая архитектура

Архитектура нескольких СУБД

Это интегрированная система баз данных, образованная набором из двух или более автономных систем баз данных.

Мульти-СУБД может быть выражена через шесть уровней схем —

  • Уровень просмотра нескольких баз данных — показывает несколько пользовательских представлений, состоящих из подмножеств интегрированной распределенной базы данных.

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

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

  • Уровень просмотра локальной базы данных — отображает публичное представление локальных данных.

  • Концептуальный уровень локальной базы данных — показывает локальную организацию данных на каждом сайте.

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

Уровень просмотра нескольких баз данных — показывает несколько пользовательских представлений, состоящих из подмножеств интегрированной распределенной базы данных.

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

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

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

Концептуальный уровень локальной базы данных — показывает локальную организацию данных на каждом сайте.

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

Существует две альтернативы проектирования для нескольких СУБД:

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

Концептуальный уровень нескольких баз данных

Без концептуального уровня нескольких баз данных

Альтернативы дизайна

Варианты дизайна распределения для таблиц в СУБД следующие:

  • Не реплицированные и не фрагментированные
  • Полностью воспроизведен
  • Частично воспроизведен
  • Раздробленность
  • смешанный

Не реплицированные и не фрагментированные

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

Полностью тиражируется

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

Частично реплицировано

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

Раздробленность

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

Три метода фрагментации —

  • Вертикальная фрагментация
  • Горизонтальная фрагментация
  • Гибридная фрагментация

Смешанное Распределение

Это сочетание фрагментации и частичной репликации. Здесь таблицы изначально фрагментированы в любой форме (горизонтальной или вертикальной), а затем эти фрагменты частично реплицируются на разные сайты в соответствии с частотой доступа к фрагментам.