что такое озеро данных data lake
Озера данных: как устроены data lakes и зачем они нужны
Читайте «Хайтек» в
Озера, витрины и хранилища
Представьте, что у компании есть доступ к неисчерпаемому информационному ресурсу — погружаясь в него, аналитики регулярно получают ценные бизнес-инсайты и запускают новые, более совершенные продукты. Примерно по такому принципу работают озера данных — data lakes. Это относительно новый вид data-архитектуры, позволяющий воедино собирать сырые и разрозненные сведения из разных источников, а потом находить им эффективное применение. Первыми с технологией начали экспериментировать такие гиганты, как Oracle, Amazon и Microsoft — они же разработали удобные сервисы для построения озер.
Сам термин data lake ввел Джеймс Диксон, основатель платформы Pentaho. Он сравнивал витрины данных с озерами данных: первые похожи на бутилированную воду, которую очистили, отфильтровали и упаковали. Озера — это открытые водоемы, в которые вода стекается из разных источников. В них можно погружаться, а можно брать образцы с поверхности. Существуют еще дата-хранилища, которые выполняют конкретные задачи и служат определенным интересам. Озерные репозитории, напротив, могут принести пользу многим игрокам, если их грамотно использовать.
Казалось бы, потоки сведений только усложняют работу аналитикам, ведь сведения не структурированы, к тому же их слишком много. Но если компания умеет работать с данными и извлекать из них пользу, озеро не превращается в «болото».
Извлекаем данные из «бункера»
И все-таки какую пользу приносят data lakes компаниям? Их главное преимущество — это изобилие. В репозиторий попадают сведения от разных команд и подразделений, которые обычно никак между собой не связаны. Возьмем для примера онлайн-школу. Разные отделы ведут свою статистику и преследуют свои цели — одна команда следит за метриками удержания пользователей, вторая изучает customer journey новых клиентов, а третья собирает информацию о выпускниках. Доступа к полной картине нет ни у кого. Но если аккумулировать разрозненные сведения в едином репозитории, то можно обнаружить интересные закономерности. Например, окажется, что пользователи, которые пришли на курсы дизайна и просмотрели хотя бы два вебинара, чаще других доходят до конца программы и строят успешную карьеру на рынке. Эта информация поможет компании удержать студентов и создать более привлекательный продукт.
Часто неожиданные закономерности обнаруживаются случайно — так, озеро данных помогает дата-аналитикам экспериментально «скрещивать» разные потоки сведений и находить параллели, которые в других обстоятельствах они бы вряд ли обнаружили.
Источники данных могут быть любыми: у онлайн-школы это будет статистика с разных каналов продвижения, у фабрики — показатели IoT-датчиков, график использования станков и показатели износа оборудования, у маркетплейса — сведения о наличии товаров в стоке, статистика продаж и данные о самых популярных платежных методах. Озера как раз помогают собирать и изучать массивы информации, которые обычно никак не пересекаются и попадают в поле внимания разных отделов.
Еще один плюс дата-озер — это извлечение данных из разрозненных репозиториев и закрытых подсистем. Часто сведения хранятся в подобии информационного «бункера», доступ к которому есть только у одного подразделения. Перенести из него материалы сложно или невозможно — слишком много ограничений. Озера эту проблему решают.
Итак, можно выделить как минимум восемь преимуществ озер данных:
Озера в первую очередь нужны распределенным и разветвленным командам. Классический пример — Amazon. Корпорация аккумулировала данные из тысячи разных источников. Так, одни только финансовые транзакции хранились в 25 различных базах, которые были по-разному устроены и организованы. Это создавало путаницу и неудобства. Озеро помогло собрать все материалы в одном месте и установить единую систему защиты данных. Теперь специалисты — дата- и бизнес-аналитики, разработчики и CTO — могли брать нужные им компоненты и обрабатывать их, используя разные инструменты и технологии. А машинное обучение помогло аналитикам Amazon строить сверхточные прогнозы — теперь они знают, сколько коробок определенного размера потребуется для посылок в условном Техасе в ноябре.
Четыре шага к дата-озерам
Но у data lakes есть и недостатки. В первую очередь они требуют дополнительных ресурсов и высокого уровня экспертизы — по-настоящему извлечь из них пользу могут только высококвалифицированные аналитики. Также потребуются дополнительные инструменты Business Intelligence, которые помогут преобразовать инсайты в последовательную стратегию.
Другая проблема — это использование сторонних систем для поддержания data lakes. В этом случае компания зависит от провайдера. Если в системе произойдет сбой или утечка данных, это может привести к крупным финансовым потерям. Однако главная проблема озер — это хайп вокруг технологии. Часто компании внедряют этот формат, следуя моде, но не знают, зачем на самом деле им это нужно. В результате они тратят большие суммы, но не добиваются окупаемости. Поэтому эксперты советуют еще на стадии подготовки к запуску определить, какие бизнес-задачи будут решать озера.
Эксперты McKinsey выделяют четыре стадии создания data lakes:
Алгоритмы-аналитики
В самом аккумулировании данных нет ничего принципиально нового, но благодаря развитию облачных систем, платформ с открытым кодом и в целом увеличению компьютерных мощностей работать с озерной архитектурой сегодня могут даже стартапы.
Еще одним драйвером отрасли стало машинное обучение — технология отчасти упрощает работу аналитиков и дает им больше инструментов для пост-обработки. Если раньше специалист потонул бы в количестве файлов, сводок и таблиц, теперь он может «скормить» их алгоритму и быстрее построить аналитическую модель.
Использование дата-озер в комплексе с ИИ помогает не просто централизованно анализировать статистику, но и отслеживать тренды на протяжении всей истории работы компании. Так, один из американских колледжей собрал сведения об абитуриентах за последние 60 лет. Учитывались данные о количестве новых студентов, а также показатели по трудоустройству и общая экономическая ситуация в стране. В результате вуз скорректировал программу так, чтобы студенты заканчивали учебу, а не бросали курсы на полпути.
Какие еще бизнес-задачи могут решать дата-озера:
Впрочем, озера используют не только в бизнес-среде — например, в начале пандемии AWS собрала в едином репозитории сведения о COVID-19: данные исследований, статьи, статистические сводки. Информацию регулярно обновляли, а доступ к ней предоставили бесплатно — платить нужно было только за инструменты для аналитики.
Data lakes нельзя считать универсальным инструментом и панацеей, но в эпоху, когда данные считаются новой нефтью, компаниям важно искать разные пути исследования и применения big data. Главная задача — это централизация и консолидация разрозненных сведений. В эпоху микросервисов и распределенных команд часто возникают ситуации, когда один отдел не знает, над чем работает другой. Из-за этого бизнес тратит ресурсы, а разные специалисты выполняют одинаковые задачи, часто не подозревая об этом. В конечном итоге это снижает эффективность и перегружает «оперативную систему» компании. Как показывают опросы, большинство компаний инвестирует в озера данных как раз для повышения операционной эффективности. Но результаты превосходят ожидания: у ранних адептов технологии выручка и прибыль растут быстрее, чем у отстающих, а главное, они быстрее выводят на рынок новые продукты и услуги.
Data Lake
Data Lake — это репозиторий для хранения, который может вмещать большой объем данных в собственном необработанном формате. Хранилища Data Lake оптимизированы для масштабирования до нескольких терабайт и даже петабайт данных. Данные обычно поступают из нескольких разнородных источников и могут быть структурированными, частично структурированными и неструктурированными. Идея, лежащая в основе Data Lake, — хранение всех данных в исходном состоянии без каких-либо преобразований. Такой подход отличает Data Lake от традиционного хранилища данных, в котором данные преобразуются и обрабатываются во время приема.
Преимущества хранилища Data Lake:
Полное решение Data Lake состоит из компонентов хранения и обработки данных. Хранилище Data Lake создано для обеспечения отказоустойчивости, бесконечной масштабируемости и высокой пропускной способности при получении данных любых форм и размеров. Компонент обработки Data Lake включает в себя один или несколько модулей обработки, созданных для этих целей, и может работать с данными, хранящимися в Data Lake в нужном масштабе.
Когда следует использовать Data Lake
К наиболее распространенным сферам применения Data Lake относятся исследования данных, анализ данных и машинное обучение.
Data Lake также может служить источником данных для хранилища данных. При таком подходе необработанные данные поступают в Data Lake, а затем преобразуются в структурированный формат, поддерживающий запросы. Обычно для этого преобразования задействуется конвейер ELT (извлечение, загрузка и преобразование), в котором данные принимаются и преобразуются на месте. Исходные данные, которые уже являются реляционными, могут передаваться непосредственно в хранилище данных с помощью процесса извлечения, преобразования и загрузки, минуя Data Lake.
Хранилища Data Lake Store часто используются при потоковой передаче событий или в сценариях Интернета вещей, так как они могут хранить большие объемы реляционных и нереляционных данных без преобразования или определения схемы. Они предназначены для обработки больших объемов мелких записей с низкой задержкой и оптимизированы для высокой пропускной способности.
Что такое озера данных и почему в них дешевле хранить big data
Сейчас все вокруг твердят про пользу big data. В итоге бизнес пытается работать с масштабными базами данных, но сталкивается с проблемой — все данные разнородные и неструктурированные, перед загрузкой в базы их нужно долго обрабатывать. В итоге работа с big data оказывается слишком сложной и дорогой, а часть данных теряется, хотя могла бы принести пользу в будущем.
Помочь с этим могут data lake — озера данных, которые помогают быстро и недорого работать с большими объемами неструктурированных данных. Расскажем о их особенностях, ключевых отличиях озер от обычных баз данных и о сферах, в которых они будут наиболее полезны.
Что такое data lake
На русский язык data lake переводится как «озеро данных». Оно представляет собой огромное хранилище, в котором разные данные хранятся в «сыром», то есть неупорядоченном и необработанном виде. Данные в data lake как рыба в озере, которая попала туда из реки, — вы точно не знаете, какая именно там рыба и где она находится. А чтобы «приготовить» рыбу, то есть обработать данные, ее нужно еще поймать.
Мы в своей жизни чаще всего сталкиваемся именно с неструктурированными данными. Видеоролики, книги, журналы, документы Word и PDF, аудиозаписи и фотографии — все это неструктурированные данные, и все они могут хранится в Data Lake.
Как работает озеро данных
Data lake — это огромное хранилище, которое принимает любые файлы всех форматов. Источник данных тоже не имеет никакого значения. Озеро данных может принимать данные из CRM- или ERP-систем, продуктовых каталогов, банковских программ, датчиков или умных устройств — любых систем, которые использует бизнес.
Уже потом, когда данные сохранены, с ними можно работать — извлекать по определенному шаблону в классические базы данных или анализировать и обрабатывать прямо внутри data lake.
Для этого можно использовать Hadoop — программное обеспечение, позволяющее обрабатывать большие объемы данных различных типов и структур. С его помощью собранные данные можно распределить и структурировать, настроить аналитику для построения моделей и проверки предположений, использовать машинное обучение.
Еще одним примером инструмента обработки данных в data lake являются BI-системы, помогающие бизнесу решать задачи углубленной аналитики (data mining), прогнозного моделирования, а также визуализировать полученные результаты. Область использования многогранна — от финансового менеджмента до управления рисками и маркетинга.
Чем озера данных отличаются от обычных баз данных
Ключевое отличие озер данных от обычных баз данных — структура. В базах данных хранятся только четко структурированные данные, а в озерах — неструктурированные, никак не систематизированные и неупорядоченные.
Пример: представим, что есть вольное художественное описание вашей целевой аудитории: «Девушки возрастом 20–30 лет, незамужние, обычно без детей, работающие на низких руководящих должностях. И мужчины 18–25 лет, женатые, без детей, без четкого места работы». Такое описание — неструктурированные данные, которые можно загрузить в data lake.
Чтобы эти данные о целевой аудитории стали структурированными, их нужно обработать и преобразовать в таблицу:
Пол | Возраст | Семейный статус | Дети | Работа | |
Портрет 1 | женский | 20–30 | в браке | нет | низкая руководящая должность |
Портрет 2 | мужской | 18–25 | в браке | нет | любая |
В классической базе данных вы должны определить тип данных, проанализировать их, структурировать — и только потом записать в четко определенное место базы данных. Мы можем создать алгоритм, который работает с конкретными ячейками, потому что четко знаем, что хранится в этих ячейках.
В случае с озером данных информацию структурируют на выходе, когда вам понадобится извлечь данные или проанализировать их. При этом процесс анализа не влияет на сами данные в озере — они так и остаются неструктурированными, чтобы их было также удобно хранить и использовать для других целей.
Есть и другие различия между базами данных и озерами данных:
Полезность данных. В базах данных все данные полезны и актуальны для компании прямо сейчас. Данные, которые пока кажутся бесполезными, отсеиваются и теряются навсегда.
В озерах хранятся в том числе и бесполезные данные, которые могут пригодиться в будущем или не понадобиться никогда.
Типы данных. В базах хранятся таблицы с конкретными цифрами и текстом, распределенными по четкой структуре.
В озерах лежат любые данные: картинки, видео, звук, файлы, документы, разнородные таблицы.
Гибкость. У базы данных гибкость низкая — еще на старте нужно определить актуальные для нее типы данных и структуру. Если появятся данные новых форматов — базу придется перестраивать.
У озер гибкость максимальная, потому что ничего не нужно определять заранее. Если вы вдруг решите записывать новые данные, например, видео с камер для распознавания лиц, озеро не придется перестраивать.
Стоимость. Базы данных стоят дороже, особенно если требуется хранить много данных. Нужно организовывать сложную инфраструктуру и фильтрацию, все это требует денег.
Озеро данных стоит намного дешевле — вы платите исключительно за занятые гигабайты.
Понятность и доступность данных. Данные в базе легко смогут прочитать и понять любые сотрудники компании, с ними могут работать бизнес-аналитики.
Чтобы структурировать данные в озере требуются технические специалисты, например Data Scientist.
Сценарии использования. Базы данных идеальны для хранения важной информации, которая всегда должна быть под рукой, либо для основной аналитики.
В озерах данных хорошо хранить архивы неочищенной информации, которая может пригодиться в будущем. Еще там хорошо создавать большую базу для масштабной аналитики.
Кому и зачем нужны озера данных
Озера данных можно использовать в любом бизнесе, который собирает данные. Маркетинг, ритейл, IT, производство, логистика — во всех этих сферах можно собирать big data и загружать их в data lake для дальнейшей работы или анализа.
Часто озера используют для хранения важной информации, которая пока не используется в аналитике. Или даже для данных, которые кажутся бесполезными, но, вероятно, пригодятся компании в будущем.
Например, вы используете на производстве сложное оборудование, которое часто ломается. Вы внедряете IoT, интернет вещей — установили датчики для контроля за состоянием оборудования. Данные с этих датчиков можно собирать в Data Lake без фильтрации. Когда данных накопится достаточно, вы сможете их проанализировать и понять, из-за чего случаются поломки и как их предотвратить.
Или можно использовать data lake в маркетинге. Например, в ритейле и e-commerce можно хранить в data lake разрозненную информацию о клиентах: время, проведенное на сайте, активность в группе в соцсетях, тон голоса при звонках менеджеру и регулярность покупок. Потом эту информацию можно использовать для глобальной и масштабной аналитики и прогнозирования поведения клиентов.
Таким образом, озера данных нужны для гибкого анализа данных и построения гипотез. Они позволяют собрать как можно больше данных, чтобы потом с помощью инструментов машинного обучения и аналитики сопоставлять разные факты, делать невероятные прогнозы, анализировать информацию с разных сторон и извлекать из данных все больше пользы.
Исследование ANGLING FOR INSIGHT IN TODAY’S DATA LAKE показывает, что компании, внедрившие Data Lake, на 9% опережают своих конкурентов по выручке. Так что можно сказать, что озера данных нужны компаниям, которые хотят зарабатывать больше, используя для этого анализ собственных данных.
Чем опасны data lake
У озер данных есть одна серьезная проблема. Любые данные, попадающие в data lake, попадают туда практически бесконтрольно. Это значит, что определить их качество невозможно. Если у компании нет четкой модели данных, то есть понимания типов структур данных и методов их обработки, плохо организовано управление озером, в нем быстро накапливаются огромные объемы неконтролируемых данных, чаще всего бесполезных. Уже непонятно, откуда и когда они пришли, насколько релевантны, можно ли их использовать для аналитики.
В итоге наше озеро превращается в болото данных — бесполезное, пожирающее ресурсы компании и не приносящее пользы. Все, что с ним можно сделать, — полностью стереть и начать собирать данные заново.
Чтобы озеро не стало болотом, нужно наладить в компании процесс управления данными — data governance. Главная составляющая этого процесса — определение достоверности и качества данных еще до загрузки в data lake. Есть несколько способов это сделать:
Настроить такую фильтрацию проще, чем каждый раз структурировать данные для загрузки в базу данных. Если процесс налажен, в data lake попадут только актуальные данные, а значит, и сама база будет достоверной.
Управление данными — это не факультативная, а приоритетная задача. В компании должен быть отдельный сотрудник, ответственный за data governance. Обычно это Chief Data Officer, CDO.
Чернобровов Алексей Аналитик
Куда слить Big Data или зачем вам озеро данных?
Корпоративные хранилища и витрины данных были рассмотрены здесь, в материале про ETL-процессы. Сегодня проанализируем еще один важный элемент современной ИТ-инфраструктуры для хранения больших данных (Big Data). Читайте в этой статье, что такое озеро данных (Data Lake), зачем оно нужно, как используется, на каких технологиях основано и чем чревато его некорректное применение.
Что такое озеро данных и кому оно нужно
Одно из отличительных свойств Big Data – это разный формат представления информации: посты в соцсетях, файлы мультимедиа, логи с технологического оборудования, записи из корпоративных баз данных и пр. Чтобы извлечь из всех этих данных полезные для бизнеса сведения, их прежде всего необходимо собрать. Как раз для этого и используется озеро данных – хранилище большого объема неструктурированных данных, собранных или генерированных одной компанией [1].
В отличие от корпоративных хранилищ данных (КХД) или Data Warehouse (DWH), в озере данных хранится неструктурированная, т.н. сырая (raw) информация. Например, видеозаписи с беспилотников и камер наружного наблюдения, транспортная телеметрия, фотографии, логи пользовательского поведения, метрики сайтов, показатели нагрузки информационных систем и пр. Такие данные пока непригодны для типового использования в ежедневной аналитике в рамках BI-систем, но могут использоваться для быстрой отработки новых бизнес-гипотез с помощью ML-алгоритмов. Таким образом, именно Data Scientist – это типичный пользователь озера данных, тогда как с DWH работает гораздо больше сотрудников: аналитики, профильные специалисты и руководители. Однако, это не единственная разница между Data Lake и КХД.
Чтобы лучше понять, что общего между этими элементами корпоративной ИТ-инфраструктуры и чем они отличаются, проанализируем их по следующим критериям [2]:
Хранятся только полезные данные, актуальные в текущем периоде времени
Хранятся все данные, в т.ч. и «бесполезные», которые могут пригодиться в будущем или же не понадобиться никогда
Четко структурированные данные одного формата
Структурированные, полуструктурированные и неструктурированные разнородные данных любых форматов: от мультимедиа файлов до текстовых и бинарных из разных источников
Низкая гибкость: структура и типы данных продумываются заранее и не подлежат изменению в процессе эксплуатации
Высокая гибкость, которая позволяет в процессе эксплуатации добавлять новые типы и структуры данных
Благодаря четкой структуре данных процесс их извлечения и обработки происходит быстро
Из-за отсутствия четкой структуры необходима дополнительная обработка данных для их практического использования
Высокая стоимость из-за сложности проектирования и модернизации, а также цены оборудования для быстрой и эффективной работы
Озеро данных намного дешевле DWH, т.к. основная статья затрат – это хранение гигабайт информации
Таким образом, озера данных дают практическому применению Data Science (DS) в бизнесе следующие преимущества [3]:
На чем стоит озеро данных
Как было отмечено выше, в большинстве случаев озера данных строятся на основе коммерческих дистрибутивов 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]:
Хотя Data Lake позиционируется, в первую очередь, как хранилище сырой информации, оно может содержать также и обработанные данные. При корректном использовании Data Lake предоставляет пользователям возможность быстро запрашивать меньшие, более актуальные и гибкие наборы данных по сравнению с DWH при аналогичном времени выполнения запросов. Это возможно благодаря вычисляемой на лету схеме данных (ad hoc), которая не предопределяется заранее, а формируется в момент доступа. Таким образом, на практике озеро данных может использоваться вместе с КХД, обеспечивая бизнес-инфраструктуру на основе информации (data-driven) [6].
Рис.2. Источники данных и процессы Data Lake
Как не превратить Data Lake в информационное болото
При всех своих достоинствах, озера данных чреваты следующими рисками [7]:
Чтобы озеро данных не превратилось в болото, необходимо отладить процесс управления данными — data governance, определяя качество информации еще до загрузки в data lake. Это можно сделать следующими способами [2]:
В дополнение к этим рекомендациям, компания Teradata, один из ведущих поставщиков Big Data решений для аналитики, приводит еще 5 советов по эффективному развертыванию озер данных [7]:
Интересна также корреляция чистоты озера данных со степенью управленческой зрелости предприятия по модели CMMI. В частности, когда ведется непрерывный мониторинг отлаженных бизнес-процессов, современные Big Data инструменты с интегрированными средствами машинного обучения позволяют обеспечить самоорганизацию Data Lake, выполняя непрерывный сбор, агрегацию и мета-разметку информации с помощью так называемых конвейеров данных (data pipeline) [8].
Уровень зрелости управления
Состояние и характер данных
Состояние Data Lake
Данные дублируются или частично отсутствуют, представлены в разных форматах и системах, не связаны между собой, велика доля ручной обработки данных
Локальное хранилище данных без определенного порядка автоматизированной обработки
Информация достаточно успешно обрабатывается автоматически в пределах одного подразделения, но не интегрирована с другими корпоративными процессами и структурами (отделами, филиалами и пр.)
Лужа или болото данных
Обмен данными между различными процессами, системами и структурами предприятия частично автоматизирован, имеется единый каталог корпоративных данных
4. Управляемый на основе количественных данных
Синхронизация данных между различными процессами, системами и структурами предприятия автоматизирована не полностью, часть процедур запускается по требованию или вручную
Управляемое озеро данных
Процедуры автоматизированного появления, обновления, обмена и синхронизации данных между различными процессами, системами и структурами предприятия отлажены и успешно работают