[Перевод] От базы данных к озеру данных: принципиальные различия между двумя технологиями

hscvzckazk-m7avjwhx_kofz15g.jpeg
Lake Berryessa by chateaugrief

В работе с базами и озерами данных есть принципиальные различия. Команда разработки облачного сервиса Mail.ru Cloud Big Data перевела короткую статью об устройстве Data Lake. Она пригодится тем, у кого нет большого опыта работы с реляционными базами данных.


Хранилище и серверы для обработки никак не связаны

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

В традиционных базах данных (и самых первых озерах для Hadoop) хранилище тесно связано с серверами для вычислений: хранилище встроено в сервер или сервер напрямую подключен к хранилищу.

В современной облачной архитектуре озера данных хранилище не зависит от вычислительной платформы. Данные хранят в облачном объектном хранилище — обычно в открытом формате вроде Parquet. Для вычислений используют stateless-серверы, их можно включать и отключать по необходимости.

Преимущества такого подхода:


  • Снижение затрат на вычисления. Серверы работают не все время, на период простоя их можно отключить и таким образом снизить затраты на эксплуатацию.
  • Масштабируемость. Вам не нужно приобретать оборудование с расчетом на пиковые нагрузки. Количество серверов, процессоров и модулей памяти можно увеличивать или уменьшать в зависимости от потребностей.
  • Автономность. Серверы и кластеры для вычислений могут одновременно читать одни и те же данные. Так что разные команды могут параллельно читать данные в одних и тех же кластерах, не мешая друг другу.

Вполне ожидаемый плейсмент от команды перевода

Об устройстве нашего объектного хранилища можно почитать тут: Архитектура S3: 3 года эволюции Mail.ru Cloud Storage.


Сырые данные важнее обработанных

В Database данные берут из исходных систем, преобразуют и загружают в таблицу, после этого их уже не используют. В Data Lake данные остаются навсегда и воспринимаются как ценный актив.

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

zcjh4qs-p-idghvrpedtsavyvfi.jpeg
Обработка данных в озере. Источник

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

Основные преимущества:


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

Схему обработки можно изменить в любой момент

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

Озера данных работают по-другому: если сегодня вы решили, что определенные данные не нужно загружать в систему обработки, то ничего страшного не случится — их можно добавить позднее. Все данные надежно хранятся в Data Lake, а исходник с необработанными данными можно воссоздать в любой момент.

bm03ehb3nk7_drpljjkffh_jnmw.jpeg
Изменение схемы обработки данных. Источник

Основные преимущества:


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

Заключение

Озера данных не заменяют базы данных, у каждого инструмента есть свои сильные и слабые стороны. Нелогично использовать озера данных для OLTP, как и БД — для хранения неструктурированных данных. Надеюсь, моя статья помогла вам разобраться в различиях между этими двумя системами.


Управляемый сервис для обработки больших данных можно получить на платформе Mail.ru Cloud Solutions. Новым пользователям платформы мы дарим 3000 бонусов после полной верификации аккаунта. Вы сможете повторить сценарий из статьи и попробовать работу с объектным S3-хранилищем, DBaaS и другими нашими сервисами.

Еще по теме:


  1. Вебинар «Современные базы данных для аналитики: почему DWH лучше строить в облаке».
  2. Форматы файлов в больших данных: краткий ликбез.
  3. Наш телеграм-канал с новостями технологий.

© Habrahabr.ru