Rambler's Top100
Реклама
 
Статьи ИКС № 2 2019
Андрей ПИВОВАРОВ  23 мая 2019

Что кроется в глубинах озер данных

Хранение данных в озере позволяет аналитикам быстро получить их для работы и иметь под рукой источник исходной информации для расширенного анализа.

Что такое озеро данных (Data Lake)? Это место для хранения структурированных и неструктурированных данных, а также способ организации больших объемов разнообразных данных, получаемых из разных источников.

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

Чем озеро данных отличается от хранилища?

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

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

Определенная структура данных не всегда подходит для целей анализа. А операции их преобразования (Extract, Transform, Load, ETL) к более удобному для анализа виду могут занимать много времени – например, в случае масштабных банковских систем задержка нередко составляет сутки и более. Между тем некоторые события, такие как мошеннические транзакции, требуют быстрой реакции. В этом случае озеро данных используется в качестве оперативного склада данных (Operational Data Store, ODS). Платформой для ODS может служить в том числе и база данных. Озеро данных (и ODS в общем случае) позволяет аналитикам быстро получить данные для работы, не дожидаясь, пока они будут подготовлены для размещения в хранилище данных. Анализ таких данных более трудоемок, но зато они оказываются доступны через несколько минут или секунд.

К тому же во многих случаях для расширенной аналитики необходимы именно исходные данные. Например, это может быть аналитика, предполагающая любой вид интеллектуального анализа данных (mining), а именно:
  • интеллектуальный анализ текста;
  • добыча данных;
  • статистический анализ;
  • все, что связано с кластеризацией;
  • анализ графов.
Для многих из перечисленных видов аналитики нужны подробные исходные данные – этим аналитика существенно отличается от задач подготовки отчетов. Вот почему озеро данных обычно является сокровищницей данных для аналитики, по крайней мере, для ее продвинутых разновидностей.

Платформы для озер данных

Озеро данных может использоваться разными способами и базироваться на разных платформах. Hadoop – самая распространенная из них, но не единственная.

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


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

Большинство облачных хранилищ представляют собой объектные хранилища. Подход к облаку как к объектному хранилищу имеет немало преимуществ. Оно способно хранить практически неограниченные объемы данных и обеспечивает даже более дешевое хранение данных, нежели Hadoop. Такие инструменты, как Spark, позволяют эффективно анализировать размещаемые в облаке данные.

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

Hadoop в контексте хранилищ данных

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

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

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

Благодаря этим свойствам Hadoop стали широко использовать для складирования самых разных данных. Зачастую в нем размещают данные «про запас», которые пока не нужны, но могут потребоваться в будущем. В случае же хранилищ обычно известно, что предполагается делать с данными, поэтому они имеют заранее спроектированную структуру. Когда возникает ясность с назначением данных, они преобразуются к требуемому формату и перемещаются в хранилище.

Сценарии использования озер

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

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

Озеро данных довольно часто служит для накопления данных, поступающих по нескольким каналам и от множества точек контакта. Некоторые из них на самом деле представляют собой потоковые данные. Если компания предлагает своим клиентам мобильное приложение для смартфона, то данные об его использовании можно получать в режиме реального времени (или близком к нему). Часто в этом нет никакой необходимости – достаточно загружать данные раз в час или два. Тем не менее даже такая периодичность позволяет отделу маркетинга вести детальный мониторинг действий пользователей в приложении и формировать специальные предложения, поощрения, скидки и микрокампании.

Цифровая цепочка поставок. Это не менее разнообразная среда данных, и озеро данных, особенно на базе Hadoop, может в таком случае быть полезно. Hadoop в своей основе – это файловая система. В цепочке поставок генерируется много файловых данных: это и данные из файлов и документов систем EDI, и XML, и конечно же формат JSON, который все шире используется в цифровых цепочках поставок. Все это вместе – весьма разнообразная информация.

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

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

Единое озеро данных

Приведенные выше примеры демонстрируют целевое использование озер данных в определенных департаментах или ИТ-проектах, но у централизованных ИТ иной подход. Он заключается в реализации единого мультиарендного озера данных (multitenancy). С таким озером данных могут одновременно работать  различные подразделения, бизнес-единицы компаний и технологические проекты. А с накоплением опыта становится возможным оптимизировать озера данных для разнообразных вариантов использования, видов деятельности, аналитики и даже для соответствия нормативным требованиям.

Андрей Пивоваров, руководитель группы перспективных технологий предпроектного консалтинга, Oracle в России и СНГ
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!