Корпоративные и персональные BI-системы
В построении аналитики в компании есть два подхода – корпоративный и персональный (self-service BI). О персональных средствах мы уже поговорили. Теперь посмотрим на системы корпоративного уровня. Обычно в корпоративную систему принятия решений входит ряд компонент, о которых уже написано выше:
• хранилище данных;
• система обновления данных в хранилище (ETL);
• система интерактивного анализа и отчетности.
Примером такой системы может быть Microsoft SQL Server: хранилищем выступает сам SQL-сервер, Integration Services – это ETL, Analysis Services – OLAP-кубы для интерактивных и статичных отчетов, Reporting Services – система отчетности через тонкий клиент. Подобная схема продуктов есть у многих вендров BI-систем, в том числе у облачных.
С моей точки зрения, главное отличие корпоративных систем от персональных – их разработка осуществляется централизованно. Например, если нужно внести изменения в отчет или другую компоненту, то самостоятельно это не сделать и придется обратиться к разработчику. Часто доходит до крайности, когда становится невозможным что-то изменить в системе без участия разработчика.
Полностью персональные системы автономны: данные берутся напрямую из источников данных и складируются в виде локальных файлов на компьютере аналитика. Им не нужен разработчик – аналитик может сделать все самостоятельно. Это другая крайность. Давайте сравним эти два подхода.
Скорость изменений – персональные системы выигрывают у корпоративных. Любое изменение в корпоративной системе даст изменения у всех конечных пользователей. Такие изменения необходимо согласовывать и ждать, пока их внесут. В персональных системах пользователь просто вносит нужные ему изменения.
Качество данных выше у корпоративных систем. Тут их консервативность играет нам на руку: практики разработки и дизайна системы позволяют следить за качеством данных. У персональных систем с этим плохо – они очень зависимы от навыков и внимательности пользователя, что повышает вероятность ошибок.
Производительность – корпоративные системы сразу проектируют под нужную нагрузку, а если они не справляются, то есть технологии их масштабирования. С персональными системами вероятность столкнуться с плохой производительностью намного выше.
Смена вендора решения : корпоративные системы – это деревья с сильными корнями, которые потом будет очень тяжело выкорчевать. Персональные намного проще.
С моей точки зрения, оба варианта имеют право на жизнь. Лучшие результаты можно получить, объединив два подхода. Ничто не мешает вам построить хранилище (или озеро данных), а затем использовать гибкие персональные инструменты для работы в «последней миле». Часть вопросов снимается, вероятность ошибки пользователя остается, но она становится меньше.
Я работал с разными системами: от файлов электронных таблиц до распределенных систем Hadoop/Spark с петабайтами данных. Могу только сказать: всему свое время. Архитектура аналитических систем – это искусство, требующее недюжинных талантов. В этой главе я рассказал о своих наработках, которые были проверены на практике. У любых решений есть плюсы и минусы, и знать их лучше до создания системы, а не после.
Вы всегда будете балансировать между скоростью и качеством, между стоимостью сейчас и потом. Но всегда полезно думать о пользователе. Чем быстрее и интуитивнее он сможет работать с данными, тем меньше эта работа будет вызывать отторжение и тем эффективнее он будет принимать решения. Я считаю, что именно скорость, даже при средних гарантиях качества, обеспечивает успех компаний. Выиграет та, которая приняла больше решений.
Аналитические системы позволяют ориентироваться в данных, но они не принимают решения – это делают пользователи. Давайте сделаем их жизнь лучше, упростив для них путь принятия решений.
Глава 8
Алгоритмы машинного обучения
Как я уже писал, основное отличие машинного обучения от обычного программирования заключается в том, что программа обучается на примерах, а не на прямых инструкциях. Поэтому неотъемлемой частью какого-либо решения является обученная на данных (примерах) модель. Выглядит это как черный ящик: программный код, который представляет собой интерфейс взаимодействия обученной модели или черного ящика с внешним миром. В самом ящике находится набор коэффициентов и параметров модели, которые понятны только этому коду.
Читать дальше
Конец ознакомительного отрывка
Купить книгу