Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_1 / Лекции / Лекция 11_РБД.doc
Скачиваний:
37
Добавлен:
11.06.2015
Размер:
333.31 Кб
Скачать

Распределенные бд - веяние времени

Распределенная БД — это набор компьютеров-серверов с установленными на них СУБД и базами данных, который пользователи воспринимают как единую среду для работы. Распределенные системы строятся либо для файловых систем, либо для БД, а в настоящее время для разнородных и распределенных систем, т.е. для БД, файлов и приложений одновременно. БД можно считать распределенной, если она удовлетворяет, как минимум, следующим требованиям:

  • данные хранятся на физически различных серверах;

  • существует возможность поиска данных одновременно на всех серверах;

  • имеются средства извлечения (фильтрации) и визуализации найденной информации.

Это минимальные требования, без выполнения которых БД нельзя считать распределенной.

К характеристикам БД можно отнести следующее:

  • большие объемы данных, распределенные по различным центрам, странам и континентам;

  • участие большого количества специалистов в обработке данных из разных организаций;

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

  • алгоритмы обработки данных имеют нетривиальный характер (большой объем программного обеспечения, множество моделей аналитических и прогностических, использующих сложный математический аппарат).

Распределенные БД имеют следующие преимущества по сравнению с централизованной системой: обеспечивается большая надежность работы, хранения копий или частей БД, данные становятся ближе к точкам их использования, что ускоряет обращение к данным и сокращает затраты на их передачу. Кроме того, преимуществами распределенной БД являются [1] неявность адресации и тиражирования, независимость от конфигурации, использование неоднородных СУБД, тиражирование данных, расчленение БД, фрагментация данных.

Неявность адресации позволяет пользователю обращаться к данным, не зная и не интересуясь, в каком центре они расположены.

Неявность тиражирования связана с тем, что, если существуют копии данных, то при извлечении данных необходимо извлекать одну копию данных, а при внесении изменений в данные необходимо обновлять все копии. Выбор одной копии при извлечении данных и обеспечение обновления всех копий должна автоматически выполнять система, позволяя пользователю сосредоточиться на информационных запросах.

Независимость от конфигурации позволяет организации добавлять или заменять оборудование, не изменяя существующих компонент программного обеспечения РБД. Независимость от конфигурации позволяет расширить систему в случае, если существующее оборудование перестает удовлетворять пользователей.

Использование неоднородных СУБД на разных компьютерах требует создания общего пользовательского интерфейса, за которым находятся разные модели данных.

Тиражирование данных означает поддержку нескольких одинаковых копий таблиц. Тиражирование применяется с целью повышения доступности данных и надежности их хранения. Кроме того, несколько пользователей могут параллельно обращаться к одним и тем же данным. Например, это могут быть, во-первых, копии данных для отдельных регионов, во-вторых, метаданные. Издержками этого подхода является необходимость дополнительного объема памяти и поддержания согласованности данных в разных копиях. Для согласованности данных можно поддерживать централизованную БД, а копии выделяют для локального использования. Потери данных на одном центре восстанавливаются при помощи централизованной БД. Недостатком такого подхода является слишком долгое время загрузки централизованной БД. Поэтому загрузка новых данных, касающихся локальной БД, в региональном и главном центрах системы происходит одновременно. Применяется также тиражирование данных по времени отсечения. Например, в региональном центре данные хранятся только за последний год.

При расчленении БД улучшается защита данных, особенно если разделенные сегменты нуждаются в разных видах защиты. При этом варианте реализации один пользовательский запрос может требовать обращения к нескольким БД, реализованных в разных организациях на разных подходах. Хотя сложности реализации скрыты от пользователя, действительные операции, например, соединение нескольких таблиц, является сложным процессом.

