OLAP-технологии являются одной из наиболее эффективных методик анализа больших объемов данных. Краткое определение данной методике можно дать следующим образом.
OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология организации хранения информации и доступа к ней, отвечающая принципам FASMI (Fast Analysis of Shared Multidimensional Information):
Как видно из определения, требования к системе построения отчетности, которую действительно можно называть OLAP-системой, достаточно жесткие — за секунды отчеты должны строиться по миллионам записей, столь же быстро раскрываться по интересующим пользователя аналитикам, фильтроваться и перегруппировываться.
Если рассмотреть продукты, лидирующие на западных рынках учетных систем, то либо в их составе, либо в качестве отдельных продуктов присутствуют OLAP-модули. Достаточно вспомнить такие продукты, как Oracle OLAP, SAP OLAP Processor, OLAP-решения для Axapta, Hyperion BI.
C архитектурной точки зрения наиболее распространенным подходом является разделение данных между двумя базами: транзакционной (OLTP — online transaction processing) и аналитической (OLAP). При этом OLTP-база оптимизируется под быстрое внесение данных, а OLAP-база — под быстрое построение сложной отчетности. Фактически OLAP-база обычно строится по специальной архитектуре и содержит предварительно просчитанные агрегатные данные, что и обеспечивает высокую скорость выполнения запросов. Платой за эти удобства становится необходимость синхронизировать OLTP и OLAP. Т.к. подобный процесс, как правило, периодичен, то между появлением данных в оперативной базе и аналитическими данными имеется запаздывание. Вполне нормальной является практика, когда в OLAP присутствуют данные «на вчера».
Различные базы OLAP могут использовать для своего анализа одни и те же аналитические программы. Это связано с тем, что любая OLAP-база универсальным образом описывается как набор некоторых аналитик и таблиц фактов, представляемых в виде многомерных кубов, осями которых являются значения аналитик, а агрегируемыми значениями — числовые значения количеств, сумм и т.п. Аналитические программы для анализа называются «OLAP-клиентами». Примером такой программы является Microsoft Excel, который отображает куб OLAP-базы в виде сводной таблицы. Работа с такой таблицей для пользователя происходит обычным образом, однако все вычисления для отображения делает аналитический сервер.
1С изначально задумывалась как несложная настраиваемая учетная система для мелкого бизнеса, что во многом определило архитектуру ее построения, как системы, совмещающей в себе функции фиксации бизнес-операций и генерации отчетности. Со временем рост учетных баз и расширение круга задач привели к тому, что элементы OLAP-подхода были встроены в платформу «1С:Предприятия». С точки зрения хранения данных, таким элементом являются регистры оперативного учета, накапливающие итоги по оборотам и хранящие промежуточные точки остатков. С точки зрения визуализации — это схема компоновки данных, дающая пользователю возможность работать с выборкой данных как многомерной таблицей.
Подобный подход оказался достаточно успешным для небольших баз, однако для крупных предприятий обернулся довольно значительными проблемами. Одна из них заключается в том, что высокая вычислительная сложность внесения данных серьезно удлиняет транзакции и вызывает взаимоблокировки, мешающие нормальному использованию системы. Например, подобные проблемы проявляются при расчете себестоимости товара, учитываемого по партиям. Кроме того, 1С не удалось найти методику, которая бы сочетала быстрый доступ и универсальное хранение для регистров бухгалтерии. В результате оказалась низкой скорость выполнения запросов для планов счетов с большим числом субконто. По той же причине осталась нереализованной ролевая безопасность (РЛС) для субконто.
Что же касается схемы компоновки, то она, как и все Desktop OLAP-системы, требует жесткого ограничения объема анализируемых данных, т.к. они полностью передаются с сервера на клиента и после этого анализируются в памяти клиентского компьютера. Любое изменение аналитик анализа, например, желание развернуть складские продажи по группам товаров, не включенных изначально в запрос, требуют повторного запроса всех данных. Понятно, что скорость такого анализа на объемных базах невелика.
Так же, как и для западных систем, для крупных баз 1С может оказаться весьма полезным выделение отдельной OLAP-базы для решения аналитических задач. Это снимает нагрузку с транзакционной базы 1С и качественно улучшает возможности анализа, позволяя избегать ситуаций вроде «у меня есть хороший отчет, но он так долго работает, что я стараюсь обходиться без него».
Наибольший интерес к построению серверного OLAP для 1С испытывают клиенты, которым объемы баз не позволяют быстро и качественно вести анализ данных. В частности, в эту категорию попадают компании розничной торговли, разного рода торговые сети, компании, использующие большое количество аналитик на планах счетов.
При создании серверных OLAP-систем для 1С, как правило, используется следующий подход.
На первом этапе данные из 1С извлекаются в так называемое SQL-хранилище и преобразуются в удобный для анализа вид. Здесь, как правило, возникают основные проблемы, связанные с тем, что 1С использует систему автоматических названий объектов и их полей в SQL-базе, а также логические связи объектов, непонятные «извне».
На втором этапе по хранилищу данных строятся OLAP-кубы и настраиваются модели Data Mining. При этом могут использоваться OLAP-сервера различных поставщиков ПО.
На третьем этапе настраиваются клиентские средства доступа к аналитическим базам, разрабатывается отчетность, обеспечивается включение аналитических моделей в бизнес-процессы организации.
Разработка OLAP-решений для 1С, как правило, ведется либо IT-отделами крупных предприятий, либо путем привлечения фирм специализирующихся в области обработки данных.
В настоящий момент лидерами российского рынка OLAP-решений для 1С можно считать следующие программные продукты.
Deductor (компания BaseGroup Labs)
Аналитическая платформа, состоящая из ряда компонентов (клиент, сервер, «конфигуратор Studio») и ориентированная на решение бизнес-задач с помощью методов Data Mining. Базируется на собственных разработках и собственном аналитическом движке. Интересной особенностью продукта является возможность многоступенчатых преобразований информации, которые описываются в режиме конструктора. Произвольный OLAP-анализ не является основным направлением, но тоже присутствует. В большей степени продукт ориентирован на использование математических методов для решения таких задач, как прогнозирование продаж, оптимизация запасов, анализ клиентской базы. Также предлагаются отраслевые решения.
Для интеграции с 1С продукт использует COM-адаптер. Т.к. эта технология работает медленно, то на больших базах ее предлагается использовать для переноса изменений, а начальную выгрузку дополнительно настроить методами SQL.
Отметим также, что данный продукт использует собственное клиентское программное обеспечение для построения отчетов и аналитических вычислений.
С.М.А.Р.Т. (компания «М-Лоджикс»)
С.М.А.Р.Т. (система многомерного анализа реляционных таблиц) — это другая известная аналитическая разработка. Продукт построен на основании собственного серверного и клиентского программного обеспечения, также он может работать по трехуровневой модели через Web-модуль. Существует возможность создавать автономные кубы.
Кроме модуля OLAP в состав продукта входят модули: «Эконометрика», «Правило сочетаний», «Карты продаж», «Деревья принятия решений», «Генетические алгоритмы» и т.д. Направления использования традиционны для Data Mining: анализ клиентской базы, расчеты идеальных складских остатков, выявление тенденции продаж и т.д.
Продукт позиционируется как система для крупного бизнеса и имеет опыт интеграции с SAP, Oracle и другими системами. Что касается использования 1С как источника данных, то специальных инструментов не предлагается, но заявлен опыт подобных работ.
Фирма BIX предлагает комплексное решение на платформе Microsoft SQL Sever. Т.к. MS SQL Sever, как правило, и используется в качестве сервера для баз 1С, то может оказаться, что серверный OLAP-продукт у организации уже есть. Правда, он должен быть версии не ниже Standard, т.к. в младшие версии не входят службы Analysis Service.
Продукт позволяет строить кубы на документах и их табличных частях, со справочниками и перечислениями в качестве аналитик. Для справочников могут выгружаться их атрибуты.
Для работы с OLAP-кубами можно использовать Excel или любой другой OLAP-клиент. Кроме построения кубов, предлагается использовать средства MS SQL Reporting Service для генерации отчетности.
«ИНТАЛЕВ: Корпоративная аналитика для 1С» (группа компаний «ИНТАЛЕВ»)
Продукт «ИНТАЛЕВ: Корпоративная аналитика для 1С» использует Microsoft SQL Server в качестве сервера OLAP. Все настройки проводятся в режиме «1С:Предприятия» визуально и без программирования, а все стадии формирования OLAP-базы полностью автоматизированы.
В то же время возможности продукта достаточно широки: формируются кубы по документам, справочникам, регистрам накопления и регистрам бухгалтерии. Несколько таблиц факта могут быть собраны в один куб с общими измерениями, что позволяет делать их совместный анализ. Для измерений можно указать атрибуты анализа, как примитивных типов, так и ссылочные (реализуется топология «снежинка»). Для типовых конфигураций можно использовать готовые аналитические модели.
В продукте настраиваются роли и ограничения безопасности. Доступ настраивается пообъектно. Разрешения ролей объединяются. Это позволяет настроить, к примеру, доступ к бухгалтерским данным по разрешениям на субконто, чего не позволяет 1С.
Продукт «ИНТАЛЕВ: Корпоративная аналитика» легко внедряем и его можно рекомендовать тем, кто хочет быстро и с минимальными затратами получить OLAP-систему для 1С 8.1.
Для того чтобы, сравнить данные продукты, мы предложили представляющим их компаниям оценить возможность построения OLAP-базы для решения следующих задач:
1. Анализ продаж товаров (50 млн записей в таблице),
2. Анализ складских запасов с детализацией до дней,
3. Анализ данных бухгалтерии (30 млн записей в таблице проводок регистра бухгалтерии, количество аналитик 40) с возможностью построения оборотных и шахматных ведомостей.
При этом мы потребовали возможность анализа по атрибутам и ролевой безопасности. Еще одно условие — с базой должны работать 50 человек.
Представители всех опрошенных компаний подтвердили реализуемость данных задач в полном объеме. Их ответы по срокам и стоимости обобщены в виде таблицы.
|
Deductor (BaseGroup Labs) |
С.М.А.Р.Т. («М-Лоджикс») |
BIX BI для 1С (BIX) |
«ИНТАЛЕВ: Корпоративная аналитика для 1С» («ИНТАЛЕВ») |
Срок проекта, кто осуществляет настройку |
2–4 чел./мес., силами консультантов |
4 дня (обучение) + 3 недели (настройка силами клиента) |
1 месяц |
1–5 чел./дней, силами клиента |
Стоимость сервера, руб. |
290 000 |
1 800 000 |
1 000 000* | |
Стоимость ПО для настройки, руб. |
29 000 | |||
Стоимость клиентского места, руб. |
8 700 |
7200** | ||
Стоимость консалтинга, руб. |
от 400 000 до 1 200 000 |
200 000 |
500 000 |
55 000 |
* Microsoft SQL Server Standard Edition на 50 пользователей
** Microsoft Office 2007 Standard Russian OLP NL
Создание OLAP-контура для быстрого анализа данных 1С сегодня уже не представляет проблем. С точки зрения авторов обзора, имеет смысл выбирать OLAP-продукт исходя из требуемой функциональности, возможностей собственной IT-команды и допустимого бюджета.
Продукты от BaseGroup Labs и «М-Лоджикс» имеет смысл выбирать в тех случаях, когда недостаточно OLAP-анализа и организация хочет использовать еще и наработки данных компаний в области Data Mining. Также данные продукты имеют механизмы консолидации разнородных источников, поэтому если существует желание построить корпоративное хранилище, объединяющее информацию из баз 1С 8.1, 1С 7.7 или, к примеру, баз Oracle — мы рекомендуем рассматривать среди прочих и эти продукты.
При выборе между Deductor и С.М.А.Р.Т. имеет смысл обратить внимание на разность подходов к внедрению продукта. В первом случае внедрение ведется консультантами поставщика OLAP, во втором — собственными сотрудниками после обучения.
Достоинством решений на платформе Microsoft (Bix BI и «ИНТАЛЕВ: Корпоративная аналитика для 1С») является более простая интеграция с другими продуктами данного поставщика, например с SharePoint, позволяющая создавать DashBoard с KPI, рассчитываемыми с помощью OLAP. Также они могут использовать Data Mining службы Analysis Service. Решение от Bix требует больших затрат на настройку, но оно ближе к индивидуальному проекту.
Следует учесть, что если организация уже использует Microsoft SQL Server и Excel, то продукты от Bix и ИНТАЛЕВ позволяют ограничиться только покупкой дополнительных лицензий для этих продуктов, сэкономив на серверном программном обеспечении.
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.