Чернобровов АлексейАналитик

Куда слить Big Data или зачем вам озеро данных?

Корпоративные хранилища и витрины данных были рассмотрены здесь, в материале про ETL-процессы. Сегодня проанализируем еще один важный элемент современной ИТ-инфраструктуры для хранения больших данных (Big Data). Читайте в этой статье, что такое озеро данных (Data Lake), зачем оно нужно, как используется, на каких технологиях основано и чем чревато его некорректное применение.

Что такое озеро данных и кому оно нужно

Одно из отличительных свойств Big Data – это разный формат представления информации: посты в соцсетях, файлы мультимедиа, логи с технологического оборудования, записи из корпоративных баз данных и пр. Чтобы извлечь из всех этих данных полезные для бизнеса сведения, их прежде всего необходимо собрать. Как раз для этого и используется озеро данных – хранилище большого объема неструктурированных данных, собранных или генерированных одной компанией [1].

В отличие от корпоративных хранилищ данных (КХД) или Data Warehouse (DWH), в озере данных хранится неструктурированная, т.н. сырая (raw) информация. Например, видеозаписи с беспилотников и камер наружного наблюдения, транспортная телеметрия, фотографии, логи пользовательского поведения, метрики сайтов, показатели нагрузки информационных систем и пр. Такие данные пока непригодны для типового использования в ежедневной аналитике в рамках BI-систем, но могут использоваться для быстрой отработки новых бизнес-гипотез с помощью ML-алгоритмов. Таким образом, именно Data Scientist – это типичный пользователь озера данных, тогда как с DWH работает гораздо больше сотрудников: аналитики, профильные специалисты и руководители. Однако, это не единственная разница между Data Lake и КХД.

Чтобы лучше понять, что общего между этими элементами корпоративной ИТ-инфраструктуры и чем они отличаются, проанализируем их по следующим критериям [2]:

  • полезность содержимого;
  • структуры (типы) данных;
  • гибкость;
  • доступность;
  • стоимость.

Критерий

Data Warehouse

Data Lake

Полезность

Хранятся только полезные данные, актуальные в текущем периоде времени

Хранятся все данные, в т.ч. и «бесполезные», которые могут пригодиться в будущем или же не понадобиться никогда

Структура

Четко структурированные данные одного формата

Структурированные, полуструктурированные и неструктурированные разнородные данных любых форматов: от мультимедиа файлов до текстовых и бинарных из разных источников

Гибкость

Низкая гибкость: структура и типы данных продумываются заранее и не подлежат изменению в процессе эксплуатации

Высокая гибкость, которая позволяет в процессе эксплуатации добавлять новые типы и структуры данных

Доступность

Благодаря четкой структуре данных процесс их извлечения и обработки происходит быстро

Из-за отсутствия четкой структуры необходима дополнительная обработка данных для их практического использования

Стоимость

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

Озеро данных намного дешевле DWH, т.к. основная статья затрат – это хранение гигабайт информации

Таким образом, озера данных дают практическому применению Data Science (DS) в бизнесе следующие преимущества [3]:

  • масштабируемость – распределенная файловая система позволяет по мере необходимости подключить новые машины или узлы без изменения структуры хранилища или сложной перенастройки;
  • экономичность – Data Lake можно построить на базе свободного ПО Apache Hadoop, без дорогостоящих лицензий и дорогих серверов, используя нужное количество сравнительно бюджетных машин;
  • универсальность – большие объемы разнородным данных могут использоваться практически для любой исследовательской DS-задачи – от прогнозирования спроса до выявления пользовательских предпочтений или влияния погоды на качество продукции;
  • быстрота запуска – накопленные объемы Data Lake позволяют быстро проверить очередную ML-модель, не тратя время и инженерные ресурсы на сбор информации из разных источников.
Рис.1 Отличия озера данных от КХД
Рис.1 Отличия озера данных от КХД

 

На чем стоит озеро данных

