Распределенные транзакции

Материал из Викиконспекты
Версия от 00:16, 20 декабря 2021; SemBarner (обсуждение | вклад) (Новая страница: «==Набор требований к распределенным базам данных, которых хотят достигнуть== ===Требовани…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Требования по децентрализации

  • Локальная независимость - узел должен функционировать даже в изоляции

(имеется в виду отвечать как на запросы на чтение, так и на изменение).*

  • Отсутствие центрального узла, так как при его наличии и отключении не выполнится локальная независимость.*
  • Непрерывное функционирование, то есть надежность и доступность.*

Требования по прозрачности

  • Независимость от расположения

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

Независимость от фрагментации

  • Программы не знают на каком узле находятся данные.*
  • Унифицированный доступ к данным.*
  • Географическое секционирование.*

Независимость от репликации

  • Автоматическая поддержка репликации.*
  • Выбор узла для обновления.*

Распределенные транзакции

  • Поддержка распределенных запросов.

а) Один запрос получает данные с разных узлов; б) Несколько узлов могут участвовать в одной транзакции; в) Должна быть согласованность фиксаций и отката.*

  • Независимость от окружения.

а) От аппаратуры, то есть должны быть унифицированное представление данных; б) От ОС, то есть должна быть конвертация данных и поддержка разных ОС; в) От сети, например, в дата центрах будет быстрая локальная связь; г) От типа СУБД, хотелось бы уметь делать распределенную БД, которая обслуживается разными системами управления БД (Oracle, Postgres, etc). Но в реальности все очень печально.*