Фрагментация данных связана с тем, каким образом таблицы могут быть разделены и распределены между центрами. Это продолжение стратегии расчленения данных, которая обычно означает распределение по центрам таблиц (или файлов) целиком. При фрагментации таблица делится на несколько частей (подмножеств). Объединение этих фрагментов составит исходную таблицу. Фрагментация может быть горизонтальной (данные для разных географических районов в отдельные фрагменты) и вертикальной (разные атрибуты в отдельные фрагменты). Для случая одного типа данных лучше применить горизонтальную фрагментацию. Здесь имеется проблема пересечения данных, т.е. одни те же данные могут дублироваться на границах регионов, например, в области гидрометеорологии БД для Арктического региона, кроме Северного ледовитого океана, включает данные, относящиеся к Северной части Атлантического океана.

Положительными моментами распределенного подхода организации БД являются:

  • объединение вычислительных возможностей компьютеров - активные информационные ресурсы становятся доступными одновременно на всех машинах, и все пользователи могут вызывать и обрабатывать их за счет различных сервисов;

  • уменьшение стоимости поддержки одного рабочего места;

  • увеличение скорости доступа к данным;

  • повышение безопасности (администратор может лишить пользователя прав на определенные информационные ресурсы, и если клиентские машины не оборудовать дисками, то уменьшается вероятность хищения информации);

  • кроссплатформенность компонент - на одном компьютере могут быть одновременно несколько приложений, работающих в разных ОС;

  • отсутствие необходимости существенного улучшения технических характеристик терминалов пользователей;

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

  • меньше проблем, связанных с недоступностью данных.

Применение распределенного подхода обеспечивает следующие преимущества.

Надежность. Хорошо спроектированная распределенная сеть должна быть чрезвычайно устойчива, позволять использовать несколько маршрутов взаимодействия между узлами. Это облегчает обслуживание и замену компонентов в случае сбоя с минимальным влиянием на доступность системы в целом.

Производительность. Те же факторы, что обеспечивают надежность, повышают производительность систем. Отсутствие необходимости в центральном коммутаторе со многими портами избавляет от появления потенциальной проблемы узкого места, а применение балансировки нагрузки между несколькими узлами обеспечивает постоянство производительности всей сети. Распределенные БД позволяют перемещать приложения между серверами в целях оптимизации производительности, не прерывая при этом обслуживания пользователей.

Масштабируемость. К имеющейся конфигурации сети можно добавлять новые узлы. Производительность возрастает практически пропорционально росту суммарной производительности серверов. Необходимо чтобы выполняемые функции стали независимы от конкретной аппаратной составляющей. Сервисы и программное обеспечение должны иметь возможность быстрой настройки. Таким образом, достигается требуемая гибкость системы. Средства мониторинга позволят провести анализ того, каким пользователям и какие ресурсы требуются в первую очередь. Причем приложение доступно пользователю в любой момент за счет постоянного мониторинга, позволяющего предотвратить отказ компонентов системы еще до возникновения инцидента. Распределенная БД требует применения единой политики безопасности.

Распределенные файловые системы обеспечивают удобный интерфейс для удаленного ввода/вывода, но не поддерживают копии данных в разных узлах системы и возможности коллективного и управляемого ввода/вывода. Системы удаленного выполнения заданий позволяют производить спланированное выполнение заданий на удаленных компьютерах, но не поддерживают интерфейсов параллельного ввода/вывода или доступа к параллельным файловым системам.

Важной тенденцией в развитии концепции распределенных БД является применение идей виртуализации и автоматического предоставления ресурсов не только на техническом уровне — для серверов, систем хранения, программного обеспечения, но и на уровне приложений и сервисов. Например, функция идентификации пользователей реализуется как единый для всех приложений сервис, благодаря чему средства идентификации не придется встраивать отдельно в каждое приложение; работа с объектами метаданных тоже может рассматриваться как сервисы.

Есть проблемы и у распределенных БД:

  • сбой сервера приложений оказывает влияние на решение задач, причем для всех пользователей;

  • трафик внутри сети очень большой;

  • клиенты не получают отдельных IP-адресов, что не всегда позволяет им правильно авторизоваться в Интернет.

Следует учитывать также время задержки и стоимость передачи значительных объемов данных. Нельзя не учитывать и желание владельца данных сохранять контроль над принадлежащими ему ресурсами и получать результаты как можно быстрее.

Соседние файлы в папке Лекции