101
правка
Изменения
Нет описания правки
==Набор требований к распределенным базам данных, которых хотят достигнуть=====Требования по децентрализации===*Локальная независимость - узел должен функционировать даже в изоляции (имеется в виду отвечать как на запросы на чтение, так и на изменение).*<br>*Отсутствие центрального узла, так как при его наличии и отключении не выполнится локальная независимость.*<br>*Непрерывное функционирование, то есть надежность и доступность;<br>** Надежность;<br>** Доступность.*<br>===Требования по прозрачности===*Независимость от расположения;<br>а) ** Программы могут работать на любом узле (данные действительно хранятся распределенно в отличие от репликации);<br>б) ** Удаленный доступ к данным (должны уметь сделать любой запрос на любом узле);<br>Распределенная БД должна логически себя вести как одна большая БД.*<br>===Независимость от фрагментации===*Программы не знают на каком узле находятся данные.*<br>*Унифицированный доступ к данным.*<br>*Географическое секционирование.*<br>===Независимость от репликации===*Автоматическая поддержка репликации.*<br>*Выбор узла для обновления.*<br>===Распределенные транзакции===*Поддержка распределенных запросов.<br>а) ** Один запрос получает данные с разных узлов;<br>б) ** Несколько узлов могут участвовать в одной транзакции;<br>в) ** Должна быть согласованность фиксаций и отката.*<br>*Независимость от окружения.<br>а) ** От аппаратуры, то есть должны быть унифицированное представление данных;<br>б) ** От ОС, то есть должна быть конвертация данных и поддержка разных ОС;<br>в) ** От сети, например, в дата центрах будет быстрая локальная связь;<br>г) ** От типа СУБД, хотелось бы уметь делать распределенную БД, которая обслуживается разными системами управления БД (Oracle, Postgres, etc). Но в реальности все очень печально.*<br>