Распределенные базы данных. Цели и проблемы

Материал из Викиконспекты
Перейти к: навигация, поиск

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

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

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

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

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

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

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

Распределенная БД должна логически себя вести как одна большая БД.

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

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

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

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

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

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