Хранители данных: что такое DWH и почему без него данные компании почти бесполезны

Крупные компании Казахстана сегодня сталкиваются с проблемами хранения и использования данных. Ключевая информация хранится в системах разрозненно. На  ее свод и обработку у сотрудников уходит большое количество времени. Почему крупным компаниям стоит задуматься об инструменте DWH и как его внедрять?

Тимур Кашкинбаев, СТО и архитектор проектов IT-компании OneCode

Что такое DWH

В IT-сфере я уже больше 12 лет. Работал в крупных холдингах Казахстана и разрабатывал мобильные приложения, веб-приложения, веб-порталы, учетные системы. Крупные компании сегодня испытывают трудности с хранением и консолидацией данных.

Данные — новая «нефть». Чем больше их у компании, тем эффективнее она может привлекать новых клиентов, разрабатывать стратегии развития и укреплять свою позицию на рынке. Полезным инструментом для хранения и обработки данных может стать Data Warehouse (DWH). Это такое единое корпоративное хранилище архивных данных из разных источников: систем, департаментов, компаний. 

Зарубежные компании уже давно перешли к DWH и пользуются его всеми преимуществами. Но, к сожалению, в Казахстане компании еще в меньшей степени внедряют такие типы хранилищ.

Существующие проблемы в крупных компаниях

Большинство компаний имеют огромное количество информационных систем. Данные могут быть не структурированы или не актуальны. Управление и анализ большого количества данных требует мощных технологий и ресурсов. Различные системы и источники данных могут использовать разные форматы и стандарты, что усложняет и увеличивает количество времени на обработку.

Корпоративное хранилище данных Data Warehouse может выступить решением этих проблем. DWH консолидирует важную бизнес-информацию и позволяет автоматически подготавливать отчеты.

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

О преимуществах внедрения DWH

DWH отличается от обычных баз данных, используемых в бизнесе. Например, обычные базы данных хранят информацию из определенных систем, где они установлены. В базе данных HR-департамента можно увидеть данные только о сотрудниках, а вот данных о поставках там не будет. 

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

Также Data Warehouse может отразить все исторические данные и архивные сведения по вашей компании, что очень удобно с точки зрения аналитики. Как правило, обычные БД не используются для хранения информации за десять последних лет работы компании. А вот для DWH такой срок — норма. Data Warehouse всегда содержит последние версии данных, потому что вся информация поступает регулярно.

Бизнес использует Data Warehouse для создания отчетов и аналитической обработки. Используя хранилище, руководители компаний могут обосновывать важные решения, подкрепляя свои идеи количественными данными. Это основа бизнес-аналитики, или BI. Имея под рукой результаты измерений по сотням показателей, можно выдвигать гипотезы и ставить эксперименты. 

Еще одно преимущество  DWH — то, что это идеальный источник для технологий машинного обучения (ML) и Data Science, а также для новых высоконагруженных систем в экосистеме компании.  

DWH легко адаптируется  под текущую бизнес-логику и очень популярно среди бизнес-аналитиков. Такой тип хранилища подходит крупным компаниям, в особенности ритейловым сетям, производственным компаниям, банковскому сектору.

Как происходит перенос данных

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

После того как написан код, нужно заняться переносом данных из старых систем учета. Этим обычно занимаются Data-инженеры и Data-аналитики. Они  легко разберутся в формате хранения данных. Но здесь могут возникнуть определенные трудности.

Основной проблемой, возникающей при переходе на DWH самостоятельно, становится перенос «слепка» базы всех данных из 1С в DWH. Почему 1С? Потому что компании СНГ зачастую пользуются 1С-системой в качестве внутреннего учета, но это могут быть и другие системы. 

Перенос данных из 1С в DWH, превышающих больше миллиона записей, занимает длительное время. Этого можно избежать. Я предлагаю использовать методологию, которую применяю в своем модуле по интеграции данных. Нужно обеспечить общий «язык» общения для осуществления обмена данными между разными системами 1С и DWH.

Чтобы каждая система могла понять структуру данных, которую они получат в сообщении, мы предлагаем принять в компании единый стандарт JSON формата. Он идеально подойдет как для 1С, так и для систем, написанных на других платформах. Этот стандарт вы можете разработать сами, регламентно внутри компании. Это похоже на международный язык общения.

Поддержка актуальности данных

После того как вы создали базу хранения DWH, в которой имеется полный объем данных из 1С, можно строить витрины данных или подключать внешние системы к нему. Но очень важно поддерживать актуальность данных.   

Обычно мы в компании OneCode четко разделяем «температуру» данных. К «холодным» можно отнести данные, которые мы используем очень редко и которые могут обновляться от одного дня до месяца. «Теплыми» являются данные, актуальность которых необходимо поддерживать от 15 минут до 1 часа. Как правило эти данные используются редко, и их задержка никак не скажется на актуальности. Но самые актуальные — «горячие» данные, потому что они влияют на процесс принятия решений в компании и должны быть выгружены мгновенно до одной минуты.

Если в работе вашей компании используются только «холодные» данные, вы можете не использовать шину данных, а поддерживать их актуальность ежедневно, делая выгрузку «слепка» данных из 1С. 

Но если вам необходимы «горячие» и «теплые» данные, мы предлагаем использовать message broker, например, Kafka Apache или другие, построенные не на API-запросах.  Kafka Apache — это распределенная система обмена сообщениями между серверными приложениями в режиме реального времени. Она имеет высокую пропускную способность, масштабируемость и надежность и поэтому применяется в компаниях, которые работают с большими объемами данных.

Data Warehousе представляет собой стабильный источник, который используется для детального просмотра информации. С помощью него вы сможете с высокой скоростью обрабатывать запросы в любой компании.