биография индивидуальная Библиотека Магистерская Ссылки Результаты поиска
Магистерская Добро пожаловать на моем сайте RU            EN

 

                                                                    

                               mailto:fetatozeur@yahoo.fr

                                                   Тема Магисторской Работы :

                "Оптимизация распределения данних по узлам компьютерной сети".


Введение

 

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

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

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

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

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

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

1 Объект и предмет исследования

Объектом исследования является распределенная база данных компьютерных информационных систем.

Предметом исследования является влияние динамических процессов на функционирование распределенной базы данных.

Распределенная база данных (РБД) – это совокупность логически взаимосвязанных баз данных, распределенных в компьютерной сети.

Рис. 1.1 Типичная распределенная база данных

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

1)     каждый узел обладает своими собственными системами баз данных;

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

На рисунках 1.1приведен пример распределенной базы данных.

Система управления распределенной базой данных (РСУБД) – это программная система, которая обеспечивает управление распределенной базой данных таким образом, чтобы ее распределенность была прозрачна для пользователей.

Эти определения можно дополнить, если рассмотреть также различные характеристики РБД и РСУБД. В 1981г К. Дейт опубликовал свои правила для распределенных баз данных [1]. Ниже приведены эти 12 правил.

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

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

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

4.     Независимость от местоположения. Пользователи и приложения не о обязаны знать о том, где физически располагаются данные.

5.     Независимость от фрагментации. Фрагменты (называемые также разделами) данных должны поддерживаться и обрабатываться средствами РСУБД таким образом, чтобы пользователи или приложения могли бы вообще ничего не знать об этом. Более того, РСУБД должна уметь обходить при обработке запросов фрагменты, не имеющие к ним отношения.

6.     Независимость от тиражирования. Те же принципы независимости и прозрачности относятся и к механизму тиражирования.

7.     Распределенная обработка запросов. Обработка запросов должна производиться распределенным образом.

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

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

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

11.       Независимость от сети. Узлы могут быть связаны между собой с помощью множества разнообразных сетевых и коммуникационных средств. М Многоуровневая модель, присущая многим современным информационным системам (например, семиуровневая модель OSI, модель TCP/IP, уровни SNA и DECnet), обеспечивает решение этой проблемы не только в среде РБД, но и для информационных систем вообще.

12.       Независимость от СУБД. Локальные СУБД должны иметь в возможность участвовать в функционировании РСУБД.

2 Анализ технологий организации РБД

 База данных физически распределяется по узлам компьютерной информационной системы при помощи фрагментации и репликации (тиражирования) данных [2, 3, 4].

 2.1 Фрагментация данных

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

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

Тогда запрос "получить информацию о сотрудниках компании" может быть сформулирован так:

 

SELECT * FROM    employee@donetsk,

                                employee@kiev

 

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

На рисунке 1.4 приведен пример горизонтальной фрагментации.

Рис. 1.3 Горизонтальная фрагментация

 

 

Рис. 1.4 Пример горизонтальной фрагментации

При вертикальной фрагментации отношение делится на разделы при помощи операции проекции. Например, один раздел отношения Employee может содержать поля Номер_сотрудника (emp_id), ФИО_сотрудника (emp_name), Адрес_сотрудника (emp_adress), а другой – поля Номер_сотрудника (emp_id), Оклад (salary), Руководитель (emp_chief).

Тогда запрос "получить информацию о заработной плате сотрудников компании" будет выглядеть следующим образом:

 

SELECT  employee.emp_id,

                emp_name,

                salary

FROM     employee@donetsk,

                employee@kiev

ORDER BY emp_id

 

На рисунках 1.5 и 1.6 изображены сущность и пример вертикальной фрагментации.

Рис. 1.5 Вертикальная фрагментация

 

Рис. 1.6 Пример вертикальной фрагментации

 

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

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

 

Второй способ распределения данных – репликация (рис. 1.7). Репликация (или тиражирование) означает создание дубликатов данных. Репликаты – это множество различных физических копий некоторого объекта базы данных (обычно таблицы), для которых поддерживается синхронизация (идентичность) с некоторой "главной" копией.

Рис. 1.7 Репликация

Теоретически значения всех данных в тиражированных объектах должны автоматически и незамедлительно синхронизироваться друг с другом. (На практике это правило обычно несколько ослабляется.) В некоторых системах копии используются исключительно в режиме чтения и обновляются в соответствии с заданным расписанием. В других средах допускается модификация отдельных значений в копиях, и эти изменения распространяются в соответствии с процедурами планирования и координации [5, 6, 7]. На рисунках 1.8, 1.9, 1.10 показаны различные модели тиражирования.

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

 

Рис. 1.8 Одновременное обновление (с управлением параллелизмом)

Рис. 1.9 Распространенные обновления

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

Рис. 1.10 Запланированная синхронизация дубликатов только для чтения

В современных СУБД функции репликации выполняет, как правило, специальный модуль – сервер тиражирования данных, называемый репликатором (так устроены СУБД CA OpenIngress и Sybase). В Informix-OnLine Dynamic Server репликатор встроен в сервер, в Oracle для использования репликации необходимо приобрести дополнительную опцию Replication Option.

Спецификация механизмов репликации зависит от используемой СУБД. Простейший вариант – использование “моментальных снимков” (snapshot).

2.3 Каталог распределенной системы

 

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

