74514

Корпоративные базы данных

Лекция

Информатика, кибернетика и программирование

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

Русский

2015-01-04

3.81 MB

21 чел.

PAGE  15

КОРПОРАТИВНЫЕ БАЗЫ ДАННЫХ

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

СУБД и структурные решения в корпоративных системах.

Технологии Internet/Intranet и корпоративные решения по доступу к базам данных.

ОРГАНИЗАЦИЯ ДАННЫХ В КОРПОРАТИВНЫХ СИСТЕМАХ. КОРПОРАТИВНЫЕ БАЗЫ ДАННЫХ

Корпоративная база данных является центральным звеном корпоративной информационной системы и позволяет создать единое информационное пространство корпорации. Корпоративные базы данных (рис.1.1).

Существуют различные определения баз данных.

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

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

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

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

  Основные требования к базам данных:

  •  Полнота  представления данных. Данные в базе должны адекватно представлять всю информацию об объекте и их должно быть достаточно для СОД.
  •  Целостность базы данных. Данные должны сохранятся при обработке их СОД и в любых ситуациях, возникающих в процессе работы.
  •  Гибкость структуры данных. База данных должна позволять изменять структуры данных, не нарушая своей целостности  и полноты при изменении внешних условий.
  •  Реализуемость. Это значит, что должно быть объективное представление разнообразных объектов, их свойств и отношений.
  •  Доступность. Необходимо обеспечить разграничение доступа к данным.
  •  Избыточность. База данных должна иметь минимальную избыточность представления данных о каком-либо объекте.

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

База знаний (БЗ)  совокупность баз данных и используемых правил, полученных от лиц, принимающих решения. База знаний является элементом экспертных систем.

Следует различать различные способы представления данных.

Физические данные – это данные, хранящиеся в памяти ЭВМ.

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

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

Рис. 1.1. Структура взаимодействия подразделений с информационными ресурсами корпорации.

Корпоративные базы данных бывают сосредоточенные (централизованные) и распределенные.

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

Рис.1.2. Схема гетерогенной централизованной базы данных

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

  •  Большой поток обмена данными;
  •  Высокий трафик в сети;
  •  Низкая надежность;
  •  Низкая общая производительность.

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

  •  Более высокая степень одновременности обработки вследствие распределения нагрузки;
  •  Улучшение использования данных на местах при выполнении удаленных (дистанционных) запросов;
  •  Меньшие затраты;
  •  Простота управления локальными базами.

Затраты на создание сети, в узлах которой находятся рабочие станции (малые ЭВМ), гораздо ниже, чем затраты на создание аналогичной системы с использованием большой ЭВМ. На Рис.1.3  приведена логическая схема распределенной базы данных.

Рис.1.3. Распределенная база данных корпорации.

Дадим следующее определение распределенной базы данных.

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

Важнейшие требования к характеристикам распределенной базы данных таковы:

  •  Масштабируемость;
  •  Совместимость;
  •  Поддержка различных моделей данных;
  •  Переносимость;
  •  Прозрачность расположения;
  •  Автономность узлов распределенной базы данных (Site Autonomy);
  •  Обработка распределенных запросов;
  •  Выполнение распределенных транзакций.
  •  Поддержка однородной системы безопасности.

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

Базы данных, составляющие распределенную базу данных, не обязательно должны быть однородными (т.е. вестись одной СУБД) или обрабатываться в среде одной и той же операционной системы и/или на компьютерах одного и того же типа. Например, одна база данных может быть базой Oracle на компьютере SUN с операционной системой SUN OS(UNIX), вторая база данных может вестись СУБД DB2 на мейнфрейме IBM 3090 с операционной системой MVS, а для ведения третьей базы может использоваться СУБД SQL/DS также на мейнфрейме IBM, но с операционной системой VM. Обязательно только одно условие - все машины с базами данных должны быть доступны по сети, в которую они входят.

Основная задача распределенной базы данных – распределение данных по сети и обеспечения доступа к ней. Существуют следующие способы решения этой задачи:

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

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

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

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

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

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

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