Как было отмечено выше, в большинстве случаев озера данных строятся на основе коммерческих дистрибутивов Apache Hadoop (Cloudera/HortonWorks, MapR, Arenadata) или облачных решений от Amazon Web Services, Microsoft Azure, Mail.ru, Яндекса и других Cloud-провайдеров. Существуют также готовые продукты от специализированных вендоров корпоративного сектора Big Data: Teradata, Zaloni, HVR, Podium Data, Snowflake и т.д. [4]

В любом случае, независимо от выбранной базы, организация Data Lake включает следующие компоненты [5]:

  • средства загрузки данных в пакетном (batch) или потоковом (streaming) режимах. Например, непрерывный сбор данных может быть организован с помощью Apache Kafka или NiFi, а пакетный – с использованием Apache Airflow.
  • файловое хранилище, которое должно быть масштабируемым, отказоустойчивым и достаточно дешевым. Например, HDFS (распределенная файловая система Apache Hadoop) или Amazon S3.
  • инструменты каталогизации и поиска, чтобы быстро искать необходимую информацию с помощью метаданных и дополнительных решений, например, Apache Solr или Amazon ElasticSearch.
  • средства обработки данных для их трансформации, очистки и других преобразований с целью последующего использования. Например, Apache Spark – Big Data фреймворк для работы с данными в режиме near real time, включая ML-моделирование (Spark MLLib).
  • компоненты обеспечения информационной безопасности – организация защищенного периметра сети (Apache Knox Gateway), резервного копирования, репликации и восстановления, шифрование SSL, безопасные протоколы (Kerberos), политики ограничения доступа с помощью Apache Ranger и Atlas.

Хотя Data Lake позиционируется, в первую очередь, как хранилище сырой информации, оно может содержать также и обработанные данные. При корректном использовании Data Lake предоставляет пользователям возможность быстро запрашивать меньшие, более актуальные и гибкие наборы данных по сравнению с DWH при аналогичном времени выполнения запросов. Это возможно благодаря вычисляемой на лету схеме данных (ad hoc), которая не предопределяется заранее, а формируется в момент доступа. Таким образом, на практике озеро данных может использоваться вместе с КХД, обеспечивая бизнес-инфраструктуру на основе информации (data-driven) [6].

Рис.2. Источники данных и процессы Data Lake
Рис.2. Источники данных и процессы Data Lake

 

Как не превратить Data Lake в информационное болото

При всех своих достоинствах, озера данных чреваты следующими рисками [7]:

  • низкое качество данных ввиду их отсутствия контроля при их загрузке, а также простоты этого процесса и дешевизны хранения информации;
  • сложность определения ценности данных. С одной стороны, философия Big Data предполагает важность любой информации. Но, с другой стороны, если бизнесу быстро нужны какие-то данные, об этом, как правило, известно заранее. А потому такую информацию логично сразу загружать в DWH или витрину BI-системы.
  • превращение озера данных в болото, что является последствием двух предыдущих рисков.

Чтобы озеро данных не превратилось в болото, необходимо отладить процесс управления данными — data governance, определяя качество информации еще до загрузки в data lake. Это можно сделать следующими способами [2]:

  • отсекать источники с заведомо недостоверными данными; настроить ролевые политики прав доступа на загрузку информации для определенных категорий сотрудников;
  • проверять некоторые параметры файлов, например, размер изображений или видео/аудиозаписей.

В дополнение к этим рекомендациям, компания Teradata, один из ведущих поставщиков Big Data решений для аналитики, приводит еще 5 советов по эффективному развертыванию озер данных [7]:

  • интегрируйте озеро данных с другими элементами корпоративной ИТ-инфраструктуры: DWH, базами данных информационных систем, облачными сервисами, устройствами интернета вещей и прочими источниками потенциально нужных данных. При этом помните о балансе между емкостью хранилища, его быстротой и разумной стоимостью этого решения.
  • не засоряйте Data Lake – вместо одного глобального хранилища имеет смысл организовывать несколько пространств и сразу размещать данные по категориям. Эта мера также улучшит функциональное свойство, важнейшее с точки зрения пользователя – скорость считывания информации.
  • поддерживайте доверие к данным, фиксируя их происхождение (data provenance) и проверяя качества метаданных.
  • дайте Data Scientist’ам и аналитикам инструменты для исследования, профилирования и получения ответов на свои запросы из озера данных, организовав их в кроссфункциональные команды с data инженерами, разработчиками и бизнес-экспертами.
  • обеспечьте безопасность, предупреждая возможные утечки и потери данных с помощью политик управления доступом, средств организации защищенного периметра, резервного копирования, репликации и восстановления.

