Распределенные транзакции — различия между версиями
SemBarner (обсуждение | вклад) (Новая страница: «==Набор требований к распределенным базам данных, которых хотят достигнуть== ===Требовани…») |
SemBarner (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | ==Набор требований к распределенным базам данных, которых хотят достигнуть== | + | == Набор требований к распределенным базам данных, которых хотят достигнуть == |
− | ===Требования по децентрализации=== | + | === Требования по децентрализации === |
− | *Локальная независимость - узел должен функционировать даже в изоляции | + | *Локальная независимость - узел должен функционировать даже в изоляции |
− | (имеется в виду отвечать как на запросы на чтение, так и на изменение). | + | (имеется в виду отвечать как на запросы на чтение, так и на изменение).<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> |
Версия 00:34, 20 декабря 2021
Содержание
Набор требований к распределенным базам данных, которых хотят достигнуть
Требования по децентрализации
- Локальная независимость - узел должен функционировать даже в изоляции
(имеется в виду отвечать как на запросы на чтение, так и на изменение).
- Отсутствие центрального узла, так как при его наличии и отключении не выполнится локальная независимость.
- Непрерывное функционирование;
- Надежность;
- Доступность.
- Надежность;
Требования по прозрачности
- Независимость от расположения;
- Программы могут работать на любом узле (данные действительно хранятся распределенно в отличие от репликации);
- Удаленный доступ к данным (должны уметь сделать любой запрос на любом узле);
- Программы могут работать на любом узле (данные действительно хранятся распределенно в отличие от репликации);
Распределенная БД должна логически себя вести как одна большая БД.
Независимость от фрагментации
- Программы не знают на каком узле находятся данные.
- Унифицированный доступ к данным.
- Географическое секционирование.
Независимость от репликации
- Автоматическая поддержка репликации.
- Выбор узла для обновления.
Распределенные транзакции
- Поддержка распределенных запросов.
- Один запрос получает данные с разных узлов;
- Несколько узлов могут участвовать в одной транзакции;
- Должна быть согласованность фиксаций и отката.
- Один запрос получает данные с разных узлов;
- Независимость от окружения.
- От аппаратуры, то есть должны быть унифицированное представление данных;
- От ОС, то есть должна быть конвертация данных и поддержка разных ОС;
- От сети, например, в дата центрах будет быстрая локальная связь;
- От типа СУБД, хотелось бы уметь делать распределенную БД, которая обслуживается разными системами управления БД (Oracle, Postgres, etc). Но в реальности все очень печально.
- От аппаратуры, то есть должны быть унифицированное представление данных;