Информационные хранилища. Сегодня многие признают, что уже сейчас в большинстве компаний эксплуатируется  несколько БД и, для успешной работы с информацией, требуются не просто разнотипные базы данных, а разные поколения СУБД. Согласно статистике, в каждой организации используется в среднем 2,5 различных СУБД. Стала очевидной необходимость "изолировать" бизнес компаний, вернее, людей, занимающихся этим бизнесом, от технологических особенностей баз данных, предоставить пользователям единый взгляд на корпоративную информацию независимо от того, где она физически хранится. Это стимулировало появление технологии информационных хранилищ (Data Warehousing, DW).

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

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

В структуре корпорации может присутствовать банк данных.

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

 Банк данных рассматривают как  информационно-справочную систему, основное назначение которой состоит:

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

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

СУБД И СТРУКТУРНЫЕ РЕШЕНИЯ В КОРПОРАТИВНЫХ СИСТЕМАХ

Системы управления базами данных и знаний

   

Важной составляющей современных информационных систем являются системы управления базами данных (СУБД).

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

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

Основная особенность современных СУБД - это то, что современные СУБД поддерживают такие технологии как:

  •  Технологию клиент/сервер.  
  •  Поддержка языков БД.  Это язык определения схемы БД (SDL - Schema Definition Language),  язык манипулирования данными (DML - Data Manipulation Language), интегрированные языки SQL (Structured Queue Language), QDB (Query-By-Example) и QMF (Query Management Facility) – развитое периферийное средство спецификации запросов и генерации отчетов для DB2 и т. д.;
  •  Непосредственное управление данными во внешней памяти.
  •  Управление буферами оперативной памяти.
  •  Управление транзакциями. OLTP – технология (On -Line Transaction Processing), OLAP – технология (On -Line Analysis Processing) для DW.
  •   Обеспечить защиту и целостность данных. Использование системы разрешается лишь пользователям, имеющим право доступа к данным. При выполнении пользователями операций над данными поддерживается согласованность хранящихся данных (целостность). Это важно в корпоративных многопользовательских информационных системах.
  •  Журнализация.

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

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

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

  •  их возможностей по отношению к распределенным (корпоративным)  базам;
  •  их отношения к типу реализуемой в   СУБД модели данных.

    По отношению к корпоративным (распределенным) базам данных условно можно выделить следующие типы СУБД:

  •  СУБД «рабочего стола». Эти продукты, в первую очередь ориентированы на работу с   персональными данными (данные "рабочего стола").  Они имеют наборы команд для совместного   использования общих БД, но небольшого размера (типа малого   офиса). Прежде всего, это СУБД типа Ассеss, dВАSЕ, Рагаdох, ЕохРго. Почему Ассеss, dВАSЕ, Рагаdох, ЕохРго имеют неудовлетворительный доступ к корпоративным данным. Дело в том, что не существует простого способа преодолеть   барьер между персональными и корпоративными данными. И суть   даже не в том, что механизм СУБД персональных данных (или малого   офиса) ориентирован на доступ к данным через многие шлюзы,   межсетевые продукты и т.д. Проблема состоит в том, что эти   механизмы обычно связаны с полной передачей файлов и отсутствием   разветвленной поддержки индексов, в результате чего очереди к   серверу практически останавливают работу в больших системах.
  •  Специализированные высокопроизводительные многопользовательские СУБД. Такие СУБД характеризуются наличием многопользовательского   ядра системы, языка манипулирования данными и следующими   функциями, характерными для развитых многопользовательских   СУБД:
  •  организацией буферного пула;  
  •  наличием системы обработки очередей транзакций;
  •  наличием механизмов многопользовательской блокировки   данных;
  •  ведением журнала транзакций;
  •  наличием механизмов разграничения доступа.

Это СУБД типа   Oracle, DВ2, SQL/Server, Informix, Sybase, ADABAS, Titanium и другие предоставляют широкий сервис для обработки корпоративных БД.

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

Транзакция – это логическая единица работы.

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

Транзакция обладает четырьмя важными свойствами, известными как свойства АСИД:

  •  (А) Атомарность. Транзакция выполняется как атомарная операция - либо выполняется вся транзакция целиком, либо она целиком не выполняется.
  •  (С) Согласованность. Транзакция переводит базу данных из одного согласованного (целостного) состояния в другое согласованное (целостное) состояние. Внутри транзакции согласованность базы данных может нарушаться.
  •  (И) Изоляция. Транзакции разных пользователей не должны мешать друг другу (например, как если бы они выполнялись строго по очереди).
  •  (Д) Долговечность. Если транзакция выполнена, то результаты ее работы должны сохраниться в базе данных, даже если в следующий момент произойдет сбой системы.

