stringtranslate.com

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

Распределенная база данных — это база данных , в которой данные хранятся в разных физических местах. [1] Она может храниться на нескольких компьютерах, расположенных в одном физическом месте (например, в центре обработки данных); или может быть рассредоточена по сети взаимосвязанных компьютеров. В отличие от параллельных систем , в которых процессоры тесно связаны и составляют единую систему базы данных, распределенная система базы данных состоит из слабо связанных сайтов, которые не имеют общих физических компонентов.

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

Актуальность и соответствие распределенным базам данных обеспечивают два процесса: репликация [3] и дублирование .

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

Как репликация, так и дублирование могут поддерживать актуальность данных во всех местах дистрибуции. [2]

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

При обсуждении доступа к распределенным базам данных Microsoft отдает предпочтение термину распределенный запрос , который он определяет в протокольно-специфической манере как «любой оператор SELECT, INSERT, UPDATE или DELETE, который ссылается на таблицы и наборы строк из одного или нескольких внешних источников данных OLE DB». [4] Oracle предоставляет более ориентированное на язык представление, в котором распределенные запросы и распределенные транзакции являются частью распределенного SQL . [5]

Архитектура

Существует 3 основных типа архитектуры распределенных баз данных:

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

Архитектура с общим диском более распространена для облачных баз данных , чем для локальных. [6]

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

На практике разные слои базы данных могут иметь разные архитектуры. Сейчас стало обычным иметь вычислительный слой с архитектурой «ничего общего» и слой хранения с архитектурой общего диска. Это, например, случай Snowflake [7] и AWS Aurora . [8]

Список баз данных без общего доступа

Список баз данных на общем диске

Смотрите также

Ссылки

  1. ^ «Определение: распределенная база данных». www.its.bldrdoc.gov .
  2. ^ аб О'Брайен, Дж. и Маракас, GM (2008) Информационные системы управления (стр. 185-189). Нью-Йорк, штат Нью-Йорк: МакГроу-Хилл Ирвин
  3. ^ Озсу, М. Т.; Вальдуриес, П. (1991). «Распределенные системы баз данных: где мы сейчас?». Компьютер . 24 (8): 68–78. doi :10.1109/2.84879. ISSN  1558-0814. S2CID  5898169.
  4. ^ "TechNet Glossary". Microsoft. 28 января 2010 г. Получено 16 июля 2013 г. . распределенный запрос[:] Любой оператор SELECT, INSERT, UPDATE или DELETE, который ссылается на таблицы и наборы строк из одного или нескольких внешних источников данных OLE DB.
  5. ^ Эшдаун, Лэнс; Кайт, Том (сентябрь 2011 г.). "Oracle Database Concepts, 11g Release 2 (11.2)". Корпорация Oracle. Архивировано из оригинала 2013-07-15 . Получено 2013-07-17 . Распределенный SQL синхронно обращается к данным, распределенным между несколькими базами данных, и обновляет их. [...] Распределенный SQL включает распределенные запросы и распределенные транзакции.
  6. ^ ab Garrod, Charlie (2023). "Лекция № 21: Введение в распределенные базы данных" (PDF) . Университет Карнеги-Меллона - Школа компьютерных наук . Получено 12.03.2023 .
  7. ^ Каушик, Арун (2020-02-14). «Что делает Snowflake таким мощным — это гибрид архитектуры Shared Disk и Shared Nothing». Medium . Получено 2024-03-12 .
  8. ^ Брахмадесам, Мурали; Тернстром, Тобиас (2019). «Хранилище Amazon Aurora раскрыто: как все это работает» (PDF) . Получено 12.03.2024 .