У вас вопросы?
У нас ответы:) SamZan.net

Лекция 7 Проектирование распределенной обработки данных 1

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

Лекция 7.

Проектирование распределенной обработки данных

1. Общие принципы управления распределенными базами данных.

2. Доступ к распределенным базам данных.

3. Репликация данных.

Основные принципы архитектурного построения систем распределенной обработки данных рассматривались на одной из первых лекций по курсу «Проектирование АСОИ и У». На данной лекции будут рассмотрены основные принципы управления распределенными базами данных с помощью SQL. Кроме того, будут также рассмотрены задачи, возникающие при работе с распределенными данными и концептуальные пути их решения.

1. Общие принципы управления распределенными базами данных.

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

В связи с тем, что данные распределены по различным системам, нетрудно себе представить запросы, связанные с обращением сразу к нескольким базам данных. Эти запросы должны осуществлять обращения по сети для выборок и обработки данных, хранящихся в различных отделах на серверах, находящихся под управлением различных СУБД. Ведущие производители СУБД предлагают множество продуктов, позволяющих эффективно управлять распределенными данными и решать весь спектр связанных с этим задач.

Для того чтобы система управления распределенными данными была близка к идеальной, она должна удовлетворять следующим требованиям:

  •  Пользователь не должен беспокоиться о том, где физически располагаются данные.
  •  СУБД должна работать с данными, которые хранятся на различных системах, с разной архитектурой и производительностью, включая ПК, рабочие станции, серверы ЛВС и т.д.
  •  СУБД должна работать одинаково в разнородных сетях, от высокоскоростных ЛВС до низкоскоростных  телефонных линий.
  •  Пользователь должен иметь возможность объединять данные из любых таблиц распределенной БД, даже если таблицы физически расположены в различных системах.
  •  Пользователь должен иметь возможность изменять данные в любой таблице, на доступ к которой у него есть необходимые привилегии.
  •  СУБД должна выполнять транзакции, выходящие за границы одной вычислительной системы и поддерживать целостность данных.
  •  СУБД должна обеспечивать защиту всей распределенной базы данных от несанкционированного доступа.
  •  СУБД должна обеспечивать единую методику доступа ко всем данным предприятия.

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

2. Доступ к распределенным базам данных.

В простейшем случае пользователю одной БД предоставляется возможность подключения по сети к другим БД и извлекать из них информацию. Обычно это означает выполнение одиночного запроса к удаленной БД (СЛАЙД 1).

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

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

  •  она должна определить, к какой удаленной БД обращается пользователь и как ее найти в сети;
  •  она должна установить соединение с этой удаленной БД для выполнения удаленного запроса;
  •  она должна определить, как локальная схема привилегий и аутентификации пользователя соотносится с аналогичной схемой удаленной СУБД.

Для подключения к удаленной БД применяется специальная инструкция: CONNECT TO имя_удаленонго_сервера.

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

Когда работа с удаленным сервером закончена, нужно выполнить инструкцию DISCONNECT.

В некоторых СУБД применяется иная схема доступа к удаленным данным.  Для доступа к удаленной БД пользователь локальной системы использует стандартные инструкции SQL, только к именам удаленных таблиц и представлений добавляется символ @, за которым следует имя канала связи. Например, SELECT MANE, ADRESS, FON/FAX

FROM table1@HOST1

WHERE ________________

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

3. Репликация данных

Доступ к удаленным базам данных из локальных СУБД преимущественно применяется при выполнении небольших запросов и нерегулярном доступе к данным. Если же приложению требуется интенсивный и частый доступ к удаленной БД, тогда коммуникационные издержки могут оказаться неприемлемыми. Когда интенсивность и частота операций удаленного доступа превышает определенный предел, более эффективным оказывается использование локальной копии удаленных данных (СЛАЙД 2). В простейшем случае содержимое таблицы извлекается из главной базы даны, посылается по сети и помещается в соответствующую таблицу-реплику в подчиненной базе данных. Эта процедура выполняется периодически во время наименьшей загрузки сети.