Транзакция обычно начинается автоматически с момента присоединения пользователя к СУБД и продолжается до тех пор, пока не произойдет одно из следующих событий:

  •  Подана команда COMMIT WORK (зафиксировать транзакцию).
  •  Подана команда ROLLBACK WORK (откатить транзакцию).
  •  Произошло отсоединение пользователя от СУБД.
  •  Произошел сбой системы.

Для пользователя она носит, как правило, атомарный характер. На самом деле это сложный механизм взаимодействия пользователь (приложение) – база данных. Программное обеспечение корпоративных систем используют механизм обработки транзакций в реальном времени (On-lineTransaction Processing Systems, OLTP), в частности программы бухгалтерского учета, программное обеспечение приема и обработки клиентских заявок, финансовые приложения, производят массу информации. Эти системы рассчитаны (и соответствующим образом оптимизированы) на обработку больших объемов данных, выполнение сложных транзакций и интенсивных операций чтения/записи.

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

Доставкой информации конечному пользователю - занимаются системы аналитической обработки данных в реальном времени (On-line Analytical Processing, OLAP), которые обеспечивают исключительно простой доступ к данным за счет удобных средств генерации запросов и анализа результатов. В OLAP-системах ценность информационного товара увеличивается благодаря применению разнообразных методов анализа и статистической обработки. Кроме того, эти системы оптимизированы с точки зрения скорости извлечения данных, сбора обобщенной информации и ориентированы на рядовых пользователей (имеют интуитивно понятный интерфейс). Если OLTP-система выдает ответы на простые вопросы типа "каков был уровень продаж товара N в регионе M в январе 199х г.?", то OLAP- системы готовы к более сложным запросам пользователей, например: "Дать анализ продаж товара N по всем регионам по плану на второй квартал в сравнении с двумя предыдущими годами".

    

Архитектура клиент/сервер

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

Сервер

База данных

Компьютер-сервер

 
Сеть
 

IBM-совместимый ПК

IBM-совместимый ПК

IBM-совместимый ПК

Клиенты

Приложения

Рис. 2.1. Система архитектуры клиент-сервер

 

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

Сервер (Server) – это объект (ЭВМ), предоставляющий услуги другим объектам по их запросам.

Как следует уже из самого термина, главная функция компьютера-сервера заключается в обслуживании потребностей клиента. Термин "Сервер" используется для обозначения двух различных групп функций: файл-сервер и сервер баз данных (далее эти термины означают в зависимости от контекста либо программное обеспечение, реализующее указанные группы функций, либо компьютеры с этим программным обеспечением). Файл-серверы не предназначены для выполнения операций с базами данных, их основная функция - разделение файлов между несколькими пользователями, т.е. обеспечение одновременного доступа многих пользователей к файлам на компьютере - файл-сервере. Примером файл-сервера является операционная система NetWare компании Novell. Сервер баз данных можно установить и привести в действие на компьютере -- файл-сервере. СУБД Oracle в виде NLM (Network Loadable Module) выполняется в среде NetWare на файл-сервере.

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

Одно из важных требований к серверу - это то, что операционная система, в среде которой размещен сервер баз данных, должна быть многозадачной (и, желательно, но не обязательно, многопользовательской). Например, СУБД Oracle, установленная на персональном компьютере с операционной системой MS-DOS (или PC-DOS), не удовлетворяющей требованию многозадачности, не может использоваться как сервер баз данных. И та же СУБД Oracle, установленная на компьютере с многозадачной (хотя и не многопользовательской) операционной системой OS/2, может быть сервером баз данных. Многие разновидности систем UNIX, MVS, VM и некоторые другие операционные системы являются и многозадачными, и многопользовательными.

Распределенные вычисления

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

  •  Распределенная база данных;
  •  Распределенная обработка данных.

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

 

 Существует много типов серверов:

  •  Сервер баз данных;
  •  Сервер печати;
  •  Сервер удаленного доступа;
  •  Факс-сервер;
  •  Web-сервер и т.д.

В основе базовой технологии Клиент/сервер лежат такие базовые технологии, как:

  •  Технологии операционных систем, концепция взаимодействия открытых систем, создание объектно-ориентированных сред функционирования программ;
  •  Телекоммуникационные технологии;
  •  Сетевые технологии;
  •  Технологии графического пользовательского интерфейса (GUI);
  •  И т.д.

