1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 10
Текст из файла (страница 10)
Важная особенность СППР на основе ХД состоит в том, что загрузка данных выполняется сравнительно редко, но большими порциями (до нескольких миллионов записей за один раз), поэтому в таких системах обычно не предусматриваются развитые средства обеспечения целостности, восстановления, устранения взаимных блокировок, Это не только существенно облегчает и упрощает сами средства реализации, но и значительно снижает внутренние накладные расходы при доступе к информации и, следовательно, повышает производительность анализа.
В настоящее время существуют два в чем-то конкурирующих, а в чемто взаимодополняющих друг друга подхода к построению хранилищ данных: подход, основанный на использовании многомерной модели БД (Ми!6йгпедяопа! ОЕАР— МОЬАР), и подход, использующий реляционную модель БД (Ке!а11опа! ОЕАР— КОЕАР). Глава 3.
Принципы построения систем, ориентированных на анализ данных 49 Прежде чем рассказать о каждом из них, попытаемся разобраться, какие данные могут находиться в хранилище, и как они могут быть представлены, Чаще всего там содержатся сведения о значении некоторых параметров, характеризующих предметную область в определенные моменты или за определенные промежутки времени. Пусть, например, требуется создать хранилище, накапливающее информацию об изменении социально-экономической обстановки в России.
Эта обстановка характеризуется многими параметрами, в числе которых: объем промышленного производства, индекс потребительских цен и др. Госкомстат России собирает их значения для различных субъектов Российской Федерации помесячно, поквартально или за год, В хранилище должны попадать факты вида: Название параметра в субъекте Российской Федерации в момент времени был равен 1значение1.
Например, индекс потребительских цен в городе Москве в декабре 199б года был равен ! 01О4, В рассматриваемом примере каждое значение связано с точкой в трехмерном пространстве (Ж, Ю, Т) с измерениями: Ж— название параметра; 5 — субъект федерации; Т вЂ” момент времени, Число возможных параметров, субъектов РФ, а также рассматриваемых моментов времени конечно, поэтому все возможные значения можно представить в виде гиперкуба (см. рис. 3.3). В этом гиперкубе каждое значение находится в строго определенной ячейке, что значительно упрощает обращение к ней.
Представленный пример, конечно, упрощен, но он позволяет понять, что такое многомерный взгляд на данные. В реальной задаче число измерений может быть больше трех. Представление данных в виде гиперкуба более наглядно, чем совокупность нормализованных таблиц, оно понятно не только администратору БД, но и рядовым сотрудникам, Это дает им дополнительные возможности построения аналитических запросов к системе, использующей хранилище данных.
Кроме того, использование многомерной модели данных позволяет резко уменьшить время поиска в ХД, обеспечивая выполнение аналитических запросов в реальном времени. Гиперкуб может быть реализован в рамках реляционной модели или существовать как отдельная БД специальной многомерной структуры. В зависимости от этого и принято различать реляционный (Й.01 АР) и многомерный (МОЬАР) подходы к построению ХД. Базы данных, Интеллектуальная обработка инфо12нации врт 1999 Субъект РФ 2 Субъек РФ1 \Ч а.
а и $ В У Параметры Рис. 3.3, Представление данных в виде гилернуба: 1 — значение "Параметра М" для "Субъекта РФ 1" в январе!991 года 3.3. Многомерная модель хранилища Многомерная модель БД появилась довольно давно, однако в силу присущих ей ограничений применение получила лишь в последнее время, При использовании этой модели данные хранятся не в виде плоских таблиц, как в реляционных БД, а в виде гиперкубов — упорядоченных многомерных массивов. То есть многомерное представление данных здесь реализуется физически. Конечно, такой подход требует большего объема памяти для хранения данных, при его использовании сложно модифицировать структуру данных. Например, добавление еще одного измерения приводит к необходимости полной перестройки гиперкуба. Однако многомерные СУБД обеспечи- Глава 3. Принципы поппроения еиетеи, ориентированных на анализ данных 51 вают более быстрый по сравнению с реляционными системами поиск и чтение данных, избавляют от необходимости многократно соединять таблицы.
Среднее время ответа на сложный аналитический запрос при использовании многомерных СУБД обычно в 10-100 раз меньше, чем в случае реляционной СУБД с нормализованной структурой. Основные понятия многомерной модели — измерение и значение (ячейка). Измерение — это множество, образующее одну из граней гиперкуба (аналог домена в реляционной модели). Измерения играют роль индексов, используемых для идентификации конкретных значений в ячейках гиперкуба.
Значения — это подвергаемые анализу количественные или качественные данные, которые находятся в ячейках гиперкуба (см. рис. 3.3). В многомерной модели вводятся следующие основные операции манипулирования измерениями: 1) сечение; 2) вращение; 3) детализация; 4) свертка. При выполнении операции сечения формируется подмножество гиперкуба, в котором значение одного или более измерений фиксировано. Например, если на рис. 3.3 зафиксировать значение измерения "Время" равным "январь 1991 года", то мы получим двухмерную таблицу с информацией о значениях всех параметров для всех субъектов РФ в январе 1991 года, Операция вращения изменяет порядок представления измерений.
Она обычно применяется к двухмерным таблицам, обеспечивая представление их в более удобной для восприятия форме. Если в исходной таблице по горизонтали были расположены субъекты РФ, а по вертикали параметры социально-экономической сферы, то после операции вращения параметры будут размещены по горизонтали, а названия субъектов РФ вЂ” по вертикали. Для выполнения операций свертки и детализации должна существовать иерархия значений измерения, то есть некоторая подчиненность одних значений другим. Например, 12 месяцев образуют год, субъекты РФ образуют регионы. При выполнении операции свертки одно из значений измерения заменяется значением более высокого уровня иерархии.
Например, аналитик, узнав значения параметров для января 1991 года, желает получить их значения за весь 1991 год. Чтобы это сделать, необходимо выполнить операцию свертки. Операция детализации — это операция, обратная свертке. Она обеспечивает переход от обобщенных к детализированным данным. Основное назначение СУБД, поддерживающих многомерную модель, — реализация систем, ориентированных на аналитическую обработку.
Многомерные СУБД лучше других справляются с задачами выполнения сложных нерегламентированных запросов. Однако у многомерных БД имеются серьезные недостатки, сдерживающие их применение. Многомерные СУБД неэффективно по сравнению с реляцион- Базы данных. Интеллектуальная обработка инфорнации ными используют память. В многомерной СУБД заранее резервируется место для всех значений, даже если часть из них заведомо будет отсутствовать. Другой недостаток состоит в том, что выбор высокого уровня детализации при реализации гиперкуба может очень сильно увеличить размер многомерной БД. В силу этих, а также некоторых других причин доступные на рынке многомерные СУБД не в состоянии оперировать данными большого объема. Объем, доступный им для хранения, ограничен! 0 — 20 гигабайт.
Целесообразно использовать многомерную модель, если объем БД невелик и гиперкуб использует стабильный во времени набор измерений. 3.4. Реляционная модель хранилища данных Основой при построении хранилища данных может служить и традиционная реляционная модель данных. В этом случае гиперкуб эмулируется СУБД на логическом уровне. В отличие от многомерных реляционные СУБД способны хранить огромные объемы данных, однако они проигрывают по скорости выполнения аналитических запросов. При использовании РСУБД для организации хранилища данные организуются специальным образом.
Чаще всего используется так называемая радиальная схема. Другое ее название — "звезда" (а1аг). В этой схеме используются два типа таблиц: таблица фактов (фактологическая таблица) и несколько справочных таблиц (таблицы измерений). В таблице факгов обычно содержатся данные, наиболее интенсивно используемые для анализа. Если проводить аналогию с многомерной моделью, то запись фактологической таблицы соответствует ячейке гиперкуба.
В справочной таблице перечислены возможные значения одного из измерений гиперкуба. Каждое измерение описывается своей собственной справочной таблицей. Фактологическая таблица индексируется по сложному ключу, скомпонованному из индивидуальных ключей справочных таблиц. Это обеспечивает связь справочных таблиц с фактологической по ключевым атрибутам. В качестве примера на рис. 3.4 приведена упрощенная схема структуры хранилища данных, используемого для накопления информации из рассмотренного ранее примера (см. рис. 3.3). В реальных системах количество строк в фактологической таблице может составлять десятки и сотни миллионов.
Число справочных таблиц обычно пе превышает двух десятков. Для увеличения производительности анализа в фактологической таблице могут храниться не только детализированные, но и предваритсльно вычисленные агрегированные данные. Если БД включает большое число измерений, можно использовать схему "снежинка" (зпо~йа1се).
В этой схеме атрибуты справочных таблиц могут быть детализированы в дополнительных справочных таблицах (см. рис, 3.5). Глава 3. Принципы построения систем, ориентированных на анализ данных 53 Справочная табпица Рис 3.4. Пример БД с радиально связанными таблицами ~схема звезда): линиями показаны связи между таблицами; ключевые атрибуты тайшц выделены серы ч цветом дамньцс лр д р~„ даниых Рис. 3,5. Пример БД со схемой "снежинка" Базы данных. Интеллектуальная обработка информации Для сокращения времени, требуемого для получения отклика от аналитической системы, можно использовать некоторые специальные средства.
В состав мощных реляционных СУБД обычно входят оптимизаторы запросов. При создании хранилищ данных на основе РСУБД их наличие приобретает особую важность. Оптимизаторы анализируют запрос и определяют лучшую, с позиции некоторого критерия, последовательность операций обращения к БД для его выполнения, Например, может минимизироваться число физических обращений к дискам при выполнении запроса. Оптимизаторы запросов используют сложные алгоритмы статистической обработки, которые оперируют числом записей в таблицах, диапазонами ключей и т.д. 3.5. Комбинация многомерного и реляционного подхода: киоски данных Каждая из описанных моделей имеет как преимущества, так и недостатки.
Многомерная модель позволяет производить быстрый анализ данных, но не позволяет хранить большие объемы информации. Реляционная модель, напротив, практически не имеет ограничений по объему накапливаемых данных, однако СУБД на ее основе не обеспечивают такой скорости выполнения аналитических запросов, как МСУБД.