Аналитики крупных предприятий и компаний часто работают с неструктурированными и разнородными данными. Это могут быть данные сайтов, данные опросов клиентов, POS-систем, CRM-систем, записи камер в залах ожидания, социальные сети, интернет-магазины, банковские приложения, информация, полученная с датчиков, т.е. данные любых бизнес-систем. Все эти данные нужно хранить, чтобы впоследствии использовать для анализа и выработки решения. Для того, чтобы загрузить такие «сырые» данные в базу данных, требуются значительные затраты.
Легче решается эта проблема с помощью data lake – озёр данных. Они дают возможность быстро и эффективно работать с огромными объемами неструктурированных данных в исходном виде. Одно из самых известных определений озера данных от специалиста по разработке программного обеспечения М. Фаулера: «Озеро данных – это файловое хранилище всех типов сырых данных, которые доступны для анализа кем угодно в организации» [1].
Озеро данных принимает данные любых форматов. Источник данных не имеет значения. Принимаются и хранятся все данные, а структура данных учитывается только в момент извлечения для определенной задачи. Поступающей в озеро информации присваиваются метаданные: время поступления, источник, формат, структура и др. Особенностями озёр являются продолжительный срок данных хранения необработанных данных, возможность реорганизации данных и использования различных схем доступа к данным.
Заранее невозможно определить объем данных, которые будут храниться в озере данных. Поэтому эта архитектура озера данных обеспечивает расширенную масштабируемость до эксабайта (260 байт). Обычная система хранения такого обеспечить не может.
Эффективно совместное использование озёр данных с хранилищами данных. Если хранящиеся в озере данные требуются для ответа на конкретный бизнес-вопрос, их можно извлечь, преобразовать и загрузить в хранилище данных для последующего анализа [1].
Озёра данных так же, как и хранилища данных, создаются с одинаковой целью – хранение данных для поддержки анализа данных и принятия решений. Хранилища и озёра данных отличаются своей архитектурой. Сравнительная характеристика архитектур приведена в табл. 1.
| Критерий | Озеро данных (Data Lake) | Хранилище данных (Data Warehouse) |
|---|---|---|
| Структура | Схема не задается заранее. Данные обрабатываются во время использования. Это схема при чтении – Schema On Read (т.е. при анализе данных) [2] | Схема задается заранее, до записи данных. Это Schema On Write – схема при записи |
| Данные | Любой тип данных из любого источника | Структурированные |
| Гибкость | Гибкие и адаптируемые к изменениям в использовании | Схему нельзя быстро изменить в соответствии с меняющимися требованиями |
| Доступ к данным | Требуются определенные навыки из-за неопределенности схемы | Легко доступны благодаря структурированной, определенной схеме |
| Стоимость хранения | Низкая стоимость | Высокая стоимость |
| Основные пользователи | Специалисты по глубокому анализу данных | Оперативные пользователи |
| Получение данных | Высокая скорость | Низкая скорость |
Для работы с озёрами данных следует наладить процесс управления данными. До загрузки в озеро необходимо проверить качество и надежность данных. Этого можно достичь различными способами, например:
- не принимать данные из сомнительных источников;
- исключить доступ к загрузке данных сотрудникам, у которых нет на это прав;
- ограничить возможность загрузки в озеро графических файлов большого объема.
Для озёр данных разработано программное обеспечение, которое упорядочивает данные в озере и упрощает доступ к данным и их использование. Самое известное – Hadoop –технология с открытым исходным кодом от компании Apache [3]. Экосистема Hadoop состоит из трех основных элементов:
1) распределенная файловая система HDFS, основная функция которой – хранение и репликация данных на нескольких серверах;
2) инструмент управления ресурсами (YARN);
3) инструмент разделения данных на более мелкие части перед обработкой на серверах.
Дополнительные инструменты облегчают процессы сбора, подготовки и извлечения данных. Hadoop доступен для работы с облачными корпоративными платформами для создания облачного озера данных. Он обеспечивает более быстрые вычисления, что сделало его достаточно популярным.
Озёра широко применяются для хранения интересной информации, которая временно не используется для аналитики, или для данных, которые в настоящий момент не нужны, но, возможно, будут нужны в будущем.
Таким образом, озёра данных находят применение для глубокого анализа данных и формирования гипотез. Они позволяют собрать большое количество данных, чтобы затем с помощью инструментов машинного обучения, аналитики и искусственного интеллекта сравнивать различные факты, строить всевозможные прогнозы, анализировать информацию со всех сторон и извлекать из данных максимум пользы.
Список литературы
- Фаулер М. Озеро данных. URL: https://martinfowler.com (дата обращения: 31.10.2024).
- Шпрингер Е. Что такое озёра данных и почему в них дешевле хранить big data. URL: https://cloud.vk.com (дата обращения: 31.10.2024).
- Что такое схема при чтении и схема при записи в Hadoop? URL: https://www.geeksforgeeks.org (дата обращения: 31.10.2024).
Информация об авторе
Казакова Ирина Анатольевна,доцент, доцент кафедры «Математическое обеспечение и применение электронных вычислительных машин», Пензенский государственный университет.
Автор заявляет об отсутствии конфликта интересов.