Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Многомерные кубы, OLAP и MDX

SQL
OLAP Довольно давно являюсь обитателем Хабра, но так и не доводилось читать статьи на тему многомерных кубов, OLAP и MDX, хотя тема очень интересная и с каждым днем становится все более актуальной.
Не секрет, что за тот небольшой промежуток времени развития баз данных, электронного учета и онлайн систем, самих данных накопилось очень много. Теперь же интерес также представляет полноценный анализ архивов, а возможно и попытка прогнозирования ситуаций для подобных моделей в будущем.
С другой стороны, большие компании даже за несколько лет, месяцев или даже недель могут накапливать настолько большие массивы данных, что даже их элементарный анализ требует неординарных подходов и жестких аппаратных требований. Такими могут быть системы обработки банковских транзакций, биржевые агенты, телефонные операторы и т.д.
Думаю, всем хорошо известны 2 разных подхода построения дизайна баз данных: OLTP и OLAP. Первый подход (Online Transaction Processing — обработка транзакций в реальном времени) рассчитан на эффективный сбор данных в реальном времени, второй же (Online Analytical Processing – аналитическая обработка в реальном времени) нацелен именно на выборку и обработку данных максимально эффективным способом.

Давайте рассмотрим основные возможности современных OLAP кубов, и какие задачи они решают (за основу взяты Analysis Services 2005/2008):
  • быстрый доступ к данным
  • преагрегация
  • иерархии
  • работа с временем
  • язык доступа к многомерным данным
  • KPI (Key Performance Indicators)
  • дата майнинг
  • многоуровневое кэширование
  • поддержка мультиязычности

Читать дальше →
Всего голосов 62: ↑59 и ↓3+56
Просмотры106K
Комментарии 34

olap для маленькой компании

SQL
В посте Многомерные кубы, OLAP и MDX Vitko написал: «тема очень интересная и с каждым днем становится все более актуальной». К сожалению, это заклинание произносится уже очень давно (по крайней мере я его слышу с 2004 года ), но olap проектов до сих пор очень мало. Возможно, потому что традиционно считается, что всё, что связанно с olap нужно только для крупных компаний с большими объемами накопленных данных и стоит очень дорого. Но это не совсем так. Я хочу рассказать о проекте, который внедрен в одной относительно небольшой компании.
Читать дальше →
Всего голосов 71: ↑69 и ↓2+67
Просмотры47K
Комментарии 60

Создаем OLAP куб. Часть 1

SQL
OLAP

Продолжая тематику Многомерные кубы, OLAP и MDX и olap для маленькой компании, традиционно, предлагаю начать с простенького «Hello World» куба, который будет анализировать процессы и тенденции голосований на Хабре.

Итак, давайте попробуем создать свою первую OLAP систему.
Но, прежде чем, потирая руки, запускать Business Intelligence Studio, предлагаю вначале создать хранилище данных хабра-голосов, так называемый Data Warehouse.
Зачем? Причин в этом несколько:
  • сама суть Data Warehouse-а хранить «очищенные» данные, готовые для анализа, поэтому даже его изначальная структура может сильно отличаться от структуры нашей хабра-OLTP базы данных
  • в HabraDW (так мы его назовем) мы вынесем только ту информацию, которая нам нужна будет для анализа, ничего лишнего
  • к Data Warehouse не накладываются требования нормализации. Даже наоборот, денормализировав некоторые данные можно добиться более понятной схемы для построения куба, а также скорости загрузки данных в куб
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Просмотры143K
Комментарии 21

Создаем OLAP куб. Часть 2

SQL
OLAP

Итак, продолжаем создавать куб.
Напомню, что в предыдущей статье, мы создавали Data Warehouse для хранения голосов хабра-пользователей за хабра-топики. Для тех, кто хочет начать сразу создавать куб, я выложил скрипт, который создает и наполняет хранилище (на моей машине скрипт занял 10 минут и нагенерил 1866268 хабра-голосов).
Для того, чтобы создать OLAP куб, нам понадобится:
  • SQL Server, на котором хранится наш HabraDW (подойдет любой);
  • Microsoft SQL Server, с запущенными Analysis Services (2005/2008);
  • Business Intelligence Studio, которая входит в пакет клиентских приложений для Microsoft SQL Server-а, и интегрируется с Visual Studio, если она у вас установлена (2005/2008);
Читать дальше →
Всего голосов 56: ↑48 и ↓8+40
Просмотры61K
Комментарии 34

«Достаем» OLAP куб (ADOMD.NET)

