Как стать автором
Обновить

Комментарии 34

интересно, как вы сами заметили на хабре не было статей про OLAP, так что продолжайте и пишите еще
Спасибо! Планирую создать OLAP блог и написать еще пару статей о собственно перфомансе современных OLAP систем (думаю много кто будет удивлен :)), основам дизайна складов данных (Data Warehouse) ну и MDX — уникальнейшая вещь.
Статей и правда вроде не было, но совсем чуть-чуть этой темки коснулись тут на Хабре, в рамках темы «3D-визуализация БД». Блог только несколько несерьёзный для такой темы: Киберпанк :) Я там в комментах иллюстрацию разместил, имхо чуток более показательная, чем та, что выше. Может вам пригодиться в будущих статьях.
традиционный перевод Data Warehouse — хранилище данных. Склад данных это скорее data mart
Datamart по-русски обычно называют витриной данных. А wd — это хранилище, да.
Спасибо Vitko.
Прочел от корки до корки.
Если честно — не понял какой софт (кроме продуктов М$) позволяет работать с кубами.
Если не сложно, то расскажите пожалуйста о плюсах и минусах альтернативных программных продуктах.

Да, я собственно планировал сделать описание продуктов в следующих публикациях. Если вкратце, то первые реализации OLAP были выпущены копанией Express (потом куплен Ораклом), потом появились Essbase и многие другие. Microsoft начал активно разрабатывать свои OLAP продукты сравнительно недавно (после покупки компании Panorama Software), а первая версия Analysis Services была выпущена вместе с SQL Server 7. Но по настоящему юзабельным этот продукт стал только с выпуском SQL Server 2005 (а стабильно начал работать только в последнем релизе, который идет вместе с SQL Server 2008). О плюсах, минусах и различиях постараюсь рассказать подробнее в скором времени.
ппц. Я уже лет пять работаю разработчиком ОЛАП, начиная с версии MS AS 2000, и фраза про нестабильность меня просто взбесила.
Не хотел никого задевать, но тут вопрос в том как определять стабильность. То что все работает — тут конечно не поспоришь, но то количество сервис паков/хот фиксов даже к 2005-им Analysis Services дает понять что продукт все еще активно развивается.
Посмотрите на Pentaho. OpenSource, и по возможностям вполне-вполне ничего.
Спасибо очень интересно! Статья очень напоминает выжимку из книги. Не подскажите от куда был взят график?
Такие графики есть в любой книжке про OLAP, DW, BI и прочее
Похоже на структуру чипа от первого терминатора.
Интересно узнать, что се это время занимался проектированием OLAP-кубов :) А есть ли кросс-платформенные решения, стыкующиеся, например с MySQL?
конечно
Все решения (во всяком случае о которых я знаю) стыкуються с максимально возможными источниками данных, тоесть создать куб вы можете используя SQL Server, Oracle, MySQL, Access, Excel, etc. Другое дело, что сам куб может обслуживать платформа Microsoft SQL Server или Oracle или, например, SAP.
Извините за возможную тупость вопроса, но с Microsoft SQL Server знаком очень поверхностно.

Т.е. мне надо на отдельной машине установить Microsoft SQL Server, подключить MySQL как источник данных и можно пользоваться OLAP? А где в этом случае будут храниться все агрегированые/промежуточные даные, кэш и т.д.?
Вы абсолютно правы, а сам куб/агрегированные/промежуточные/кэш данные будут храниться на сервере Microsoft SQL — достаточно «поднять» Analysis Services, при этом, можно, например, установить режим ROLAP, при котором, фактические данные не копируются а берутся непосредственно с MySQL базы, правда скорость MDX запросов при этом очень ухудшается.
Через ODBC можно подключить куб к любому источнику данных для которого есть соответствующие драйвера. Хоть текстовые файлы, хоть dBase, что угодно.
Сам куб будет храниться в файловой системе, если мы говорим о MOLAP. В базе данных SQL Server храненится только описания структуры куба. SQL Server и Analysis Services это вообще два совершенно разных продукта. MS AS 2000, например, можно установить вообще без установки SQL сервера.
Да, это полезное дополнение.
Автор забыл упомянуть кросплатформенный опенсурсный OLAP сервер Mondrian. Microsoft SQL Server — очень дорогая штука и работает только под одной ОС.
Использую Mondrian c MySQL и PostgreSQL базами.
Супер! Сам не знал :) — спасибо за полезную информацию.
Простите за отступление и, возможно, тупой вопрос. Но каким образом генерируются сводные (pivot) таблицы в Mondrian? На основе моей схемы? Как вообще происходит подготовка внутренностей куба (набора сводных таблиц)? Про выборку, вроде, понятно…
Заранее спасибо.
Обычно все данные выгружаются в одно хранилище. Там уже строится КУБ, всё кроссплатформенно.
Если MySQL у вас является источником данных, то самое разумное — вытащить данные из него в другую БД-хранилище.
Возьмите любую биллинговую систему- данные постоянно меняются, а анализ идет постоянно и онлайн. Так что такой вариант не подойдет.
Analysis Services предоставляют возможность стоить из данных partitions — самые свежие данные можно напрямую брать из источника, не загружая в куб, тоесть если нужны отчеты по real time данным — можно построить соответствующий дизайн.
Реально если на биллинговой системе организовать Аналитическую отчётность, всё сразу накроется. Прикиньте десяток аналитиков постоянно запускающих запросы, где аггрегируются показатели за последние пол-года, год, а то и три года. Биллинг подождёт что ли? :)
Ну собственно для того и строятся кубы, чтобы это ускорить. Если десяток — это ладно, а есть же еще клиенты со своими отчетами…
Я про то, что многомерный анализ на сервере OLTP системы и на структуре данных заточенной под OLTP — это зло. Реально при сильно нагруженной биллинговой системе разумно заморочиться c change data capture и переливать данные в data warehouse в ориентированую на многомерный анализ структуру, а там уже заниматься анализом.
учитывая что OLTP как правило не одна, особо на ней ничего не построишь, все всегда льется в отдельный wh
Насчёт быстрого доступа к данным я бы поспорил. Основное отличие OLAP от OLTP в том, что типичные запросы работают с большим количеством записей, аж до сотен миллионов. И отчёты, которые строятся часами и etl-процессы идущие всю ночь — это не редкость, а скорее обыденность. Просто типичные модели данных для хранилища строятся так, чтобы сократить это время, вот и всё. Ну и реляционная теория никуда не девается. Просто некоторые вещи, типа нормализации зачастую не требуются, а наоборот возбраняются.
Нового почти не узнал, так как давненько вплотную работаю с аналитическими комплексами, но, так сказать, я материал для себя закрепил =)
Вам бы хорошо рассмотреть различные продукты, предоставляющие возможность работы с многомерными даными, как платные, так и бесплатные. Может быть, выложить подборку разных библиотек для работы с «аналитикой» и т.д. Было бы очень полезно, иногда так лень самому искать =)
Если говорить про продукты помимо Analysis Services, то для начала посоветую начать с большого аналитического комплекса «Прогноз» отечественного производства. Очень хорошая вещь, особенно в плане визуализации работы с OLAP и многомерными кубами.
Спасибо за наводку :)!
Pentaho получило приз как лучшее Open Source BI приложение по версии InfoWorld. Может вам будет интересно.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории