
- •1. Жизненный цикл информационных систем: этапы планирования разработки, определения требований, сбора и анализа требований, проектирования бд и выбора целевой субд
- •2. Жизненный цикл информационных систем: этапы разработки приложений, создания прототипов, реализации, конвертирования и загрузки данных, тестирования, эксплуатации
- •3. Требования. Место в жц разработки ис
- •Функциональные требования
- •Нефункциональные требования
- •Пользовательские требования.
- •Системные требования.
- •8. Разработка требований
- •9. Управление требованиями (и управление изменениями требований)
- •11. Модели систем
- •12. Модели системного окружения
- •13. Поведенческие модели
- •15. Объектные модели.
- •Прототипирование в процессе разработки по
- •Эволюционное прототипирование
- •Экспериментальное прототипирование
- •Технологии быстрого прототипирования.
- •Прототипирование пользовательского интерфейса.
- •Архитектурное проектирование
- •Архитектурное проектирование. Структурирование системы
- •Архитектурное проектирование. Моделирование управления
- •Управление, основанное на событиях
- •Архитектурное проектирование. Модульная декомпозиция
- •Обектно-ориентированная модель
- •Модель потоков данных
- •Проектирование диалога с пользователем: структура пользовательского интерфейса
- •Проектирование диалога с пользователем: графическое представление диалога
- •Проектирование диалога с пользователем: текствое представление
- •Распределенные бд
- •Проблемы с распределенными бд
Распределенные бд
Коммуникационная сеть может включать в себя соединения по телефонной линии, по радиоканалам, по оптоволокну, по специально проложенным кабелям связи. Компьютеры в такой сети могут иметь различные технические и функциональные характеристики.
Особенности: каждый узел обладает своими собственными СУБД. Может иметь собственные базы данных, локальных пользователей, клиентские станции и т.д.
Узлы работают согласованно. Поэтому пользователь получить доступ к данным на любом узле сети, так как будто они находятся на его собственном узле. При работе с распределенными базами данных могут выполняться транзакции 2 видов: локальные и глобальные. При локальной доступ осуществляется только к тем данным, которые находятся на своем узле. Глобальные – для других узлов.
Пусть имеется отношение (со схемой) r(R). Существует несколько способов хранения такого отношения в распределенной базе:
репликация. При таком подходе осуществляется хранение идентичных копий или реплик (зеркало) на каждом узле сети. Доступность – при такой организации пользователь осуществляет только локальные запросы, повышение быстродействия. При сбоях на своем или людом другом узле, данные все равно будут получены. Возможность параллельной обработки. С одним кортежем можно работать на нескольких узлах одновременно, не нагружая при этом сеть.
фрагментация. Отношение распределяется на основе фрагментации, то есть делится на фрагменты, каждый из которых должен содержать достаточно информации, для восстановления общего отношения. Фрагментация может быть либо горизонтальной (отношение делится на несколько подмножеств, каждый кортеж общего базового отношения принадлежит хотя бы одному фрагменту. Фрагмент определяется как r1=σθ(r). Восстановление r= Uni=1 ri) и вертикальной (декомпозиция, при которой формируется множество наборов атрибутов таким образом, чтобы общая схема отношения получалась путем объединения этих атрибутов, фрагмент определяется rj=ПRj(r), а общее отношение устанавливается как r=r1
r2 … rk
a х b – декартово произведение
a b – натуральное произведение
a
b
– тетта соединение
смешанный.
Проблемы с распределенными бд
Проблемы с распределенными базами данных:
Репликация. Проблема распространения обновлений. При модификации некоторого картежа на одном из узлов система должна модифицировать этот же кортеж на всех других узлах.
для фрагментированных баз данных. Обработка глобальных запросов. Каждый из узлов помимо собственных СУБД имеет собственную систему управления транзакциями.
Пусть есть 3 узла Х, Y, Z. Которые затрагиваются запросом. Горизонтальная фрагментация. Пусть запрос возник на узле Х. Результатом запроса будет выборка из 100 кортежей узла Y и 10000 из узла Z. Эффективнее перекинуть 100 к 10000, выполнить запрос и результат переслать, чем присылать все и на Х выполнять запрос.
Для решения некоторых проблем используется протокол двухфазной фиксации. В распределенных системах выполнение 1 транзакции может быть связано с выполнением кода на нескольких узлах. В таких случаях говорят, что транзакция состоит из нескольких агентов. Агент – часть транзакций, выполняемых на 1 узле. При управлении восстановлением система должна знать о завершении или незавершении распределенной транзакции. Транзакция будет завершена успешно только если все ее агенты успешно завершены. Вводится специальный компонент, который называется координатором. В начале транзакции координатор рассылает всем участникам транзакции сохранять изменения вне основных файлов. После успешного выполнения всех действий транзакции участник отправляет координатору соответствующее сообщение об удаче или неуспехе. Когда координатор получает сообщение ото всех участников, он рассылает сообщения о записи изменений в основные файлы, а если хотя бы от одного участника пришло сообщение о неудаче, то отправляется инструкция «отменить все изменения». При таком подходе каждый узел может выступать и как координатор, и как участник, поэтому на каждом узле должны быть соответствующие средства. Возрастает нагрузка на сеть. Если один из участников выйдет из строя, то по таймауту принимается решение, что транзакция не прошла.