SQL
adomd
Итак, продолжаем осваивать внутренности OLAP кубов (предыдущие статьи на эту тему: 1, 2, 3). На повестке дня актуальный вопрос: «А как можно достать OLAP куб программно?». Понимаю – теория-теорией, но если данные нельзя (или очень сложно) получать из кода, то грош цена таким технологиям. К счастью, здесь все очень просто – знаете ADO.NET? Ну, так это то же самое, только называется ADOMD.NET.
Как же так, скажите вы – еще одна библиотека, которую нужно изучать?! Вообщем-то, можно конечно и через OLEDB «доставать» куб (как-нибудь напишу, как это делать), но тогда теряется вся специфика многомерности, а сама библиотека ADOMD.NET достаточно простая, что я сейчас и покажу.
Итак, приступим.
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Просмотры26K
Комментарии 6

Data Mart vs Data Warehouse

Чулан
Некоторое время назад я начал разбираться в OLAP и в данном посте хочу проверить правильность собственных мыслей на счет этих двух понятий.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Просмотры12K
Комментарии 2

Подход к Online Analysis Processing

Программирование
По следам этого поста.

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

Постановка задачи и решение
Всего голосов 2: ↑2 и ↓0+2
Просмотры3.1K
Комментарии 0

СУБД — поворот на 90 градусов

Чулан
Объемы данных и требования к скорости их обработки за последние десятилетия многократно выросли. Системы управления базами данных (СУБД) пытаются соответствовать новым реалиям и претерпевают значительные эволюционные и революционные изменения. Одним из таких эволюционных факторов является движение в сторону т.н. вертикальных (column-based) систем хранения.
Примеры на пальцах
Всего голосов 18: ↑15 и ↓3+12
Просмотры2.4K
Комментарии 32

Olap сервер — Oracle Essbase

Oracle
Из песочницы
На Хабре, хоть как то представлено описание решения от Microsoft для задач аналитической обработки данных в реальном времени, но нет ни слова о мировом лидере в данном вопросе Oracle Essbase Поэтому ниже привожу описание данной технологии.
Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Просмотры11K
Комментарии 4

Oracle Essbase 9 — установка и настройка

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

На данный момент ( февраль 2011) текущей версией является 11.1.2, в которой Oracle и Hyperion в очередной раз сделали большой шаг в сторону интеграции и усложнили в разы инфраструктуру приложения. Эта версия подойдет для тех, кто уже знаком с системой и понимает все архитектурные особенности. Процесс ее инсталляции подробно рассмотрен на тематических блогах.

Я же предлагаю для знакомства с OLAP Oracle Essbase движком использовать предыдущую версию 9.3, которая в части OLAP ядра, мало чем отличается от своего старшего брата, так как процесс настраивания дополнительных компонент в 11 версии (которые ставятся в нагрузку) может занять достаточно много времени, и ресурсов.

Соответственно процесс установки можно разделить на три этапа

Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Просмотры3.6K
Комментарии 0

Oracle Essbase – Integration Services Обзор

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

Essbase для DataWarehouse занимает место многомерных витрин, которые позволяют рассчитать комплексные экономические показатели, построить прогноз, предоставить максимально быстро AD-hoc отчетность. Essbase позволяет без задержек обслуживать многие тысячи пользователей, без особых настроек. Вы забудете про планы запросов, и как тюнить быстродействие того или иного отчета.

Читать дальше →
Всего голосов 5: ↑3 и ↓2+1
Просмотры3K
Комментарии 3

Университет Kimball: 10 основных правил многомерного моделирования

SQL
Перевод

Марги Росс (Margy Ross) — Президент Kimball Group.

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

Студенты, посещающие лекции Kimball Group по многомерному моделированию, попросили у меня список «заповедей Kimball» для многомерного моделирования. Воздержимся от использования религиозной терминологии. Поэтому, нижеследующее, добытое методом проб и ошибок, назовём не слишком строгими рекомендациями и правилами «как-ничего-не-сломать».
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Просмотры11K
Комментарии 19

Введение в многомерный анализ

SQL

Некоторое время назад мне довелось организовывать новую группу разработки, которая должна была заняться развитием OLAP и BI продуктов в дружеской софтверной компании. А так как группа была собрана из свежих выпускников ВУЗов, то мне пришлось написать «краткий курс молодого бойца» для того чтобы максимально доступно дать начальные понятия об OLAP людям, которые ни разу с ним не сталкивались, но уже имели опыт программирования и работы с БД.



Выкладываю теперь это Введение в Общественное Достояние.



В статье несколько смешиваются понятия OLAP, Business Intelligence, и Data Warehouse, но и в жизни часто сложно понять, где проходит граница. А уж в реальных проектах, так и подавно, все они ходят рядом. Поэтому прошу не судить строго.



Итак, что же такое OLAP.
Всего голосов 63: ↑61 и ↓2+59
Просмотры116K
Комментарии 11

Разгоняем медиану в OLAP

