Разделы

Цифровизация Инфраструктура

Спор продолжается: каким быть хранилищу данных

Поводом для написания данного материала послужила статья "Хранилища данных: шаги от идеи до внедрения", опубликованная CNews 17 августа этого года. Спор экспертов об основах и практических моментах создания и внедрения хранилищ данных продолжается.

Что нам стоит дом построить

Использование хранилища данных обычно не доставляет хлопот компании. Другое дело – создание хранилища. Проект по созданию хранилища данных, особенно, крупного, обычно подразделяется на этапы по созданию областей хранилища, отвечающих за определенные направления деятельности компании. Главное в таком проекте – правильно поставленная задача, которая реально отвечает требованиям бизнеса. В противном случае пользователь получит какие-то отчеты, которые, скорее всего, еще больше запутают его из-за наличия в них ненужной или неправильной информации.

Выделяют несколько этапов создания хранилища данных. Во-первых, это анализ (структуры, типы, качество данных, взаимосвязи, требования заказчика и пр.) Во-вторых, проектирование и разработка проекта (модель данных хранилища, разработка и настройка ETL-процессов и отчетов). Третий шаг - тестирование и доработка. И лишь затем - передача в опытную, а затем и в промышленную эксплуатацию.

При создании хранилища данных очень важна хорошая команда
При создании хранилища данных очень важна хорошая команда

Как видно, этапы построения хранилища данных в принципе не отличаются от проектов многих других типов, однако есть некоторые особенности. Практика показывает, что все подобные проекты имеют итерационный характер. Если не учитывать эту особенность, проект может быть сильно затянут или вообще не выполнен.

На этапе анализа чаще всего оценивают структуры, типы данных, но мало кто задумывается о качестве исходных сведений. Если оценку качества не провести на этапе анализа, то в процессе тестирования будут последовательно раз за разом возникать различного рода ошибки по несовпадению ожидаемых и реальных данных, что обычно приводит к доработке, повторному тестированию и, соответственно, к затягиванию проекта. Обычно количество таких итераций достигает 10-12 раз.

Для решения этой проблемы должны использоваться средства профилирования информации, определяющих качество и зависимости данных до этапа проектирования. Профилирование помогает избежать многочисленных итераций разработки за счет введения ограничений на неверные данные и их унификации. Это позволяет уменьшить число итераций на проекте до 2-3 раз.

Проектирование и разработка проекта часто воспринимается как создание модели данных, разработка отчетов и ETL-процессов. Здесь задачей команды является только правильное использование выбранных средств для построения решения. Однако с целью увеличения скорости и качества разработки, а также повышения ответственности программистов необходимо привлекать аналитиков, описывающих процессы загрузки данных.

Передавать проектирование процесса ETL и построение отчетов непосредственно разработчику довольно рискованно, поскольку он, скорее всего, мало понимает в предметной области работы заказчика. С другой стороны, представители заказчика вряд ли смогут максимально использовать возможности ETL-инструмента для правильного построения процессов. Поэтому и необходимы аналитики, понимающие в предметной области заказчика и, при этом, имеющие представление о технической составляющей проекта. Основной их задачей является выпуск технических спецификаций на требуемые процессы наполнения хранилища.

В отличие от внедрения других решений проекты по созданию хранилищ данных обычно имеют довольно сложный и долгий этап тестирования. Так происходит по причине сложности проверки совпадения результатов и выявления ошибок в полученных отчетах, которые пользуются данными из хранилища, содержащего уже консолидированную информацию. С другой стороны, у заказчика нет аналогичных средств и технологий, чтобы проверить точность разработки процессов загрузки: у них просто может не быть такого рода отчетов или их формирование крайне затруднено. Поэтому нужно до начала тестирования разработать его методику, которая будет содержать не только последовательность действий, но и наборы данных для проверки средствами заказчика и с помощью хранилища. Случалось, что результаты работы хранилища доказывали неправильность применяемых заказчиком подходов к формированию собственной отчетности.

Конечно, очень важным фактором является наличие квалифицированной, опытной рабочей команды. В идеале она должна состоять как из представителей заказчика, так и координатора для обеспечения слаженной работы по всем направлениям проекта.

Каждый этап проекта должен быть обязательно задокументирован, что необходимо и заказчику, и для исполнителя проекта.

Хранилище данных постепенно удовлетворит все потребности компании в этой сфере. От этапа к этапу организация будет все лучше понимать важность полученного решения. Правильно построенное хранилище даст возможность быстро развивать свой бизнес, менять направления развития, правильно понимать проблемы и приоритеты. Кроме того, на этой основе компания сможет строить другие решения, например, унифицировать нормативно-справочную информацию, что также часто является "головной болью". Хранилище – это мощный инструмент, значение которого понимаешь не сразу. Но, получив такой инструмент в руки, из него можно извлечь выгоду, о которой, возможно, никто и не догадывается.

Олег Гиацинтов