Такой подход удобен в тех случаях, когда данные в реплицируемых таблицах изменяются редко или изменения выполняются в пакетном режиме. Данную стратегию модно организовать без поддержки со стороны СУБД. Для должны быть написаны несколько программ: во-первых, программа, извлекающая данные из БД и помещающая их в файл; во-вторых, программа, пересылающая файл на локальный ПК; в-третьих, программа, считывающая содержимое файла и применяющая инструкции DROP TABLE, CREAT TABLE и INSERT для заполнения таблиц-реплик. Данный подход носит название «дублирования таблиц». При такой схеме приложениям не разрешается обновлять данные. В случае подобной попытки СУБД сгенерирует ошибку.

Более гибкой в этом отношении схемой является схема двунаправленной репликации (СЛАЙД 3).

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

Затраты на репликацию

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

ГОРИЗОНТАЛЬНАЯ РЕПЛИКАЦИЯ ТАБЛИЦ

Распределить таблицу по сети можно следующим образом: разделить таблицу горизонтально, помещая полученные данные в различные системы (СЛАЙД 4).

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

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

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

ВЕРТИКАЛЬНАЯ РЕПЛИКАЦИЯ ТАБЛИЦ

Другой способ распределения таблицы по сети состоит в вертикальном разделении таблицы и размещении ее столбцов в разных системах (СЛАЙД 5).

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

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

ЗЕРКАЛЬНАЯ РЕПЛИКАЦИЯ ТАБЛИЦ

Когда репликация необходима для обеспечения высокой отказоустойчивости системы (чтобы система могла продолжать свою работу в аппаратных сбоев или сбоев в БД), создается зеркальная копия всей таблицы (СЛАЙД 6).

В простейшей конфигурации одна БД становится активной, а другая – резервной. Все запросы направляются к активной БД (система А), которая посылает реплики всех изменений резервной БД (система В). В случае сбоя запросы перенаправляются в резервную систему, которая содержит свежие данные. Недостатком такого подхода является то, что при нормальной работе без сбоев ресурсы резервной системы тратятся впустую. Эту систему необходимо обслуживать и оплачивать, хотя она не участвует в обработке данных.

Из-за указанного недостатка системы с высокой отказоустойчивостью проектируют так, чтобы сбалансировать возникающую в них нагрузку (СЛАЙД 7).

В такой конфигурации некоторая промежуточная программа перехватывает запросы к СУБД и распределяет их между двумя или более системами. При нормальной работе ни одна из систем не простаивает.

4. Механизмы репликации SQL Server 2000.




1. геологические изыскания их назначение
2. вариант. 1.Кто предложил термин экология
3. Практическая энциклопедия бухгалтера1
4. Строительство магистральных подсистем СКС
5. орудие учебного процесса благодаря использованию которых более успешно и за рационально сокращенное врем
6. Testtem hbebnt et servos instrument vocli nominbnt
7. Елизаветинская Англия
8. Эмоционально-личностные особенности старшеклассников, как фактор включенности в учебную группу.html
9. 80 страниц. Поля- верхнее и нижнее ~ 25 см.html
10. Гносеология и Познание
11. тематичне моделювання водних екосистем та динаміки популяцій Змістовий модуль 3
12. эффект плацебо эффект Хотторна эффект аудитории
13. 1 Сущность межбанковских отношений и расчетов Фундамент на котором стоит банковский сектор любой стр
14. Курсовая работа- Инвестирование в ценные бумаги
15. Расчет параметров и режимов работы транзисторных каскадов усилителя низкой частоты
16. Теорії лінійних одноконтурних автоматичних систем регулювання
17. Психология интеллекта в журналистик
18. На тему- Компьютерные методы проектирования и исполнения рекламной печатной продукции
19. г. именуем в дальнейшем
20. Платежные системы для студентов специальности ФК 5 курс 1 поток 2013-14 учебный год 1