SQLData MiningMicrosoft SQL Server
Из песочницы
Tutorial
Этот пост для тех, кто сталкивался с проблемой производительности, при расчете медианы в OLAP кубе.
Одним из главных достоинств OLAP технологии является скорость получения результатов при обращении к базе. Расчеты происходят «на лету». Однако с медианой, не все так просто.
Для справки: медиана — вид средней. Это величина, которая находиться в середине ряда значений отсортированного по возрастанию. Например, для ряда значений {1, 2, 5, 6, 9} медианой является 5.

Рассмотрим ситуацию на примере OLAP сервера от Microsoft — SSAS 2008 (SQL Server Analysis Services).
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Просмотры8K
Комментарии 0

Контроль расходов мобильной связи в рамках организации

SQL
Из песочницы
Не будет новостью, что контролировать расходы на связь в организации с более чем двадцатью сим карт дело не простое и многие предпочитают просто платить, не озадачиваясь анализом расходов.
На рынке есть специализированные продукты, позволяющие следить за расходами в основном в ручном режиме.
Хотел бы поделиться опытом создания системы контроля расходов для нескольких сотен тысяч сим карт построенной на базе MS SSAS.
В качестве поля для действия была выбрана компания имеющая на тот момент около 120 тыс сим карт, 90% из которых был провайдер с логотипом в виде яйца и устанавливаемых в м2м устройства.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Просмотры5K
Комментарии 16

Контроль расходов мобильной связи в рамках организации: реализация

SQL
image

Хотелось бы рассказать некоторые технические подробности создания системы контроля расходов мобильной связи, концепция которой была описана в предыдущем посте.
В качестве примера будем рассматривать счет за один из месяцев от МТС и создадим не сложный OLAP проект.
Судя по откликам, эта тема довольно актуальна, так что, кому интересно, прошу под кат.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Просмотры6.9K
Комментарии 0

6 практических советов для начинающих при построении простого BI-решения

Блог компании True EngineeringSQLMicrosoft SQL Server
Данной статьей хотелось бы показать шаги и предложить некоторые рекомендации в процессе создания BI-решения с использованием практически всего стека BI компании Microsoft. В создании BI-решения будут использованы SQL Server, SQL Service Integration Services, SQL Server Analysis Services.

Для примера мы выбрали разработку нашей компании RetailIQ — BI-систему глубокого анализа чеков розничных продаж, поставок и складских запасов для сети аптек. Для общего понимания контекста темы: все данные выгружаются из учетных систем (1С, М-Аптека и т.д.), верифицируются, складываются в специальную базу данных с последующим построением многомерных OLAP-кубов. Из источников (учетных систем) с помощью ETL мы перекачиваем данные в хранилище, на основе которого строим куб, о котором дальше пойдет речь.

Читать дальше →
Всего голосов 6: ↑3 и ↓30
Просмотры36K
Комментарии 3

Секционирование и «живые снимки» данных в PostgreSQL

PostgreSQL
Tutorial
Хотя тема секционирования уже поднималась ранее, я хочу к ней вернуться, чтобы рассказать о своем опыте решения этой задачи, возникшей в связи с необходимостью аналитической обработкой больших объемов данных. Помимо секционирования, я рассмотрю предельно упрощенную реализацию «снимков» агрегированных запросов, автоматически обновляемых при изменении исходных данных..
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Просмотры8.7K
Комментарии 16

Связь многие-ко-многим, OLAP и MS SQL Server Analysis Services

SQLMicrosoft SQL Server
Из песочницы
Tutorial

Связь многие ко многим и MS SQL Server Analysis Services


Данный пост я хочу посвятить такой, как выяснилось, несложной проблеме, как обработка OLAP-кубом связей многие-ко-многим с помощью MS SQL Server Analysis Services.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Просмотры13K
Комментарии 5

Создание OLAP куба в MS SQL Server 2012

Data MiningMicrosoft SQL Server
Tutorial
Здравствуйте.

Понадобилось мне использовать для анализа данных OLAP кубы. Эту технологию я активно изучал и использовал в 2001-2002 годах и даже сертифицировался по ней. Но потом долгое время не прикасался к ней. И вот совсем недавно попробовал воспользоваться 2012 SQL Server’ом, но не тут то было: многое и того что появилось в новом сервере оказалось мне совершенно не знакомым.

Потратив некоторое время на знакомство, решил поделиться навыками с сообществом: записал обучающий видеоролик о том, как создается куб и измерения.

Ролик ознакомительный, возможно, некоторые вещи сделаны неправильно, но пример вполне рабочий. Предполагается, что читатель (зритель) уже знаком с понятиями многомерного куба, измерений, мер и для чего это используется.



Читать дальше →
Всего голосов 20: ↑14 и ↓6+8
Просмотры41K
Комментарии 1