Сделай Сам Свою Работу на 5

Понятие распределённой БД. архитектура и принципы распределённой БД.





Первоначальные ИС, основанные на базах данных, имели строго централизованную архитектуру. Данные были сосредоточены физи­чески и логически на одном компьютере. Централизованная органи­зация базы данных позволяет облегчить обеспечение ее безопасности, целостности и непротиворечивости данных.

Вместе с тем рост объема базы данных и числа пользователей, полу­чающих к ней доступ, территориальное развитие организации (и сни­занная с ней необходимость распределенной обработки данных) приво­дят к возникновению ряда проблем, свойственных централизованной архитектуре [14]:

♦ большой объем обмена данными (высокий трафик);

♦ снижение надежности обмена данными;

♦ снижение общей производительности;

♦ рост затрат на разработку БД.

ВОЗМОЖНЫМ решением перечисленных проблем является органи­зация децентрализованного хранения данных. При децентрализации достигается [14]:

♦ параллельная обработка данных и распределение нагрузки;

♦ повышение эффективности обработки данных при выполнении удаленных запросов;

♦ уменьшение затрат на обработку данных;

♦ упрощение процедуры управления ИС.



Распределенная база данных— это набор отношений, хранящихся в разных узлах компьютерной сети и логически связанных таким об­разом, чтобы составлять единую совокупность данных [14, 33].

Распределенная база данных предполагает хранение данных на не­скольких узлах сети, обработку данных и их передачу между этими

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

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

В основе распределенных ИС лежат две основные идеи [14]:



♦ работа множества пользователей с общей БД;

♦ объединение распределенных данных на логическом и физиче­ском уровнях в общей БД.

Перечислим основные принципы создания и функционирования распределенных БД [14):

♦ Прозрачность размещения данных для пользователя (пользова­телю распределенная БД должна представляться точно, так как и нераспределенная);

♦ изолированность пользователей друг от друга (на работу одного пользователя с БД не должна влиять работа других пользовате­лей с ней);

♦ синхронизация БД и непротиворечивость состояния данных в лю­бой момент времени.

Дадим более подробный перечень принципов распределенной БД, сформулированных К. Дейтом [33].

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

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

3. Непрерывность операций. Это возможность непрерывного до­ступа к данным в рамках распределенной БД вне зависимости от их расположения и вне зависимости от операций, выполняемых на локальных узлах.



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

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

6. Прозрачное тиражирование. Тиражирование данных - это асин­хронный процесс переноса изменений объектов исходно!! базы данных в базы, расположенные на других узлах распределенной системы.

7. Обработка распределенных запросов. Возможность выполнения операций выборки данных из распределенной БД, посредством запросов, сформулированных на языке SQL.

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

9. Независимость от оборудования. Это свойство означает, что в ка­честве узлов распределенной системы могут выступать компью­теры любых моделей и производителей.

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

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

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

Важнейшую роль в технологии создания и функционирования рас­пределенных баз данных играет технология «представлений».

Представлением называется сохраняемый в базе данных авторизо­ванный глобальный запрос на выборку данных. Авторизованность означает возможность запуска такого запроса только конкретно по­именованным в системе пользователем. Глобальность заключается в том, что выборка данных может осуществляться из всей базы данных, в том числе из данных, расположенных на других узлах сети [14].

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

 

Технология клиент-сервер

Выделились несколько самостоятельных технологий распределен­ной обработки данных [14]:

♦ клиент-сервер;

♦ реплицирования;

♦ объектного связывания.

Реальные распределенные информационные системы, как правило, построены на основе сочетания ЭТИХ технологий.

Системы на основе технологии клиент-сервер разнились из первых централизованных многопользовательских информационных систем на основе мэйнфреймов и получили наиболее широкое распростране­ние в корпоративных информационных системах.

При реализации данной технологии отступают от одного из основ­ных принципов создания распределенных систем — отсутствия цен­трального узла [14].

Принцип централизации хранения и обработки данных является базовым принципом технологии клиент-сервер.

Можно выделить следующие идеи, лежащие в основе технологии клиент-сервер [14]:

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

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

Важное значение в технологии клиент-сервер имеют понятия сер­вера и клиента.

Под сервером в широком смысле понимается любая система, про­цесс, компьютер, владеющие каким-либо вычислительным ресурсом (памятью, временем процессора, файлами и Т.Д.). Клиентом называ­ется любая система, процесс, компьютер, пользователь, делающие за­прос к серверу на использование ресурса [14].

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

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

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

Во многих случаях узким местом клиент-серверных ИС является недостаточно высокая производительность из-за необходимости пе­редачи по сети все-таки большого количества данных.

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

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

репликации программное обеспечение СУБД дополняется функци­ями тиражирования данных, их структуры, системной информации, информации о конфигурировании распределенной системы [14].

При этом, однако, возникают две проблемы реализации одного из принципов функционирования распределенных систем принципа непрерывности согласованного состояния данных [14]:

♦ обеспечение согласованного состояния данных во всех репли­ках БД;

♦ обеспечение согласованного состояния структуры данных во всех репликах БД.

Обеспечение согласованного состояния данных, в свою очередь, ос­новывается на реализации одного из двух принципов [14]:

♦ принципа непрерывного размножения обновлений;

♦ принципа отложенных обновлений (обновления реплик могут быть отложены до специальной команды или ситуации).

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

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

Унификация взаимодействия прикладных компонентов с ядром информационных систем в виде SQL-серверов, наработанная для кли-ент-серверных систем, позволила выработать аналогичные решения и по интегрированию разрозненных локальных баз данных под управ­лением настольных СУБД. Такая технология получила название объектного связывания данных [14].

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

основывается на поддержке современными настольными СУБД техно­логии объектом доступа к данным DAO (Data Access Objects). Под

объектом понимается интеграция данных и методов их обработки в одно целое, на чем, как известно, основываются технологии объектно-ориентированного программирования 114).

Технология объектного связывания данных основана на протоколе ODBC (Open Database Connectivity), который является стандартом тупа к данным БД клиент-серверных систем (посредством SQL-запросов), а также к любым данным, находящимся под управлением реляционных СУБД.

Подобный принцип построения распределенных систем при боль­ших объемах данных в связанных таблицах приводит к существенно­му увеличению сетевого трафика, так- как по сети постоянно пере­даются страницы файлов баз данных. Другой проблемой является отсутствие надежных механизмов безопасности данных и обеспечение ограничений целостности. Так же как и в технологии файл-сервер, сов­местная работа нескольких пользователей с одними и теми же данны­ми обеспечивается только функциями операционной системы по од­новременному доступу к файлу нескольких приложений [14].

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.