Интересна также корреляция чистоты озера данных со степенью управленческой зрелости предприятия по модели CMMI. В частности, когда ведется непрерывный мониторинг отлаженных бизнес-процессов, современные Big Data инструменты с интегрированными средствами машинного обучения позволяют обеспечить самоорганизацию Data Lake, выполняя непрерывный сбор, агрегацию и мета-разметку информации с помощью так называемых конвейеров данных (data pipeline) [8].

Уровень зрелости управления

Состояние и характер данных

Состояние Data Lake

1. Начальный

Данные дублируются или частично отсутствуют, представлены в разных форматах и системах, не связаны между собой, велика доля ручной обработки данных

Локальное хранилище данных без определенного порядка автоматизированной обработки

2. Управляемый

Информация достаточно успешно обрабатывается автоматически в пределах одного подразделения, но не интегрирована с другими корпоративными процессами и структурами (отделами, филиалами и пр.)

Лужа или болото данных

3. Определенный

Обмен данными между различными процессами, системами и структурами предприятия частично автоматизирован, имеется единый каталог корпоративных данных

Озеро данных

4. Управляемый на основе количественных данных

Синхронизация данных между различными процессами, системами и структурами предприятия автоматизирована не полностью, часть процедур запускается по требованию или вручную

Управляемое озеро данных

 

5. Оптимизируемый

Процедуры автоматизированного появления, обновления, обмена и синхронизации данных между различными процессами, системами и структурами предприятия отлажены и успешно работают

Самоорганизующееся

озеро данных

 

Вместо заключения

По прогнозу Markets&Markets, к 2021 году рынок озер данных вырастет до $8,81 млрд с годовым темпом роста 28,3% [4]. Этот тренд подтверждает исследование «Angling for Insights in Today's Data Lake», показывая почти 10% рост выручки у компании, использующих эту технологию [2]. Однако, при универсальности и высокой потенциальной пользе Data Lake, организация чистого озера данных, которое принесет реальную выгоду бизнесу – это достаточно сложная задача. Как и в любом DS-проекте, прежде всего следует оценить его будущие перспективы с учетом затрат на реализацию. Сегодня организация озера данных оправдана в компаниях, которые можно отнести к data-driven организациям: телекомы, крупные ритейлеры, особенно интернет-маркеты, банки и производственные холдинги с распределенной структурой филиалов. Обычно в таких организациях процессы находятся на 4-5 уровне CMMI, а ИТ-инфраструктура, включая Big Data, представляет собой сложный комплекс проприетарных и самописных решений по непрерывной поставке различных данных. Поэтому Data Lake отлично впишется в уже существующий ИТ-ландшафт, дополняя и обогащая его новыми данными.

 

Источники

  1. https://www.bigdataschool.ru/wiki/data-lake
  2. https://mcs.mail.ru/blog/chto-takoe-ozera-dannyh-i-zachem-tam-hranyat-big-data
  3. https://jet.su/datalake/
  4. https://aboutdata.ru/2017/06/01/data-lakes/
  5. https://habr.com/ru/post/485180/
  6. https://www.sas.com/ru_ru/insights/articles/data-management/data-lake-and-data-warehouse-know-the-difference.html
  7. https://www.cnews.ru/articles/kak_razvernut_ozero_dannyh_5_sovetov
  8. https://resources.zaloni.com/i/1078782-data-lake-maturity-model/3

Контакты