Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.81 Mб
Скачать

Вычислительные системы с программируемой структурой

Вычислительные системы с программируемой структурой полностью основываются на модели коллектива вычислителей и являются композицией взаимосвязанных элементарных машин (ЭМ). Каждая ЭМ в своем составе обязательно имеет локальный коммутатор (ЛК), процессор и память; может иметь также внешние устройства. Локальная память ЭМ предназначается для хранения и части данных, и, главное, ветви параллельной программы. Архитектура ВС с программируемой структурой относится к типу MIMD. Такие ВС прежде всего ориентированы на распределенную обработку информации; они эффективны и при конвейерной, и при матричной обработке. При распределенном способе обработки данных на ВС полностью используются возможности MIMD-архитектуры. При конвейерном и матричном способах обработки данных архитектура MIMD виртуально трансформируется соответственно в архитектуру MISD и SIMD. Системы с программируемой структурой рассчитываются на работу во всех основных режимах: решения сложной задачи, обработки наборов задач, обслуживания потоков задач, реализации функций вычислительной сети.

Базы данных

Информационные системы, использующие базы данных

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

  • хранение данных и их защита;

  • изменение (обновление, добавление и удаление) хранимых данных;

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

  • обработка данных и вывод результатов.

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

Преимущества и недостатки централизованного хранения данных

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

Администратор базы данных и его функции

Администратор базы данных — лицо, отвечающее за выработку требований к базе данных, её проектирование, реализацию, эффективное использование и сопровождение[1], включая управление учётными записями пользователей БД и защиту от несанкционированного доступа. Не менее важной функцией администратора БД является поддержка целостности базы данных.

Независимость прикладных программ от данных

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

Многопользовательский доступ к БД

  • Грязное чтение (Dirty Read) - транзакция Т1 модифицировала некий элемент данных. После этого другая транзакция Т2 прочитала содержимое этого элемента данных до завершения транзакции Т1. Если Т1 заврешается операцией ROLLBACK, то получается, что транзакция Т2 прочитала не существующие данные.

  • Неповторяемое (размытое) чтение (Non-repeatable or Fuzzy Read) - транзакция Т1 прочитала содержимое элемента данных. После этого другая транзакция Т2 модифицировала или удалила этот элемент. Если Т1 прочитает содержимое этого элемента занова, то она получит другое значение или обнаружит, что элемент данных больше не существует.

  • Фантом (фиктивные элементы) (Phantom) - транзакция Т1 прочитала содержимое нескольких элементов данных, удовлетворяющих некому условию. После этого Т2 создала элемент данных, удовлетворяющий этому условию и зафиксировалась. Если Т1 повторит чтение с тем же условием, она получит другой набор данных.

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

Все описанные выше ситуации возникли только потому, что чередующееся выполнение транзакций Т1 и Т2 не было упорядочено, т.е. не было эквивалентно выполнению сначала транзакции Т1, а затем Т2, либо, наоборот, сначала транзакции Т2, а затем Т1.

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

  • блокировка со взаимным доступом, называемая также S-блокировкой (от Shared locks) и блокировкой по чтению.

  • монопольная блокировка (без взаимного доступа), называемая также X-блокировкой от (eXclusive locks) или блокировкой по записи. Этот режим используется при операциях изменения, добавления и удаления объектов.

При этом:

  • если транзакция налагает на объект X-блокировку, то любой запрос другой транзакции с блокировкой этого объекта будет отвергнут.

  • если транзакция налагает на объект S-блокировку, то

    • запрос со стороны другой транзакции с X-блокировокй на этот объект будет отвергнут

    • запрос со стороны другой транзакции с S-блокировокй этого объекта будет принят

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

Доказано, что сериализуемость транзакций (или, иначе, их изоляция) обеспечивается при использовании двухфазного протокола блокировок (2LP - Two-Phase Locks), согласно которому все блокировки, произведенные транзакцией, снимаются только при ее завершении. Т.е выполение транзакции разбивается на две фазы: (1) - накопление блокировок, (2) - освобождение блокировок в результате фиксации или отката.

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

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

  • блокируются отдельные таблицы

  • блокируются страницы (страница - фрагмент таблицы размером обычно 2-4 Кб, единица выделения памяти для обработки данных системой)

  • блокируются записи

  • блокируются отдельные поля

Информационные модели предметной области

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

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

Информационная модель предметной области базы данных содержит следующие основные конструкции:

  • диаграммы "сущность-связь" (Entity - Relationship Diagrams);

  • определения сущностей;

  • уникальные идентификаторы сущностей ;

  • определения атрибутов сущностей ;

  • отношения между сущностями;

  • супертипы и подтипы.

Уровни ANSI and SPARC

Архитектура ANSI-SPARC (также трёхуровневая архитектура) определяет принцип, согласно которому рекомендуется строить системы управления базами данных(СУБД).

Проект архитектуры был выдвинут в 1975 году подкомитетом SPARC ANSI.

Три уровня СУБД:

  1. внешний (пользовательский)

  2. промежуточный (концептуальный)

  3. внутренний (физический)

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

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

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

Функциональная инфологическая предметные области

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

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

Чтобы понять, как функционирует предметная область, выполняется ее функциональный анализ – определение функционирования по описанию предметной области [8-10].  В основе функционального анализа лежит принцип декомпозиции действий. Синонимами понятия «действие» являются: процесс, задача, функция, работа (activity в BPwin). Результатом анализа в этом контексте является функциональная модель, которая дает представление о предметной области в терминах функций и групп данных, сопутствующих выполнению этих функций.

Функциональная модель – это модель инфологического уровня представления, в которой акцентируется функциональный аспект моделирования предметной области.

Функциональная модель в виде иерархии функций способствует пониманию поведения субъекта моделирования.

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

На основании функционального анализа строится функциональная модель AS-IS (как есть). Эта модель призвана согласовать разные точки зрения на то, что представляет собой предметная область на самом деле. На основании анализа модели AS-IS синтезируется модель TO-BE (как будет) или модель SHOULD-BE (как должно быть).

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

Популярным CASE-средством поддержки методологии функционального моделирования (IDEF0) является инструментальный пакет BPwin[10]. Под моделью в IDEF0 понимается описание иерархической системы диаграмм (текстовое и графическое), выполненное на языке структурного анализа в терминах системных компонентов: процесс (работа), вход, выход, управление и механизм.

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

Жизненный цикл БД

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

 анализ требований,

 проектирование,

 кодирование (программирование),

 тестирование и отладка,

 эксплуатация и сопровождение.

Разработка БД охватывает все работы по их созданию.

К основным этапам жизненного цикла БД относятся: отладка, тестирование, анализ требований, эксплуатация, кодирование, проектирование, сопровождение. При этом программный продукт может создаваться даже если на него нет заказа.

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

К основным (базовым) моделям жизненного цикла относят модели: каскад («водопад»), поэтапная и спираль («водоворот»). Важным аспектом проектирования БД является возможность осуществлять тестирование системы непосредственно в процессе ее разработки. Не все модели жизненного цикла БД позволяют это делать.

В каскадной модели переход на следующий этап означает полное завершение работ на предыдущем этапе.

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

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

Каскадная модель применяется при разработке небольших проектов и при решении отдельных задач.

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

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

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

Клиент-серверная модель доступа к БД

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

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

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

Инфологическое проектирование БД

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

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