Управление данными в информационных системах

Автор работы: Пользователь скрыл имя, 13 Января 2013 в 18:33, доклад

Описание работы

Управление данными (англ. data management) — процесс, связанный с накоплением, организацией, запоминанием, обновлением, хранением данных и поиском информации.
К управлению данными относятся
• Анализ данных
• Моделирование данных
• Управление базами данных
• Работа с хранилищами данных
• Извлечение, преобразование и загрузка данных
• Добыча данных
• Обеспечение качества данных
• Защита данных
• Шифрование данных
• Управление метаданными (репозиториями данных)
• Архитектура данных

Файлы: 1 файл

Управление данными в информационных системах3.docx

— 226.79 Кб (Скачать файл)

Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.

Обзор

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

Обычно IDE ориентирована на определённый язык программирования, предоставляя набор функций, который наиболее близко соответствует парадигмам этого языка программирования. Однако, есть некоторые IDE с поддержкой нескольких языков, такие как Eclipse, ActiveState Komodo, последние версии NetBeans, Microsoft Visual Studio, WinDev и Xcode.

IDE обычно представляет  собой единственную программу,  в которой проводилась вся  разработка. Она обычно содержит  много функций для создания, изменения,  компилирования, развертывания и  отладки программного обеспечения.  Цель среды разработки заключается  в том, чтобы абстрагировать  конфигурацию, необходимую, чтобы  объединить утилиты командной  строки в одном модуле, который  позволит уменьшить время, чтобы  изучить язык, и повысить производительность  разработчика. Также считается, что  трудная интеграция задач разработки  может далее повысить производительность. Например, IDE позволяет проанализировать  код и тем самым обеспечить  мгновенную обратную связь и  уведомить о синтаксических ошибках.  В то время как большинство  современных IDE являются графическими, они использовались ещё до того, как появились системы управления окнами (которые реализованы в Microsoft Windows или X11 для *nix-систем). Они были основаны на тексте, используя функциональные клавиши или горячие клавиши, чтобы выполнить различные задачи (например, Turbo Pascal). Использование IDE для разработки программного обеспечения является прямой противоположностью способа, в котором используются несвязанные инструменты, такие как vi (текстовый редактор), GCC (компилятор), и т.п.

 

 

 

 

2.1.6  Управление  данными  в  архитектуре   «клиент-сервер».

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

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

В клиент-серверной системе  функционируют (как минимум) два  приложения - клиент и сервер, делящие  между собой те функции, которые  в файл-серверной архитектуре  целиком выполняет приложение на рабочей станции. Хранением и  непосредственным манипулированием данными  занимается сервер баз данных, в  качестве которого может выступать  Microsoft SQL Server, Oracle, Sybase и т.п..

Формированием пользовательского  интерфейса занимается клиент, для  построения которого можно использовать целый ряд специальных инструментов, а также большинство настольных СУБД. Логика обработки данных может  выполняться как на клиенте, так  и на сервере. Клиент посылает на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти  запросы и передает клиенту результат (разумеется, клиентов может быть много).

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

Надежность

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

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

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

Масштабируемость 

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

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

Безопасность

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

Гибкость 

В приложении, работающем с  данными, можно выделить три логических слоя:

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

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

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

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

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

 

Серверы  баз данных.

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

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

/******************/

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

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

2.1.7  Оперативная  аналитическая   обработка  данных  OLAP.

OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу. Реализации технологии OLAP являются компонентами программных решений класса Business Intelligence[1].

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

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

Например, все клиенты  могут быть сгруппированы по городам  или по регионам страны (Запад, Восток, Север и т. д.), таким образом, 50 городов, 8 регионов и 2 страны составят 3 уровня иерархии с 60 членами. Также клиенты могут быть объединены по отношению к продукции; если существуют 250 продуктов по 20 категориям, 3 группы продукции и 3 производственных подразделения, то количество агрегатов составит 16560. При добавлении измерений в схему количество возможных вариантов быстро достигает десятков миллионов и более.

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

Существуют три  типа OLAP:[2]

  • многомерная OLAP (Multidimensional OLAP — MOLAP);
  • реляционная OLAP (Relational OLAP — ROLAP);
  • гибридная OLAP (Hybrid OLAP — HOLAP).

MOLAP — это классическая форма OLAP, так что её часто называют просто OLAP. Она использует суммирующую БД, специальный вариант процессора пространственных БД и создаёт требуемую пространственную схему данных с сохранением как базовых данных, так и агрегатов. 
ROLAP работает напрямую с реляционным хранилищем, факты и таблицы с измерениями хранятся в реляционных таблицах, и для хранения агрегатов создаются дополнительные реляционные таблицы. 
HOLAP использует реляционные таблицы для хранения базовых данных и многомерные таблицы для агрегатов.

Методы интеллектуального  анализа данных KDD  (Knowledge Discovery  in Databases) и DM (Data Mining).

Data Mining (рус. добыча данных, интеллектуальный анализ данных, глубинный анализ данных) — собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Термин введён Григорием Пятецким-Шапиро в 1989 году[1][2][3].

Английское словосочетание «Data Mining» пока не имеет устоявшегося перевода на русский язык. При передаче на русском языке используются следующие словосочетания[4]: просев информации, добыча данных, извлечение данных, а, также, интеллектуальный анализ данных[5][6][7]. Более полным и точным является словосочетание «обнаружение знаний в базах данных» (knowledge discovering in databases, KDD).

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

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

Постановка задачи

Первоначально задача ставится следующим  образом:

  • имеется достаточно крупная база данных;
  • предполагается, что в базе данных находятся некие «скрытые знания».

Необходимо разработать  методы обнаружения знаний, скрытых  в больших объёмах исходных «сырых»  данных.

Что означает «скрытые знания»? Это должны быть обязательно  знания:

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

Информация о работе Управление данными в информационных системах