OLAP-серверы, или серверы многомерных БД, могут хранить свои многомерные данные по-разному. Дело в том, что в любом ХД наряду с детальными данными, извлекаемыми из оперативных систем, хранятся и суммарные (агрегированные) показатели (агрегаты), такие, как суммы объемов продаж по месяцам, по категориям товаров и т. п. Агрегаты хранятся в явном виде, чтобы ускорить выполнение запросов, так как аналитиков в большинстве случаев интересуют не детальные, а обобщенные данные. К тому, если каждый раз для вычисления суммы продаж за год пришлось бы суммировать десятки и сотни тысяч продаж, то скорость была бы абсолютно неприемлемой. Хотя при этом за скорость приходится «расплачиваться» объемом данных.
Как детальные данные, так и агрегаты могут храниться либо в реляционных, либо в многомерных структурах. Многомерное хранение позволяет обращаться с данными как с многомерным массивом, благодаря чему обеспечиваются одинаково быстрые вычисления агрегатов и различные многомерные преобразования по любому из измерений.
При хранении данных в многомерных структурах возникает потенциальная проблема «разбухания» за счет хранения пустых значений. Ведь если в многомерном массиве зарезервировано место под все возможные комбинации меток измерений, а реально заполнена лишь малая часть (например, ряд продуктов продается только в небольшом числе регионов), то большая часть куба будет пустовать, хотя место будет занято.
5.2 Поставщики
Прежде всего отметим принципиальные отличия OLAP-систем. Это программное обеспечение, предоставляющее пользователю возможность в режиме реального времени получать ответы на произвольные аналитические запросы. К классу OLAP-систем относят только те программы, которые в качестве внешнего интерфейса предоставляют пользователю многомерную изменяемую таблицу. Эта таблица позволяет пользователю менять местами столбцы и строки, задавать условия фильтрации и при этом она автоматически вычисляет промежуточные итоги в группах данных и окончательные итоги. Неотъемлемой частью OLAP-анализа является графическое отображение данных.
Программная реализация OLAP-решения предполагает наличие машины вычислений (OLAP-сервера) и многомерной базы данных (MO-LAP), к которой обращаются клиентские программы с запросами на получение данных и выполнение вычислений. Любое конечное решение содержит OLAP-компоненту, которая является интерфейсом пользователя. Эти компоненты похожи друг на друга. Их визуальная часть состоит из элементов управления и элементов отображения данных.
Среди поставщиков этого класса программного обеспечения - прежде всего, известные поставщики серверов баз данных. К их числу относятся Oracle (со своим OLAP-продуктом Express), IBM(DB2 OLAPServer), Microsoft(OLAPServices), Informix(MetaCube).
Кроме того, достаточно интересны и решения известных игроков смежных рынков - SASInstitute(MDDBи CFOCFOVision), SAP(BW), HyperionSolutions(Essbase), CA(InfoBeacon).
Еще недавно поставщики OLAP-серверов продавали свои продукты по очень высоким ценам. Например, приобретение OracleExpress обошлось бы в $95000 за рабочие места двух аналитиков и двух администраторов. Поэтому многие управленцы для решения таких аналитических задач использовали всем известное приложение Excel из состава офисного пакета от Microsoft. Хотя эта популярная программа годится только для одного пользователя, тем не менее, при правильной организации работы и интеграции с внешними приложениями можно достичь хороших результатов в получении «аналитики». По сути, появление OLAP-функциональности ознаменовало появление особого класса продуктов - настольных OLAP (DOLAP - DesktopOLAP).
По способу получения данных такие программы можно разделить на локальные и корпоративные:
- локальные манипулируют данными таблиц MSExcel или настольных СУБД, например Access, Paradox;
- корпоративные DOLAP имеют доступ к SQL-серверам или многомерным базам данных и, в свою очередь тоже делятся на две категории.
DOLAP-программы поставляются самими разработчиками баз данных, многомерных и реляционных. ЭтоSAS Corporate Reporter, Oracle Discovery,комплекспрограммMS Pivot ServicesиPivot Tableидругие. Имеются и разработки российских компаний, например Контур Стандарт от IntersoftLab или разработка компании ПиБи - OLAP 7.7 -инструмент оперативного анализа данных для семейства программ 1С:Предприятие 7.7. Так, применение OLAP 7.7 позволяет выявлять наилучших или наихудших поставщиков и покупателей, определять закономерности объемов продаж по периодам и регионам, применять его для выявления «узких» мест ведения бизнеса и учитывать это при принятии управленческих решений.
Достаточно интересные продукты предлагает компания IntersoftLab (www.iso.ru).
Продукты Контурпредставлены:
- Платформой Хранилищ данных (ContourDataWarehousePlatform), предназначенной для создания единого информационного пространства и поддержки корпоративного управления;
- Аналитической платформой (ContourAnalysisPlatform), предназначенной для бизнес-анализа и публикации данных.
Также необходимо упомянуть и о пакете Deductor(www.basegr-oup.ru), который обеспечивает моделирование, прогнозирование, поиск закономерностей и другие технологии обнаружения знаний (KnowledgeDiscoveryinDatabases) и добычи данных (DataMining). В его состав входят:
- CubeAnalyzer- настольный OLAP-модуль, реализующий технологию многомерного анализа в простой и удобной форме;
- RawDataAnalyzer - система, ориентированная на предварительную обработку данных для последующего их анализа. Технологии, реализованные в RawDataAnalyzer, позволяют провести весь комплекс действий - сглаживание, очистка от шумов, редактирование аномальных значений, заполнение пропусков, устранение незначащих факторов, понижение размерности;
- TreeAnalyzer - программа, позволяющая проводить анализ данных на основе деревьев решений;
- SOMapAnalyzer- программа, позволяющая проводить анализ данных на основе самоорганизующихся карт Кохонена;
- NeuralAnalyzer- программа, реализующая многослойные нейронные и RBF-сети. При помощи них решаются задачи прогнозирования, моделирования и управления динамическими системами.
6 Несколько советов по повышению производительности OLAP-кубов
1.Для достижения максимальной производительности следует правильно выбрать режим хранения - MOLAP, HOLAP, или ROLAP. Производительность при использовании MOLAP или HOLAP примерно одинакова, а применение ROLAP в любом случае ее понизит. MOLAP требует больших объемов дискового пространства, чем HOLAP и ROLAP, хотя для HOLAP необходимо меньше оперативной памяти.
2. Выбирая уровень агрегирования для кубов, не рекомендуется выходить за интервал от 25 % до 60 %. Уровни агрегирования выше 60 %, как правило, требуют огромных объемов дискового пространства и в большинстве случаев не приводят к существенному увеличению скорости обработки запросов.
3. Для достижения наивысшей производительности SQL-сервер с хранилищем или витриной данных и OLAP-сервер должны быть на разных компьютерах.
4. Если OLAP-кубы очень большие по размеру или часто используются, то их желательно разместить их на отдельных серверах, тем самым распределив нагрузку. Для наиболее часто используемого куба можно создать его копии на нескольких серверах.
5. Обновление информации в кубах желательно выполнять в периоды наименьшей загрузки сервера.
6. По умолчанию объем памяти, используемый OLAP-сервером, равен половине объема оперативной памяти сервера. Если сервер используется для обработки одного из нескольких кубов, то значение минимально доступной памяти должно составлять 90% памяти сервера.
7. Помните, что максимальное количество обрабатываемых OLAPService нитей (процессов) равно 1000. Исходя из этого, с помощью монитора производительности можно определить нагрузку процессоров.
8. Проводите качественные анализ и проектирование систем. Это позволит при разработке OLAP-кубов не включать в них меры или измерения, которые не будут использоваться.
9. При создании OLAP-куб, используйте мастер анализа, чтобы проанализировать обрабатываемые запросы, и мастер оптимизации, чтобы повысить производительность.
10. В случае корпоративной версии SQL-сервера для повышения производительности OLAP-кубы можно поделить на партиции (отдельно управляемые элементы хранения). Каждая партиция может иметь свой режим хранения данных и уровень агрегирования. Использование партиций позволяет размещать их на разных дисках и повысить интенсивность их использования.
11. Чтобы уменьшить время обработки куба, необходимо отключить опцию оптимизации схемы, тем самым уменьшив количество ненужных связей и значительно снизив время обработки куба.
Вывод
В процессе выполнения контрольной работы мы ознакомились с важной терминологией вечного хранения данных и понятием данного термина, с базой данных и хранилищами данных, с простейшими аспектами хранения данных и структурой хранения данных, а так же привели несколько советов относительно повышения производительности OLAP-кубов и др.
Литература
1. Антонов А.В. Системный анализ. Методология. Построение модели: Учеб. пособие. — Обникс: ИАТЭ, 2001. — 272 с.
2. Богданов А.А. Тетология: В 3 т. — М., 1905—1924.
3. Венда В.Ф. Системы гибридного интеллекта: эволюция, психология, информатика. — М.: Машиностроение, 1990. — 448 с.
4. Волова В.Н. Основы теории систем и системного анализа/В.Н. Волова, А.А. Денисов. — СПб.: СПбГТУ, 1997. — 510 с.
5. Волова В.Н. Методы формализованного представления систем/ В.Н. Волова, А.А. Денисов, Ф.Е. Темнигов. — СПб.:СПбГТУ, 1993. — 108 с.
6. Гасаров Д.В. Интеллетальные информационные системы. —М.: Высш. ш., 2003. — 431 с.
7. Гелшов В.М. Введение в АСУ. — Киев: Техника, 1974.
8. Дегтярев Ю.И. Системный анализ и исследования операций. — М.: Высш. ш., 1996. — 335 с.
9. Корячов В.П. Теоретичесие основы САПР: Учеб. для взов/В.П. Корячо, В.М. Крейчи, И.П. Норенов. — М.: Энергоатомиздат, 1987. — 400 с.
10. Мамионов А.Г. Основы построения АСУ: Учеб. для взов. — М.: Высш. ш., 1981. — 248 с.
11. Меньов А.В. Теоретичесие основы автоматизированного управления: Учеб. пособие. — М.: МГУП, 2002. — 176 с.
12. Острейовский В.А. Автоматизированные информационные системы в экономике: Учеб. пособие. — Ср т: СрГУ, 2000. — 165 с.
13. Острейовский В.А. Современные информационные технологии экономистам: Учеб. пособие. Ч. 1. Введение в автоматизированные информационные технологии. — Ср т:СрГУ, 2000. — 72 с.
14. Автоматизированные информационные технологии в экономике/Под ред. проф. Г.А. Титоренко. — М.: Компьютер, ЮНИТИ, 1998.— 400 с.
15. Автоматизированные информационные технологии в банковской деятельности / Под ред. проф. Г.А. Титоренко. — М.: Финстатинформ, 1997.
16. АСУ на промышленном предприятии: Методы создания: Справочник / С.Б. Михалев, Р.С. Седенов, А.С. Гринбер и др. — М.: Энергоатомиздат, 1989. — 400 с.