Norenkov.Osnovy.Avtomatizirovannogo.Proektirovania.2002 (525024), страница 69
Текст из файла (страница 69)
е. хранилища данных. Для хранилищданных характерен ряд особенностей, совпадающих с названными выше особенностями БнД САПР: 1) длительное хранение информации, отражающей историю разработок; 2) частота операций чтения данных выше частоты операций обновления данных; 3) использование единых форматов для однотипныхданных, полученных из различных источников (например, от разных программно-методических комплексов).Эти особенности позволяют управлять конфигурацией проектов, что, в частности, означает хранение в САПР всех версий проекта и, возможно, данныхпо проектам предыдущих разработок, удовлетворение сложных запросов, дляответа на которые требуются извлечение и обработка данных из различныхчастей хранилища (так называемая многомерная обработка).
Модели данныхв DW отличаются от реляционных моделей (RM): в RM использованием нормальных форм стремятся максимальнр уменьшить избыточность данных, чтоприводит к увеличению числа таблиц, но уменьшенных размеров, при этоммногомерный поиск в множестве таблиц затруднен. Поэтому в DW чаще используется модель данных «звезда», в которой имеется общая таблица фактов(Fact Table) и каждому факту ставится в соответствие несколько таблиц с необходимыми атрибутами. Целостность данных в DW обеспечивается проверкой и трансформацией данных, вводимых из внешних источников, наличиемдисциплины обновления данных, централизованным хранением основной базы,при этом достаточное быстродействие поддерживается передачей копий определенных частей базы в локальные базы, называемые киосками данных (DataMart) и ориентированные на отдельные группы пользователей.Варианты управления данными в сетях АСПри сетевой организации АС информационное обеспечение может бытьреализовано по одному из следующих вариантов: 1) FS - файловый сервер; 2) RDA - доступ к удаленным данным; 3) DBS - сервер баз данных;2745.6.
Системные среды автоматизированных системИнтерфейс- ПриложениеDBSRDAСУБДБазы данныхFSРис. 5.12. Варианты двухзвенных схем распределенных вычислений4) AS - сервер приложений. Варианты различаются распределением междуразными узлами сети функций хранения данных, управления данными, обработкиданных в приложениях и интерфейса с пользователем.
На рис. 5.12 место средыпередачи данных показано вертикальной чертой для первых трех вариантов.Каждый вариант имеет свою область применения.Вариант файл-сервера характерен для локальных сетей на персональныхЭВМ с небольшим числом пользователей. Вследствие интенсивного трафикаи трудностей с защитой информации эта структура для большинства АСмалоэффективна. Поэтому предпочтительнее иметь СУБД в узле сервера.Вариант RDA - это модель удаленного узла, она наиболее распространена внастоящее время среди АС. В ней уменьшен трафик по сравнению с FS,унифицирован интерфейс с СУБД на основе языка SQL.П р и м е ч а н и е . Клиентов в FS и RDA иногда именуют «толстыми» клиентами, таккак в них сосредоточены средства выполнения приложений.Дальнейший переход к системе распределенных вычислений приводит кперемещению прикладного ПО или его части на специальный сервер или сервербазы данных, т.
е. реализуются двух- и трехзвенные схемы. DBS - двухзвеннаяструктура дистанционного управления, основанная на разделении прикладныхпроцедур на две части: индивидуальные для каждого пользователя и общиедля многих задач. В этой структуре под приложением понимают совокупностьименно общих процедур.
Эта совокупность обычно представляется напроцедурных расширениях SQL и сохраняется в специальном словаре базыданных. В альтернативных вариантах (например, в RDA) все прикладныепроцедуры включаются в прикладные программы и, следовательно, принеобходимости их изменения приходится модифицировать практически всеприкладное ПО.
Выделение таких процедур в отдельное приложение облегчаетих модификацию. Кроме того, в DBS снижается трафик, так как обмены посети происходят не для каждой операции с базой данных, а для каждойтранзакции, состоящей из нескольких операций.Вариант AS реализуется по трехзвенной схеме, в которой для приложенийиспользуются узлы, отделенные от терминального (локального) узла и отсервера базы данных, т.
е. одновременно используются модели DBS и RDA.Помимо проблемы распределения серверных функций между узлами сетиимеется проблема разделения этих функций между многими пользователямиАС. Эта проблема решается либо по схеме «один к одному», либо по многопотоковой схеме. В первой из них для каждого активного пользователя создается своя копия СУБД. Во второй СУБД должна быть реентерабельнойпрограммой, обслуживающей одновременно многих пользователей.ю-2755 Методическое и программное обеспечение автоматизированных системРаспределенные базы данныхВ крупных АС, построенных на основе корпоративных сетей, не всегда удается организовать централизованное размещение всех баз данных и СУБД наодном узле сети.
Поэтому появляются распределенные базы данных (РБД).При построении РБД приходится решать ряд сложных проблем, связанныхс минимизацией трафика, обеспечением интероперабельности обработки данных и целостности данных.Минимизация трафика нужна в связи с тем, что при обслуживании запроса могут потребоваться данные из многих узлов, пересылаемые по сети.
Возможности минимизации видны из примера обработки данных нескольких таблиц из разных узлов. Очевидно, что целесообразна однократная пересылкатаблиц (причем таблиц именно меньшего размера) на один узел, на котором ибудет обрабатываться запрос.Интероперабелъностъ выражает способность взаимодействия программ,работающих в гетерогенных сетях (в разных операционных средах или с разными СУБД).
Интероперабельность обеспечивается или с помощью программшлюзов (конверторов) для каждой пары взаимодействующих сред, или с помощью единого унифицированного языка взаимодействия. Таким языком длядоступа к базам данных является язык SQL, Интероперабельность на его основе имеет место в системе ODBC (Open Data Base Connectivity), пример реализации которой показан на рис. 5.13. В примере СУБД FoxPro находится влокальном узле, а СУБД Ingres и Informix - в удаленных узлах.
Прикладнаяпрограмма имеет ODBC-интерфейс, не зависимый от особенностей различных СУБД. Менеджер драйверов реализует на базе унифицированного языкаSQL все нюансы доступа к базам данных, общие для разных СУБД. Драйверконкретной СУБД преобразует инвариантные к СУБД запросы в форму, принятую в данной СУБД. В трехзвенной структуре менеджер драйверов можетбыть размещен на промежуточном сервере.Обеспечение целостности в РБД намного сложнее, чем в одноузловых базах данных. Различают два подхода к построению РБД: 1 ) тиражирование (репликация), при котором на нескольких серверах (в узлах) сети расположены копии базы данных; 2) полномасштабная распределенность, при которой разныечасти базы данных находятся на разных серверах сети (классическая распределенность).КлиентСерверыДрайверIngres- ПрограммасвязиКоммуникационный серверДрайвер- ПрограммасвязиКоммуникационный сервер! InformixFoxProДрайверFoxProРис.
5.13. Структура системы ODBC276Ingres5.6. Системные среды автоматизированных системПрименяют два способа тиражирования.Способ, называемый репликацией первой копии, основан на выделении среди серверов с копиями базы данных одного первичного сервера (репликатора).Внесение изменений пользователями возможно только в базы данных первичного сервера, который в дальнейшем осуществляет тиражирование. Тиражирование - это перенос изменений баз данных из первичного сервера во всевторичные (локальные) серверы, которые используются клиентами только длячтения данных. Репликатор реагирует на события, фиксируемые триггерами,периодически пересылает обновленные данные в копии базы данных.
Недостаток способа - невысокая надежность, присущая любым централизованнымструктурам.Надежность повышается при использовании способа голосования: изменения посылаются не в один первичный, а в некоторые N серверов. При этомлюбой запрос на чтение направляется к некоторым М серверам, причемN + М > К, где К- общее число серверов. Принимается последняя по времениобновления версия ответа.Тиражирование вносит избыточность в хранимые данные, появляются трудности с разрешением конфликтов ввиду возможных несогласованных изменений в локальных базах данных.
Однако по сравнению с классическими РБД, вкоторых данные не дублируются, заметно уменьшается трафик, надежнее ипроще работа с локальными базами данных. Обеспечение надежности и удобства работы особенно актуально в случае ненадежных и медленных каналовсвязи, что имеет место во многих сетях в России.В классических распределенных СУБД (РСУБД) необходимо управлятьодновременным доступом, что должно гарантировать целостность (сериализуемость) баз данных. Наиболее широко используются алгоритмы управления, основанные на механизме блокировки. При этом блокировкой называютситуацию, при которой некоторая транзакция объявила о желании получить полномочия на доступ к странице памяти и, следовательно, другие транзакции неимеют права занимать этот ресурс.Одним из способов управления является централизованное блокирование,при котором на одном из узлов поддерживается единая таблица блокировок.Такой узел устанавливает очередность выполнения транзакций, что исключаетконфликты.