Тема 5. Корпоративные базы данных
1. Корпоративные базы данных. Основные требования к базам данных в рамках корпоративных информационных систем.
2. Масштабируемость и другие характеристики корпоративных баз данных. Хранилища данных.
3. СУБД и структурные решения в корпоративных системах.
4. Технологии Internet/Intranet и корпоративные решения по доступу к базам данных.
5.1 Корпоративные базы данных. Основные требования к базам данных в рамках корпоративных информационных систем.
Основная цель системы управления базами данных (далее — просто СУБД) заключается в том, чтобы предложить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления ими. Следовательно, отправной точкой при проектировании базы данных должно быть абстрактное и общее описание информационных потребностей организации, которые должны найти свое отражение в создаваемой базе данных.
Более того, поскольку база данных является общим ресурсом, то каждому пользователю может потребоваться свое, отличное от других представление о характеристиках информации, сохраняемой в базе данных. Для удовлетворения этих потребностей архитектура большинства современных коммерческих СУБД в той или иной степени строится на базе так называемой архитектуры ANSI/SPARC.
В 1975 году Комитетом планирования стандартов и норм SPARC (Standards Planning and Requirements Committee) Национального института стандартизации США (American National Standard Institute — ANSI) бала предложена 3-х уровневая архитектура корпоративной базы данных, которая охватывает внешний, концептуальный и внутренний уровни.
Уровень, на котором данные воспринимаются пользователями, называется внешним уровнем (external level), тогда как СУБД и операционная система воспринимают данные на внутреннем уровне (internal level). (Физическое представление базы данных в компьютере. Этот уровень описывает, как информация хранится в базе данных).
Концептуальный уровень (conceptual level) представления данных предназначен для отображения внешнего уровня на внутренний и обеспечения необходимой независимости их друг от друга. Концептуальный уровень: обобщающее представление базы данных. Этот уровень описывает то, какие данные хранятся в базе данных, а также связи, существующие между ними.
Цель трехуровневой архитектуры заключается в отделении пользовательского представления базы данных от ее физического представления. Ниже перечислено несколько причин, по которым желательно выполнить такое разделение.
Каждый пользователь должен иметь возможность обращаться к одним и тем же данным, реализуя свое собственное представление о них. Каждый пользователь должен иметь возможность изменять свое представление о данных, причем это изменение не должно оказывать влияния на других пользователей.
Пользователи не должны непосредственно иметь дело с такими подробностями физического хранения данных в базе, как индексирование и хеширование. Иначе говоря, взаимодействие пользователя с базой не должно зависеть от особенностей хранения в ней данных.
Администратор базы данных (АБД) должен иметь возможность изменять структуру хранения данных в базе, не оказывая влияния на пользовательские представления.
Внутренняя структура базы данных не должна зависеть от таких изменений физических аспектов хранения информации, как переключение на новое устройство хранения.
АБД должен иметь возможность изменять концептуальную структуру базы данных без какого-либо влияния на всех пользователей.
Основным назначением трехуровневой архитектуры является обеспечение независимости от данных, которая означает, что изменения на нижних уровнях не влияют на верхние уровни. Различают два типа независимости от данных: логическую и физическую.
Логическая независимость от данных означает полную защищенность внешних схем от изменений, вносимых в концептуальную схему.
Физическая независимость от данных означает защищенность концептуальной схемы от изменений, вносимых во внутреннюю схему.
5.2 Масштабируемость и другие характеристики корпоративных баз данных. Хранилища данных.
Отмечалось, что системы управления базами данных применяются во всех отраслях промышленности, причем доминирующим типом систем являются реляционные СУБД. Эти системы проектировались для управления большим потоком транзакций, каждая из которых сопровождалась внесением небольших изменений в оперативные данные предприятия, т.е. в данные, которые предприятие обрабатывало в процессе своей повседневной деятельности. Системы подобного типа называются системами оперативной обработки транзакций, или системами OLTP (On-Line Transaction Processing). Размер баз данных для систем OLTP может изменяться от совсем небольшого, всего в несколько мегабайтов, до среднего, порядка нескольких гигабайтов, и дальше, вплоть до очень большого, на уровне нескольких терабайтов или даже петабайтов. СУБД должна одинаково эффективно управлять базой данных независимо от ее объема. Эта ее характеристика называется масштабируемостью.
Широко известные методы проектирования баз данных (БД) появились в процессе разработки все более сложных Информационных Систем (ИС), которые должны были рассматривать потребности не одного пользователя, но больших групп и коллективов. Одна такая интегрированная БД создавалась для решения многих задач, каждая из которых использовала только "свою" часть данных, обычно, пересекающуюся с частями, используемыми в других задачах. Сформировалось понимание интегрированной БД как общего информационного ресурса предприятия. Хранимые данные стали аналогичны большому компьютеру, который одновременно используется многими пользователями с различными целями и должен быть все время работоспособен.
Переносимость БД. База данных может быть реализована на платформах разных типов компьютеров, операционных систем, СУБД и даже моделей данных, и, при необходимости, переноситься с одной платформы на другую.
Возможность переносимости баз данных позволяет подключать базы данных на любой сервер одной организации. Переносимость баз данных реализуется по следующим причинам:
Повышенная надежность благодаря устранению ручных этапов в процедурах аварийного восстановления, которые отличаются высокой вероятностью возникновения ошибки.
В сценарии утраченного кластеризованного сервера требуется выполнить аварийное восстановление этого сервера, чтобы клиентские компьютеры могли получить доступ к базам данных, расположенным на этом сервере.
Данные в базах данных корпоративной информационной системы не должны зависеть от сервера, поэтому доступ к ним также не должен быть зависимым от сервера.
Переносимость баз данных сокращает срок полного аварийного восстановления в различных сценариях аварийного восстановления.
Хранилища данных. Начиная с 1970-х годов организации были более заинтересованы во вложении своих средств в новые компьютерные системы, чем в автоматизацию используемых ими деловых процессов. Это позволяло им повысить свою конкурентоспособность за счет развертывания систем, которые могли предоставить клиентам более эффективный и менее дорогостоящий набор услуг. С тех пор организации накопили огромное количество информации, которая хранится в их оперативных базах данных. И теперь, в связи с широким распространением систем поддержки принятия решений, организации стремятся сконцентрировать свое основное внимание на способах использования накопленных оперативных данных в этих системах, имея целью получить за счет этого дополнительный рост своей конкурентоспособности.
Лицам, ответственным за принятие корпоративных решений, необходимо иметь доступ ко всем данным организации независимо от их расположения. Для выполнения полного анализа деятельности организации, определения ее деловых показателей, выяснения характеристик существующего спроса и тенденций его изменения необходимо иметь доступ не только к текущим данным, но и к ранее накопленным (историческим) данным.
Прежние системы оперативной обработки проектировались без учета какой-либо поддержки подобных деловых требований, поэтому преобразование обычных систем OLTP в системы поддержки принятия решений оказалось чрезвычайно сложной задачей.
Как правило, типичная организация имеет множество различных систем операционной обработки с перекрывающимися, а иногда и противоречивыми определениями, например с разными типами, выбранными для представления одних и тех же данных. Основной задачей организации является преобразование накопленных архивов данных в источник новых знаний, причем таким образом, чтобы пользователю было предоставлено единое интегрированное и консолидированное представление о данных организации.
Для решения этой хадачи была разработана концепция хранилища данных (data WareHouse). Концепция хранилища данных была задумана как технология, способная удовлетворить требования систем поддержки принятия решений, и базирующаяся на информации, поступающей из нескольких различных источников оперативных данных, функционирующих под управлением разных операционных модулей, Кроме того, в хранилище данных содержатся также различные накопительные и сводные данные.
Концепция хранилища данных базируется на усовершенствованной технологии баз данных и предусматривает специальные средства управления процессом хранения информации.
Однако лицам, ответственным за принятие корпоративных решений, необходимо иметь мощные инструменты анализа накопленных данных. Основными средствами анализа в последние годы стали инструменты оперативной аналитической обработки (On-Line Analytical Processing — OLAP) и инструменты разработки данных (data mining).
Хранилище данных ─ это предметно-ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений.
В приведенном выше определении указанные характеристики данных рассматриваются следующим образом.
• Предметная ориентированность. Хранилище данных организовано вокруг основных предметов (или субъектов) организации (например, клиенты, товары и сбыт), а не вокруг прикладных областей деятельности (выставление счета клиенту, контроль запасов и продажа товаров). Это свойство отражает необходимость хранения данных, предназначенных для поддержки принятия решений, а не обычных оперативно-прикладных данных.
• Интегрированность. Смысл этой характеристики состоит в том, что оперативно-прикладные данные обычно поступают из разных источников, которые часто имеют несогласованное представление одних и тех же данных, например используют разный формат. Для предоставления пользователю единого обобщенного представления данных необходимо создать интегрированный источник, обеспечивающий согласованность хранимой информации.
• Привязка ко времени. Данные в хранилище точны и действительны только в том случае, если они привязаны к некоторому моменту или промежутку времени. Необходимость привязки хранилища данных ко времени следует из большой длительности того периода, за который была накоплена сохраняемая в нем информация, из явной или неявной связи временных отметок со всеми сохраняемыми данными, а также из того факта, что хранимая информация фактически представляет собой набор снимков состояния данных.
• Неизменяемость. Это означает, что данные не обновляются в оперативном режиме, а лишь регулярно пополняются за счет информации из оперативных систем обработки. При этом новые данные никогда не заменяют, а лишь дополняют прежние. Таким образом, база данных хранилища постоянно пополняется новыми данными, последовательно интегрируемыми с уже накопленной информацией.
В последние годы тематика хранилищ данных обогатилась новым термином — сетевое хранилище данных. Сетевое хранилище данных – распределенное хранилище данных, реализованное в среде Web и не имеющее центрального репозитория данных.
Преимущества технологии хранилищ данных:
Потенциально высокая отдача от инвестиций
Повышение конкурентоспособности
Повышение эффективности труда лиц, ответственных за принятие решений
5.3 СУБД и структурные решения в корпоративных системах.
Попытаемся выделить основные характеристики классической корпорации. В целом они типичны для представителя семейства больших организаций и предприятий и представляют для нас интерес именно в этом качестве.
* Масштабы и распределенная структура. В состав корпорации может входить множество предприятий и организаций, расположенных по всей территории страны, а также за ее пределами.
* Широкий спектр подотраслей и направлений деятельности, подлежащих автоматизации. В рамках создания информационной системы корпорации планируется автоматизировать целые направления ее деятельности, в том числе, бухгалтерский учет, управление финансами, капитальное строительство и управление проектами, материально-техническое снабжение, управление производством и персоналом, внешнеэкономические связи и ряд других направлений.
* Организационно-управленческая структура корпорации. Предприятия и организации в составе корпорации обладают определенной самостоятельностью в выработке и проведении технической политики собственной автоматизации.
* Разнообразие парка вычислительных средств, сетевого оборудования и, в особенности, базового программного обеспечения.
* В корпорации эксплуатируется большое количество разнообразных приложений специального назначения, созданных на базе различного базового программного обеспечения.
Мы указали только основные черты индустриальной корпорации, хотя существует множество других, менее значимых характеристик, которые мы рассматривать не будем.
Эволюция информационных систем прошла путь длиной более чем в 40 лет. С развитием компьютерной техники, программных средств, методов управления информацией менялся и смысл, вкладываемый в это понятие - теперь уже никто не назовет электронную таблицу с калькулятором таким громким именем, как информационная система. Современные информационные системы являются сложными интегрированными комплексами, которые включают в себя модули, отвечающие практически за все механизмы работы современного предприятия. Информационная система - это набор механизмов, методов и алгоритмов, направленных на поддержку жизненного цикла информации и включающих три основных процесса: обработку данных, управление информацией и управление знаниями.
С точки зрения программных технологий, информационная система ─ это не один, и даже не несколько программных комплексов.
Самым нижним уровнем информационной системы является хранилище, в котором содержится вся интеллектуальная собственность предприятия. Это могут быть документы, справочники, структурные таблицы, деловые правила, описание процессов. Прямого доступа к хранилищу быть не должно, как для пользователей, так и для различных систем предприятия. Прямой доступ имеет лишь система управления знаниями, которая служит своего рода шлюзом для остальных систем и формирует информационное окружение предприятия. Система управления знаниями объединяет идеи, знания, содержание документов и деловые правила, автоматизируя процессы, базирующиеся на знаниях, как внутри предприятия, так и между разными организациями. Для этого нужен шлюз, позволяющий производить обмен данными с внешними системами. Это необходимое условие, так как современные процессы направлены на объединение предприятий в крупные концерны и очевидно, что передача знаний очень важна. Например, системы планирования ресурсов предприятия ERP (Enterprise Resource Planning – планирование ресурсов предприятия) не могут работать независимо - процессы, связанные с управлением финансами, складами, человеческими ресурсами, используют уже накопленные знания и приносят новые.
Также важно выделить класс систем анализа и принятия решений DSS (Decision Support System - система поддержки принятия решений), без которого жизненный цикл информации не будет завершен. В современных организациях интеллектуальный анализ данных становится все более важной задачей. Связано это с необходимостью аналитической обработки больших объемов информации, накопившейся в хранилищах. Такие системы помогают найти новые знания, выявить недостатки и слабые места информационной системы, оценить эффективность тех или иных процессов, установить новые информационные взаимосвязи.
Очень часто говорят, что такой класс систем должен работать непосредственно с хранилищем, поскольку обработке подлежат содержащиеся в нем данные. Теоретически это верно, но на практике такое невозможно - любые изменения в содержимом хранилища, процессах, правилах и взаимосвязях могут и должны производиться системой управления знаниями. Тогда DSS - системам не придется задумываться над тем, в каком формате хранятся данные, и главное, что любое изменение информации будет немедленно влиять на взаимосвязи и процессы, в которых она принимает участие.
Информационные системы, представляющие собой набор интегрированных приложений, которые комплексно, в едином информационном пространстве поддерживают все основные аспекты управленческой деятельности предприятий - планирование ресурсов (финансовых, человеческих, материальных) для производства товаров (услуг), оперативное управление выполнением планов (включая снабжение, сбыт, ведение договоров), все виды учета, анализ результатов хозяйственной деятельности, называются корпоративными информационными системами (КИС).
К КИС или, как их еще называют, к корпоративным управленческим системам EAS (Enterprise Application Suite – набор приложений масштаба предприятия) относятся системы стандартов MPS, MPR , MPR II, ERP, ERP II и CSRP.
5.4 Технологии Internet/Intranet и корпоративные решения по доступу к базам данных.
Под Intranet понимают внутреннюю сеть организации, реализованную с использованием Internet-технологий, в частности, Web-технологий. То есть, Intranet ─ это Web-узел или группа Web-узлов, принадлежащих одной организации и доступных только ее членам. В Intranet выделяют так называемую внешнюю сеть(ExtraNet). По сравнению с внутренней сетью, которая находится за брандмауэром и доступна только членам данной организации, внешняя сеть обеспечивает различные уровни доступа и для внешних пользователей. Доступ к внешней сети обычно возможен только при условии правильного ввода учетного имени и пароля пользователя; доступ к тем или иным ресурсам внешней сети предоставляется с учетом того, к какой категории относится данный пользователь. В настоящее время внешние сети стали весьма популярным средством обмена данными между деловыми партнерами.
Изначально технология Internet/Intranet/WWW предназначалась для облегчения доступа к информации и публикации документов. Программа-клиент (браузер) выполняет функции интерфейса пользователя и обеспечивает доступ практически ко всем информационным ресурсам Internet/Intranet посредством HTTP-сервиса. База данных гипертекста - это часть файловой системы, которая содержит текстовые файлы в формате HTML и связанные с ними графику и другие ресурсы. Фактически, браузер является интерпретатором HTML-текста. И как типичный интерпретатор клиент в зависимости от команд разметки выполняет различные функции. В круг этих функций входит не только размещение текста на экране, но и обмен информацией с сервером по мере анализа полученного HTML-текста, что наиболее наглядно происходит при отображении встроенных графических образов. При анализе URL-спецификаций или по командам сервера клиент запускает дополнительные help-программы для работы с документами в форматах, отличных от HTML, например, GIF, JPEG, MPEG, Postscript и т.п. Кроме того, в гипертекст может быть встроен текст сценария на JavaScipt, VBScript и др., который расширяет логику диалога и обеспечивает простую прикладную обработку. Браузер вызывает соответствующий интерпретатор для исполнения сценария.
Первоначально сеть Internet была "улицей с односторонним движением" - информация с Web-страниц поступала к пользователю от Web-сервера при наличии запроса. С появлением в языке HTML диалоговых свойств пользователь получил обратную связь с Web-сервером. Для обеспечения специальной обработки (поиска, карт изображений, анкетных листов, включений и т.п.) на Web-сервере может быть запущена серверная программа, которая обменивается параметрами с браузером. Обмен параметров при этом осуществляется через интерфейс CGI (CommonGatewayInterface). В последнее время все большее распространение получает механизм согласования запускаемых программ через MIME-типы.
Наличие диалоговых свойств в HTML и интерфейса CGI позволяет строить Intranet-приложения с доступом к БД . Наиболее распространена схема динамической публикации отчетов. При этом в качестве CGI-процедуры используется параметризуемый генератор отчетов. Однако это не единственная схема, возможно применять программы ввода информации в БД. Для контроля вводимых данных лучше применять сценарии на клиентской стороне, а не серверные процедуры. В последнем случае замедляется реакция, и диагностика ошибок носит отложенный пакетный характер.
Если используются традиционные статичные страницы гипертекста, то в ответ на запрос клиента Web-сервер передает страницу в формате HTML. Однако при работе Intranet-приложения с базой данных адрес URL указывает не на страницу гипертекста, а на серверную программу или сценарий. Серверная процедура получает введенные пользователем данные, формирует и передает SQL-запрос (определяющий логику управления данными) и, возможно, данные к СУБД. Сервер БД по запросу выполняет обновление, вставку, удаление или выборку записей из БД. CGI-процедура полученные результаты преобразует в формат HTML или в формат диалоговых переменных. Затем Web-сервер посылает полученную HTML-cтраницу или значения диалоговых переменных браузеру для отображения. Так как этот процесс основан на технологии Web, клиентской платформой может стать любой компьютер, на котором исполняется Web-браузер, а серверной платформой - любая ЭВМ под управлением Web-сервера.
Использование CGI-процедур имеет ряд недостатков - статичное представление информации, преобразование результата-отчета в HTML-файл, отсутствие динамического просмотра изменения информации в базе данных, процедура "не помнит состояний запросов" - каждое обращение к БД требует повторного установления соединения. Кроме того, такой принцип работы перегружает коммуникационную среду.
Рассмотренная схема по существу является трехзвенной архитектурой клиент-сервер, где Web-сервер выступает в качестве сервера приложений.
|