101
правка
Изменения
Нет описания правки
** Программы могут работать на любом узле (данные действительно хранятся распределенно в отличие от репликации);<br>
** Удаленный доступ к данным (должны уметь сделать любой запрос на любом узле);<br>
Распределенная БД должна логически себя вести как одна большая БД, хотя временные задержки скрыть не удастся.<br>
=== Независимость от фрагментации ===
* Программы не знают на каком узле находятся данные.<br>
* Выбор узлов получения и обработки данных;<br>
Обычно либо данные напрямую пересылаются к клиенту, либо выбирается один из узлов на которых данные исходно хранятся, но могут быть и более сложные схемы, на которых в теории некий промежуточный узел может агрегировать все данные и уже он их отошлет клиенту.<br>
* Полусоединения (половины будущего объединения)- один узел может от другого узла спросить id только те, которые ему нужны для построения соединения и делается это за одну коммуникацию;<br>
* Применение репликации, тогда зачастую клиентскому узлу нужно будет запросить у исходных узлов, нет ли у них изменений в запрашиваемых данных.<br>
==== Цели ====
* Распараллеливание запроса (достижим гораздо более высокий параллелизм благодаря наличию кучи различных узлов из которых параллельно достаем данные, что быстро);<br>
* Изоляция транзакций или удаленные распределенные блокировки, что очень непросто;<br>
* Детектирование распределенных взаимных блокировок тоже усложняет задачу.<br>
==== Цели ====
* Независимость от расположения(независимо от узла запрос должен вернуть одни и те же данные);<br>
* Независимость от фрагментации;<br>
* Возможность переноса данных.<br>
Вынуждены хранить реплики каталога во всех местах, но его объем небольшой, поэтому это не проблема. Для изменения делаем одну большую синхронную операцию.<br>
БД секционирована по конкретным узлам, на которых хранятся данные, и в каталоге явно указано где какие данные хранятся.<br>Можем добавлять, удалять узлы
Обычно запрещается менять каталог БД, если не все узлы доступны, так как объединить изменение каталогов на практике обычно является нерешаемой задачей.<br>