Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
13.03.2015
Размер:
60.42 Кб
Скачать

Лекция№15 Хранилища данных. Технология OLAP

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

Хранилище данных – предметно-ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений.

Рассмотрим указанные характери­стики данных.

  • Предметная ориентированность. Хранилище данных организовано вокруг основных предметов (или субъектов) организации (например, клиенты, това­ры и продажи), а не вокруг прикладных областей деятельности (выписка счета клиенту, контроль товарных запасов и продажа товаров). Это свойство отражает необходимость хранения данных, предназначенных для поддержки принятия решений, а не обычных оперативно-прикладных данных.

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

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

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

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

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

1 Потенциально высокая отдача от инвестиций.

2 Повышение конкурентоспособности.

3 Повышение эффективности труда лиц, ответственных за принятие решений.

Технология OLAP. Основной вопрос при обработке информации заключается в том, как обрабатывать все более и более крупные базы данных, содержащие данные с постоянно усложняю­щейся структурой, сохранив при этом приемлемое время реакции системы на запрос. Архитектура “клиент/сервер” позволяет организациям устанавливать специализиро­ванные серверы, оптимизированные для решения задач специфического управления данными. Для таких бизнес-приложений, как анализ рынка и финансовое прогнозиро­вание, требуется использовать запросо-центрированные схемы баз данных, которые имеют вид многомерных массивов (ММ). Эти приложения характеризуются необходи­мостью извлекать большое количество записей из очень больших наборов данных и мгновенно вычислять на их основе итоговые значения. Предоставление поддержки для таких приложений является основным назначением всех OLAP-инструментов.

Оперативная аналитическая обработка (OLAP) – это динамический синтез, анализ и консолидация больших объемов многомерных данных.

Термин “OLAP” определяет архитектуру, которая поддерживает сложные аналитические приложения. Большинство OLAP- приложений создается на основе специализированных многомерных СУБД или ММ СУБД с ограниченным набором данных и настраиваемым пользовательским интерфейсом приложений. OLAP-архитектура предусматривает определенные уровни с четким разделением функций между приложением и СУБД. На основе этого разделения появилось новое поколение OLAP-инструментов, предос­тавляющих такие возможности, которые позволяют обычным СУБД конкурировать со специализированными технологиями ММ СУБД.

Рассмотрим нескольких альтернативных вариантов представления многомерных данных. Например, как лучше всего пред­ставить запрос типа: “Каким был общий доход от продаж объектов не­движимости в каждом городе в каждом квартале 1997 года?”. Соответствующие дан­ные можно разместить в двумерной матрице с раз­мерностями Город и Время.

Если пользователь попробует составить запрос типа: “Каким был суммарный годовой доход для каждого города?” или “Каким был средний доход для каждого города?”, то для получения ответа потребуется извлечь большое количество значений и выполнить их обобщение.

И более ес­тественно было бы разместить их в трехмерном кубе, смотрите рисунок 14. В нем данные представлены в виде ячеек некоторого массива, где каждое значение дохода связано с размерностями Тип объекта, Город и Время. Отметим, что таблица в реляционной СУБД может представлять многомерные данные только в двух измерениях.

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

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

Рисунок 14 - Представление многомерных данных

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

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

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

  • Нисходящий анализ. Операция, обратная консолидации, ко­торая включает отображение подробных сведений для рассматриваемых консолидированных данных.

  • Разбиение с поворотом. Эта операция (которая также называется созданием сводной таблицы) позволяет получить представление данных с разных точек зрения. Разбиение с поворотом часто выполняется вдоль оси времени – с целью анализа тен­денций и поиска закономерностей.

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

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

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

Сравнение OLTP-систем и хранилищ данных

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

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

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

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

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

Основная литература: 1[944-1000]

Контрольные вопросы:

1. Что такое хранилище данных?

2. В чем заключается технология OLAP?

3. Произведите сравнение OLTP-систем и хранилищ данных.

Соседние файлы в папке Новые лекции