Преимущества технологии клиент-сервер:

  •  Технология клиент/сервер позволяет производить вычисления на неоднородных вычислительных средах. Независимость от платформ: доступ к разнородным сетевым средам, в состав которых входят компьютеры разных типов с различными операционными системами.
  •  Независимость от источников данных: доступ к информации разнородных баз данных. Примеры таких систем -- DB2, SQL/DS, Oracle, Sybase.
  •  Баланс загрузки клиента и сервера.
  •  Выполнение вычислений там, где это происходит наиболее эффективно;
  •  Предоставляют возможность эффективного масштабирования;
  •  Межплатформные вычисления. Межплатформные вычисления определяются просто как реализация технологий в неоднородных вычислительных средах. Здесь должны быть обеспечены следующие возможности:
  •  Приложение должно выполняться на нескольких платформах;
  •  На всех платформах оно должно иметь один и тот же интерфейс и логику работы;
  •  Приложение должно интегрироваться с родной операционной средой;
  •  Оно должно одинаково вести себя на всех платформах;
  •  Для него должна предусматриваться простая и согласованная поддержка.

Распределенные вычисления. Распределенные вычисления предусматривают распределение работ между несколькими вычислительными машинами (правда, распределенные вычисления более широкое понятие).

Разукрупнение. Разукрупнение – перенос приложений для больших ЭВМ на малые компьютерные платформы.

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

Сокращение общего времени выполнения приложения;

Уменьшение использования клиентом памяти;

Сокращение сетевого трафика.

  •  Возможность работы с мультимедиа: к настоящему времени создано немало программ работы с мультимедиа для ПК. Подобных программ для конфигурации терминал-хост либо нет, либо они очень дороги.
  •  Возможность привлечения больших вычислительных ресурсов для операций с базами данных: поскольку приложения выполняются на компьютерах-клиентах, на компьютере-сервере для операций с базами данных высвобождаются дополнительные (по сравнению с конфигурацией терминал-хост) ресурсы, такие, как вычислительные ресурсы центрального процессора и оперативная память.
  •  Более высокая продуктивность работы программистов: производительность труда программистов возрастает благодаря использованию таких средств, как SQL*Forms и CASE: они позволяют разрабатывать приложения быстрее, чем такие языки программирования, как C, PL1 или COBOL.
  •  Повышение продуктивности работы конечных пользователей: в настоящее время многие конечные пользователи освоили такие системы, как Lotus, Paradox, Word Perfect, Harvard Graphics и т.д.

Интерфейс серверной части определен и фиксирован. Поэтому возможно создание новых клиентских частей существующей системы (пример интероперабельности на системном уровне).

Рис. 2.2. Иллюстрация доступа клиентов к общему ресурсу сервера.

Как внедрить технологию клиент-сервер 

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

  •  компьютер-сервер базы данных;
  •  компьютеры-клиентов;
  •  коммуникационная сеть;
  •  сетевое программное обеспечение;
  •  прикладное программное обеспечение.

Язык SQL. Язык запросов высокого уровня - SQL  (Structured Query Language) служит для реализации запросов к базам данных, таких как ЯМД, ЯОД и ПЯД и принят в качестве стандарта. Язык SQL первоначально был принят в качестве языка данных программных изделий фирмы IBM и ЯМД реляционной СУБД SYSTEM R фирмы IBM.  Важной особенностью языка SQL заключается в том, что один и тот же язык представляется через два различных интерфейса, а именно: через интерактивный интерфейс и через интерфейс прикладного программирования (динамический SQL). Динамический SQL состоит из множества возможностей встроенного языка SQL, предусмотренных специально для конструирования интерактивных приложений, где под интерактивным приложением понимается программа, которая написана для  поддержки обращения к базе данных конечного пользователя, работающего на интерактивном терминале.  Язык SQL обеспечивает выполнение функций определения, манипулирования и управления данными баз данных и является прозрачным для пользователя с точки зрения реализуемой СУБД.

Рис. 2.3. Схема выполнения запросов пользователя к распределенным базам данных.

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

Модель данных состоит из трех компонент:

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

Одной из важнейших характеристик работы СУБД является   возможность связывать объекты.

