ADG Оставить заявку
Блог Данные и аналитика 4 мин чтения

SQL Server 2008 R2 CTP: PowerPivot в Excel и смешанные чувства от тестирования

Microsoft выкатила CTP SQL Server 2008 R2 с PowerPivot и Master Data Services. Потестировали PowerPivot на реальной модели продаж - аналитик доволен, DBA в раздумьях.

Контекст момента

SQL Server 2008 R2 вышла в CTP; ключевые новинки - PowerPivot (Excel + SSAS xVelocity) и Master Data Services

На этой неделе потрогали CTP SQL Server 2008 R2. Microsoft обозначила два главных новшества в BI-части: PowerPivot и Master Data Services. Оба звучат интересно на бумаге; как обычно, в реальном железе картина сложнее.

Что такое PowerPivot и почему это не просто надстройка

PowerPivot - это связка из двух компонентов. Первый - надстройка для Excel 2010 (да, именно 2010, с 2007 не работает), которая позволяет аналитику загрузить в книгу десятки миллионов строк и строить сводные таблицы без участия куба или DBA. Второй - серверная часть на базе SSAS, которая запускается внутри SharePoint 2010 и позволяет публиковать эти «тяжёлые» книги в корпоративный доступ.

Движок под капотом у PowerPivot тот же, что в Analysis Services, - колоночное хранилище с компрессией. Именно поэтому в Excel можно затащить данные, которые обычный Excel просто не переварил бы: классические ограничения в 65 тысяч строк здесь не действуют, работа идёт на уровне xVelocity in-memory. Для тех, кто помнит как мы в 2006-м сравнивали Excel с OLAP-кубом и SSAS тогда выигрывал в разы - тут Microsoft, похоже, попытались дать пользователю скорость куба без необходимости строить куб вручную.

Как тестировали

Взяли реального клиента - оптовая торговля, типичная модель: продажи, остатки, клиентская база. Данные по продажам за три года - несколько миллионов строк в базе. Раньше на стандартный «отчёт по менеджерам с разбивкой по номенклатурным группам за период» DBA готовил представление или делал выгрузку в Excel в ручном режиме. Задача занимала от получаса до полудня в зависимости от того, что именно хотел аналитик.

В тесте аналитик сам: подключился к базе через PowerPivot, загрузил нужные таблицы, поставил связи в диаграмме, накидал сводную таблицу и срезы. Примерно за час - без участия DBA.

Что сработало хорошо:

  • Загрузка данных. Несколько миллионов строк импортировались в книгу достаточно быстро - компрессия работает, в памяти всё лежит компактно.
  • Связи между таблицами. Аналитик сам выставил связи между справочником клиентов, позициями заказов и номенклатурой. Для человека, который разбирается в данных предметно, но не пишет SQL - это реально снимает барьер.
  • Сводные таблицы. Привычный Excel-интерфейс, только данные под ним уже не плоский лист, а модель. Реакция на перестройку сводной - мгновенная.

Что вызвало вопросы:

  • DAX вместо MDX. PowerPivot использует формульный язык DAX - это не MDX, это не SQL. Для базовых расчётов понять можно, но как только нужно что-то нетривиальное (скользящее среднее, год-к-году по неполным периодам), без хорошего примера перед глазами аналитик буксует. Документация в CTP куцая.
  • Зависимость от SharePoint. Серверная публикация требует SharePoint 2010 с конкретными компонентами. У клиента SharePoint нет. То есть книгу он построил, но поделиться ею с коллегами можно только отправив файл - а файл весит ощутимо, если данных много.
  • CTP есть CTP. Пару раз Excel падал при пересчёте модели с большим числом связей. Не критично для тестирования, но в продакшн такое пускать рановато.

Master Data Services - смотрели глазами

MDS - отдельный компонент для управления нормативно-справочной информацией: единый реестр, версионность, workflow согласования. Нам это интересно, потому что у ряда клиентов давняя боль - справочник контрагентов расходится между 1С, CRM и складской системой, и ETL-процессы потом занимаются синхронизацией вместо трансформации. MDS теоретически закрывает эту дыру.

Но в CTP функциональность выглядит как MVP: веб-интерфейс сырой, Excel-надстройка для редактирования справочников присутствует, но работает не везде. Детально разбираться смысла нет - слишком много меняется между CTP и финальным релизом.

Ощущение смешанное, и вот почему

PowerPivot делает то, о чём аналитики просят годами: дай мне данные, и я сам разберусь, не хочу каждый раз звонить программисту. Это честный аргумент, и тест его подтвердил - аналитик клиента за час собрал сводку, которую DBA делал полдня.

Но DBA тоже понятен в своём скепсисе: он видит, как аналитик строит связи наугад, называет поля как попало и получает красивую сводку с неверным итогом - потому что перепутал тип связи. В Excel нет ни одного контрольного механизма, который скажет «ты считаешь не то». Куб в SSAS мы строили с валидацией бизнес-правил, с проверкой мер - это другая история.

Так что PowerPivot - это инструмент для аналитика, который понимает свои данные. Там, где данные запутанные или модель сложная, DBA никуда не денется. Вопрос не «заменит ли PowerPivot DBA», а «какой класс задач теперь решается без DBA». Этот класс реально расширился.

Финальный релиз R2 ждём; тогда и посмотрим на SharePoint-интеграцию вживую. Пока - собираем опыт по BI именно так: на реальных клиентских данных, без тепличных условий.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.