Читать нас в Telegram
data lake
Иллюстратор: Юлия Бобкова

Термин Big Data был введен в 2008 году Клиффордом Линчем. Большими эти данные названы из-за огромных объемов (свыше 100 Гб), которые растут с течением времени. Из-за размытия термина вскоре к Big Data также отнесли все инструменты, с помощью которых проводится анализ этих данных, а также все подходы и методы их обработки и сбора. О двух подходах хранения Big Data и их последующей обработки мы и поговорим.

Data Warehouse

Big Data собирается из разных источников. Объемы информации растут быстрыми темпами, и ее где-то нужно хранить для дальнейшей обработки. Одним из подходов для хранения выступает Data Warehouse. Изначально эта база данных была специально разработана для бизнес-целей, поэтому она хорошо структурирована и легка в понимании и использовании. Data Warehouse представляет собой хранилище разных данных, которые уже отсортированы и преобразованы. То есть у пользователя есть сбор всей необходимой информации, которая хранится в файлах или папках. Данный подход позволяет легче и быстрее использоваться данные для принятия решений. Операции с данными выполняют следующие:

  1. Извлечение самих данных – вся информация от источников переходит в отдельную Базу данных и приводится к единому формату
  2. Преобразование данных – информация подготавливается для хранения в оптимальной форме
  3. Загрузка и обновление данных – данные помещаются в хранилище
  4. Анализ данных
  5. Результаты анализа данных

Data Lake

В отличие от подхода Data Warehouse, метод Data Lake представляет собой хранилище, где хранятся все необработанные данные в исходном формате без преобразования. Каждый элемент в Data Lake обозначен уникальным идентификатором и набором тегов метаданных. Данные могут быть неструктурированными, полуструктурированными или структурированными, они преобразуются только при запросе на использование. Из-за сложности подхода, Data Lake больше подходит для пользователей, занимающихся глубоким анализом данных и их исследованием.

По затратам средств метод Data Lake обходится намного дешевле, чем хранение данных в Data Warehouse. Также Data Lake быстрее выдает результат, так как у пользователей есть доступ к данным до их преобразования. Data Warehouse же потребует гораздо больше времени для внесения любых изменений в хранилище.

ETL и ELT — в чем разница?

Оба подхода используют разные процессы для управления данными. Data Warehouse использует метод ETL – Extract, Transform и Load, то есть дословно переводится как «извлечение», «преобразование» и «загрузка». В свою очередь, Data Lake использует ELT  — Extract, Load и Transform, то есть сначала идет «загрузка», а только потом «преобразование».

ETL использует промежуточный сервер для преобразования данных и только потом загружает их в хранилище Data Warehouse. Такой подход применяется для небольшого количества данных и вычислительных преобразований.

ELT работает с большими объемами данных и сразу грузит их в Базу данных, их преобразование происходит уже в целевой системе. Скорость загрузки данных никогда не зависит от их размера. Из минусов, ELT сложнее внедрить в систему в отличие от ETL, так как для внедрения и поддержки ELT требуются нишевые знания.

ETL не поддерживает Data Lake, с ним работает только ELT. Для быстрого и эффективного анализа данных лучше подойдет ETL, так как данные в нем уже структурированы и преобразованы. Если же нужно быстро и сразу загрузить всю необработанную информацию, следует использовать ELT, так как данные будут преобразованы уже после загрузки. ELT — относительно новая технология. Она стала возможна благодаря новым облачным хранилищам, где данные могут храниться в огромных объемах. Платформы Amazon Redshift и Google BigQuery дали возможность использовать ELT из-за их возможностей массово-параллельной обработки данных.

Источники

  1. Data Lake vs Data Warehouse: What’s the Difference?
  2. ETL vs ELT: Must Know Differences