Учетные системы: выбираем OLAP для "1С"
OLAP-технологии являются одной из наиболее эффективных методик анализа больших объемов данных. На российском рынке OLAP-решений для "1С" представлены продукты, различные по функциональности и по бюджету. Как подобрать 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-базы в виде сводной таблицы. Работа с такой таблицей для пользователя происходит обычным образом, однако все вычисления для отображения делает аналитический сервер.
BI для платформы "1С:Предприятие"
"1С" изначально задумывалась как несложная настраиваемая учетная система для мелкого бизнеса, что во многом определило архитектуру ее построения как системы, совмещающей в себе функции фиксации бизнес-операций и генерации отчетности. Со временем рост учетных баз и расширение круга задач привели к тому, что элементы OLAP-подхода были встроены в платформу "1С:Предприятия". С точки зрения хранения данных, таким элементом являются регистры оперативного учета, накапливающие итоги по оборотам и хранящие промежуточные точки остатков. С точки зрения визуализации - это схема компоновки данных, дающая пользователю возможность работать с выборкой данных как многомерной таблицей.
Подобный подход оказался достаточно успешным для небольших баз, однако для крупных предприятий обернулся довольно значительными проблемами. Одна из них заключается в том, что высокая вычислительная сложность внесения данных серьезно удлиняет транзакции и вызывает взаимоблокировки, мешающие нормальному использованию системы. Например, подобные проблемы проявляются при расчете себестоимости товара, учитываемого по партиям. Кроме того, "1С" не удалось найти методику, которая бы сочетала быстрый доступ и универсальное хранение для регистров бухгалтерии. В результате оказалась низкой скорость выполнения запросов для планов счетов с большим числом субконто. По той же причине осталась нереализованной ролевая безопасность (РЛС) для субконто.
Что же касается схемы компоновки, то она, как и все Desktop OLAP-системы, требует жесткого ограничения объема анализируемых данных, т.к. они полностью передаются с сервера на клиента и после этого анализируются в памяти клиентского компьютера. Любое изменение аналитик анализа, например, желание развернуть складские продажи по группам товаров, не включенных изначально в запрос, требуют повторного запроса всех данных. Понятно, что скорость такого анализа на объемных базах невелика.
Построение серверного OLAP для "1С"
Так же, как и для западных систем, для крупных баз "1С" может оказаться весьма полезным выделение отдельной OLAP-базы для решения аналитических задач. Это снимает нагрузку с транзакционной базы "1С" и качественно улучшает возможности анализа, позволяя избегать ситуаций вроде "у меня есть хороший отчет, но он так долго работает, что я стараюсь обходиться без него".
Наибольший интерес к построению серверного OLAP для "1С" испытывают клиенты, которым объемы баз не позволяют быстро и качественно вести анализ данных. В частности, в эту категорию попадают компании розничной торговли, разного рода торговые сети, компании, использующие большое количество аналитик на планах счетов.
При создания серверных OLAP-систем для "1С", как правило, используется следующий подход. На первом этапе данные из "1С" извлекаются в так называемое SQL-хранилище и преобразуются в удобный для анализа вид. Здесь, как правило, возникают основные проблемы, связанные с тем, что "1С" использует систему автоматических названий объектов и их полей в SQL-базе, а также логические связи объектов, непонятные "извне".
На втором этапе по хранилищу данных строятся OLAP-кубы и настраиваются модели Data Mining. При этом могут использоваться OLAP-сервера различных поставщиков ПО.
На третьем этапе настраиваются клиентские средства доступа к аналитическим базам, разрабатывается отчетность, обеспечивается включение аналитических моделей в бизнес-процессы организации.
Сравнение OLAP-продуктов для "1С"*
Deduktor (Base Group) | С.М.А.Р.Т. ("М-Лоджикс") | 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 |
*Для того чтобы, сравнить данные продукты, компаниям было необходимо оценить возможность построения OLAP-базы для решения следующих задач:
1. Анализ продаж товаров (50 млн записей в таблице),
2. Анализ складских запасов с детализацией до дней,
3. Анализ данных бухгалтерии (30 млн записей в таблице проводок регистра бухгалтерии, количество аналитик 40) с возможностью построения оборотных и шахматных ведомостей.
При этом мы потребовали возможность анализа по атрибутам и ролевой безопасности. Еще одно условие - с базой должны работать 50 человек.
** Microsoft SQL Server Standard Edition на 50 пользователей
*** Microsoft Office 2007 Standard Russian OLP NL
Источник: "Абис Софт", 2009
Разработка OLAP-решений для "1С", как правило, ведется либо ИТ-отделами крупных предприятий, либо путем привлечения фирм, специализирующихся в области обработки данных.
Deduktor (Base Group)
Аналитическая платформа, состоящая из ряда компонентов (клиент, сервер, "конфигуратор Studio") и ориентированная на решение бизнес-задач с помощью методов Data Mining. Базируется на собственных разработках и собственном аналитическом движке. Особенностью продукта является возможность многоступенчатых преобразований информации, которые описываются в режиме конструктора. Произвольный OLAP-анализ не является основным направлением, но тоже присутствует. В большей степени продукт ориентирован на использование математических методов для решения таких задач, как прогнозирование продаж, оптимизация запасов, анализ клиентской базы. Также предлагаются отраслевые решения.
Для интеграции с "1С" продукт использует COM-адаптер. Т.к. эта технология работает медленно, на больших базах ее предлагается использовать для переноса изменений, а начальную выгрузку дополнительно настроить методами SQL.
Отметим также, что данный продукт использует собственное клиентское ПО для построения отчетов и аналитических вычислений.
С.М.А.Р.Т. ("М-Лоджикс")
С.М.А.Р.Т. (система многомерного анализа реляционных таблиц) - это другая известная аналитическая разработка. Продукт построен на основе собственного серверного и клиентского ПО, также он может работать по трехуровневой модели через web-модуль. Существует возможность создания автономных кубов.