Существуют следующие виды  связей между объектами:  

  •  Один-к-Одному (1:1). Один объект одного множества может быть связан с одним объектом другого множества.
  •  Один-ко-Многим (1:M). Один объект одного множества может быть связан со многими объектами другого множества.
  •  Многие-ко-Многим (M:N). Один объект одного множества может быть связан со многими объектами другого множества, но при этом один объект другого множества может быть связан со многими объектами первого множества.
  •  Разветвленная. Один объект одного множества может быть связан с объектами многих множеств.
  •  Рекурсивная. Один объект данного множества может быть связан объектом этого же множества.

Существуют следующие основные модели данных:

  •  Реляционная модель данных.
  •  Иерархическая модель данных.
  •  Неполная сетевая модель данных.
  •  Модель данных CODASYL.
  •  Расширенная сетевая модель данных.

ТЕХНОЛОГИИ INTERNET/INTRANET И КОРПОРАТИВНЫЕ РЕШЕНИЯ ПО ДОСТУПУ К БАЗАМ ДАННЫХ

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

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

Общим решением проблемы мобильности систем, основанных на архитектуре "клиент-сервер" является опора на программные пакеты, реализующие протоколы удаленного вызова процедур (RPC - Remote Procedure Call). При использовании таких средств обращение к сервису в удаленном узле выглядит как обычный вызов процедуры. Средства RPC, в которых, естественно, содержится вся информация о специфике аппаратуры локальной сети и сетевых протоколов, переводит вызов в последовательность сетевых взаимодействий. Тем самым, специфика сетевой среды и протоколов скрыта от прикладного программиста.

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


 

А также другие работы, которые могут Вас заинтересовать

76846. Артерии предплечья 181.62 KB
  Концевой отдел лучевой артерии переходит на тыл кисти огибая латеральный край запястья. Ветви лучевой артерии Лучевая возвратная rmus recurrens rdilis отходит в верхней трети для участия в сети локтевого сустава соединяется с коллатеральной лучевой из глубокой артерии плеча отдает мелкие мышечные ветви. Ветви локтевой артерии Возвратная локтевая артерия .
76847. Артерии кисти 179.46 KB
  В запястье они связаны в виде сетевых анастомозов а на ладони дугообразных соединений из которых возникают пястные и пальцевые артерии. Ладонная и запястная ветви лучевой артерии соединяясь с одноименными ветвями локтевой и межкостных артерий образуют в запястье ладонную и тыльную артериальные сети rete crpi plmre et rete crpi dorsle. От тыльной сети запястья отходят следующие артерии.
76848. Бедренная артерия 180.92 KB
  Артерия по выходе из лакуны ложится в подвздошногребенчатую борозду между одноименными мышцами бедра располагаясь латерально от бедренной вены. Покинув короткую борозду артерия спускается в бедренный треугольник и входит в приводящий канал который оставляет в подколенной ямке у верхней границы. В ямке артерия называется подколенной и ее ветви образуют артериальную сеть коленного сустава.
76850. Артерии голени 182.91 KB
  Они являются конечными ветвями подколенной артерии и начинаются от нее на уровне нижнего края подколенной мышцы. Передний пучок состоит из передней большеберцовой артерии 23 сопровождающих глубоких вен и глубокой ветви малоберцового нерва боковой пучок из малоберцовой артерии 23 сопровождающих глубоких вен и поверхностной ветви малоберцового нерва. Мелкие ветви задней большеберцовой артерии: Ветвь огибающая головку фибулы участвует в образовании сети коленного сустава и кровоснабжении малоберцовых мышц.
76851. Артерии стопы 180.84 KB
  Дуга проецируется на уровне оснований плюсневых костей и заканчивается соединением с глубокой ветвью тыльной артерии стопы проходящей в первом межплюсневом промежутке. От дуги начинаются четыре плюсневые артерии . Прободающие артерии через межкостные промежутки соединяются с тыльными плюсневыми артериями.
76853. Плечеголовные вены 184.63 KB
  Обе плечеголовные вены: правая и левая (vv. brachiocephlicae dextra et sinistra) начинаются при слиянии подключичных и внутренних яремных вен правой и левой стороны на уровне и позади грудино-ключичных суставов, а заканчиваются образованием верхней полой вены на уровне прикрепления к грудине