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

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

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

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

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

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

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

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

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

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

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

Есть два типа однородной распределенной базы данных -

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

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

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

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

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

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

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

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

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

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

  • Federated - Гетерогенные системы баз данных независимы по своей природе и интегрированы вместе, поэтому они функционируют как единая система баз данных.

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

Распределенные архитектуры СУБД

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

  • Distribution - В нем указано физическое распределение данных по разным сайтам.

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

  • Heterogeneity - Это относится к единообразию или несходству моделей данных, компонентов системы и баз данных.

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

Некоторые из распространенных архитектурных моделей -

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

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

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

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

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

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

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

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

  • Global Conceptual Schema - Отображает глобальное логическое представление данных.

  • Local Conceptual Schema - Изображает логическую организацию данных на каждом сайте.

  • Local Internal Schema - Изображает физическую организацию данных на каждом сайте.

  • External Schema - Отображает представление данных пользователем.

Архитектуры мульти-СУБД

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

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

  • Multi-database View Level - Изображает несколько пользовательских представлений, состоящих из подмножеств интегрированной распределенной базы данных.

  • Multi-database Conceptual Level - Изображает интегрированную базу данных с несколькими базами данных, которая состоит из определений глобальной логической структуры с несколькими базами данных.

  • Multi-database Internal Level - Изображает распределение данных по разным сайтам и отображение нескольких баз данных на локальные данные.

  • Local database View Level - Отображает общественное мнение о местных данных.

  • Local database Conceptual Level - Изображает локальную организацию данных на каждом сайте.

  • Local database Internal Level - Изображает физическую организацию данных на каждом сайте.

Есть два варианта дизайна для мульти-СУБД:

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

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

Альтернативы дизайна распределения для таблиц в DDBMS следующие:

  • Не реплицируется и нефрагментировано
  • Полностью воспроизведен
  • Частично воспроизведен
  • Fragmented
  • Mixed

Не реплицируется и не фрагментировано

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

Полностью воспроизведен

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

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

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

Фрагментированный

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

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

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

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

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