1.              Централизированный каталог. Весь каталог храниться в одном м месте, т.е. на центральном узле.

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

3.              Секционированный каталог. На каждом узле содержится его с собственный каталог для объектов, хранимых на этом узле. Общий каталог я является объединением всех разъединенных локальных каталогов.

4.              Комбинация первого и третьего вариантов. На каждом узле с содержится его собственный каталог (как в п.3), кроме того, на одном центральном узле хранится унифицированная копия всех этих локальных каталогов (как в п.1).

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

 

2.4 Примеры распределенных систем

 

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

Среди многочисленных прототипов и научно-исследовательских систем следует упомянуть систему SDD-1, созданную в конце 70-х – начале 80-х годов в научно-исследовательском отделении фирмы Computer Corporation of America; систему R*, которая является распределенной версией системы System R и создана в начале 80-х годов фирмой IBM; а также систему Distributed INGRES, которая является распределенной версией системы INGRES и создана также в начале 80-х годов в Калифорнийском университете в Беркли [3].

Что касается коммерческих продуктов, то в настоящее время в большинстве реляционных систем предусмотрены разные виды поддержки использования распределенных баз данных с разной степенью функциональности. Среди таких систем наиболее известны система INGRES/STAR отделения Ingres Division фирмы The ASK Group Inc., система ORACLE фирмы Oracle Corporation, а также модуль распределенной работы системы DB2 фирмы IBM.

 

3 Цель и задачи исследования

 

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

Достижение поставленной цели предполагает решение следующих задач:

1)           определить критерий эффективности РБД;

2)           разработать математическую модель РБД с учетом динамических процессов;

3)           программно реализовать разработанную модель РБД;

4)           исследовать динамические параметры работы РБД;

5)           исследовать влияние на эффективность РБД различных вариантов размещения данных по узлам РБД;

6)           исследование влияния технических параметров компьютерной системы на э эффективность РБД;

разработать рекомендации по повышению эффективности РБД с учетом ее динамических параметров

 

Заключение

1.     Объектом исследования является распределенная база данных компьютерной и информационной системы. Предметом исследования является влияние динамических процессов на функционирование РБД.

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

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

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

Список источников
 

      1. Дейт, К. Дж. Введение в системы баз данных.: Пер. с англ.– 6-е изд.–К.: Диалектика, 1998.– 784 с.
2. Оззу М. Тамер, Патрик Валдуриз. Распределенные и параллельные системы баз данных.

      3. “Distributed Systems Technology Centre Home Page
4. Jurnal “Data Enginering”
5. “IEEE Transactions on Parallel and Distributed Systems”
6. “INFORMIX-OnLine Dynamic Server”
7. Аббасов А. М. Оптимизация размещения информационных баз с копиями в сети ЭВМ // Автоматика и вычисл. техника. 1988. № 4. С. 71 – 75.
8. Зиновьев Э. В., Клименко С. А. Декомпозиционный метод оптимального размещения информационных ресурсов в сетях ЭВМ с зональной структурой // Автоматика и вычисл. техника. 1987. № 6. С. 54 – 60.
9. Иглхарт Д. Л., Шедлер Д. С. Регееративное моделирование сетей массового обслуживания: Пер. с англ.– М.: Радио и связь, 1984.– 136 с.
10. Цегелик Г. Г. Системы распределенных баз данных. – Львов.: Свит, 1990. – 168 с.
11. Клименко С. А., Стрекалев А. А. Декомпозиционный алгоритм оптимизации размещения информационных ресурсов в сетях ЭВМ с зональной структурой // Автоматика и вычисл. техника. 1988. № 5. С. 77 – 81.
12. Тониев К. С., Цвиркун А. Д. Оптимизация распределения вычислительных работ и баз данных в сети ЭВМ // Автоматика и телемеханика. 1983. № 12. С. 122-133.
13. Янбых Г. Ф., Бобер В. И., Бокоев Т. И. Оптимизация размещения файлов и каналов передачи данных в сети ЭВМ // Автоматика и вычисл. техника. 1984. № 4. С. 25–29.
14. Янбых Г. Ф., Столяров Б. А. Оптимизация информационно – вычислительных сетей. М., 1987.
15. Ярмош Н. А. Журавский Е. М. Алгоритм оптимального размещения файлов данных в распределенной вычислительной системе // Весцi АН БССР. Сер. фiз.тэхн. наук. 1984. № 1. С. 78–83.
16. Мамиконов А.Г., Кульба В.В., Косяченко С.А., Ужастов И.А. Оптимиза¬ция структур распределенных баз данных в АСУ.–М.: Наука 1990.– 240 с.
17. Марков А. А. Моделирование информационно-вычислительных процессов: Учебное пособие для вузов.– М.: Изд-во МГТУ им. Н. Э. Баумана, 1999.– 360 с.
18. Норенков И.П. Подходы к проектированию автоматизированных систем // Информационные технологии, N2, 1998.
19. Корячко В.П., Шибанов А.П. Анализ и оптимизация временных характеристик ЛВС сложной технической системы // Локальные вычислительные сети: Тез. докл. третьей Всесоюз. конф. Рига, 1986
20. Олифер Н.А.,Олифер В.Г. Средства анализа и оптимизации локальных сетей.
21. Филлипс Д., Гарсиа-Диас А. Методы анализа сетей - М: Мир, 1984.

биография индивидуальная Библиотека Магистерская Ссылки Результаты поиска