Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| mdd:how_to_build_data_lake [2017/12/27 21:02] – created egdeliya | mdd:how_to_build_data_lake [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Как построить озеро данных для | ||
| + | Mark Madsen, HOW TO BUILD AN ENTERPRISE DATA LAKE: IMPORTANT CONSIDERATIONS BEFORE JUMPING IN [[http:// | ||
| + | |||
| + | Данная статья рассказывает о том, как спроектировать озеро данных. | ||
| + | |||
| + | ===== Основная часть ===== | ||
| + | |||
| + | ==== Идея и главные принципы Data Lake. ==== | ||
| + | |||
| + | Озеро данных (data lake) представляет собой единую систему для хранения и обработки всех данных, | ||
| + | |||
| + | Ключевые принципы озера данных - оно должно быть быстрым, | ||
| + | |||
| + | Озеро данных должно предоставлять инфраструктуру для хранения такого большое количества данных, | ||
| + | |||
| + | Озеро данных предоставляет не только хранилище для данных, | ||
| + | |||
| + | Озеро данных должно предоставлять возможность как хранить данные в сыром виде (без обработки), | ||
| + | |||
| + | ==== Наивное озеро данных ==== | ||
| + | |||
| + | Самым наивным подходом к созданию озера можно назвать сбор и хранение данных в чистом виде на одном из кластеров Hadoop. Помимо того что это решение не является масштабируемым, | ||
| + | |||
| + | Наивный подход к построению озера также связан с несколькими заблуждениями о данных и о том, как их можно использовать. Данный метод предполагает, | ||
| + | |||
| + | ==== Архитектура озера ==== | ||
| + | |||
| + | Озеро данных должно удовлетворять трём главным потребностям: | ||
| + | |||
| + | Получение данных должно быть разделено с управлением данных. Отделение получения данных от управления данными позволяет получать данные в одно время, а обрабатывать их в другое. Это предполагает также, что вы должны построить подсистему получения данных с неизменяемым хранилищем данных для необработанных данных. При этом вы сохраняете все исходные данные и можете хранить все ваши измененные или полученные данные отдельно. Неизменяемое хранилище данных позволяет записывать данные так быстро, | ||
| + | |||
| + | Доступ к данным должен быть независимым от получения и управления. Некоторые люди хотят получить доступ к необработанным данным, | ||
| + | |||
| + | Трехстороннее разделение функций в озере означает, | ||
| + | |||
| + | ==== Принципы построения озера данных ==== | ||
| + | |||
| + | Есть несколько принципов, | ||
| + | |||
| + | * Не нужно пытаться понять, | ||
| + | * Вместо того чтобы пытаться контролировать или предотвращать изменения данных, | ||
| + | * Вместо того чтобы контролировать то, что люди могут делать с данными, | ||
| + | |||
| + | ==== Технологическая архитектура ==== | ||
| + | |||
| + | Вот несколько требований к функциональности Data Lake. Озеро данных должно: | ||
| + | |||
| + | * давать возможность сбора данных при любой задержке | ||
| + | * хранение любых данные | ||
| + | * обеспечить централизованный доступ к данным | ||
| + | * давать возможность преобразовывать данные | ||
| + | * выполнять обработку данных | ||
| + | * публиковать данные | ||
| + | * давать возможность совместно использовать данные | ||
| + | * управлять и архивировать данные | ||
| + | |||
| + | ==== Основные услуги (сервисы) в Data Lake ==== | ||
| + | |||
| + | **Сохранение данных**. | ||
| + | |||
| + | **Перемещение данных**.Озеро данных должно предоставлять интерфейсы для перемещения данных из других систем, | ||
| + | |||
| + | **Доступ к данным**.Сервисы для доступа к данным должны обеспечивать внешним приложениям доступ к данным независимо от формата или типа хранения данных. | ||
| + | |||
| + | **Фреймворки для обработки**. | ||
| + | Есть много различных фреймворков для различных типов работ, потому что ни один не решает все проблемы в равной степени. Выбор определяется задачей, | ||
| + | При проектировании важно попытаться сохранить количество фреймворков к минимуму. | ||
| + | |||
| + | **Инструменты для управления потоками данных**. | ||
| + | Озеро данных должно иметь инструменты для потоков данных, | ||
| + | |||
| + | **Планирование и управление рабочими процессами.** | ||
| + | Для координации многочисленных потоков данных и работ, которые могут выполняться в озере, нужно предоставить инструменты для планирования и управления рабочими процессами, | ||
| + | |||
| + | **Метаданные.** | ||
| + | Все данные, | ||
| + | |||
| + | **Курирование данных.** | ||
| + | Данный сервис должен предоставлять интерфейсы и базовые услуги, | ||
| + | |||
| + | **Службы платформы**. | ||
| + | Базовая платформа, | ||
| + | Управление хранением данных, | ||
| + | |||
| + | ==== Архитектура области хранения данных ==== | ||
| + | |||
| + | Данные в озере хранятся в четырёх областях, | ||
| + | |||
| + | **Зона сбора сырых данных.** В этой зоне данные не претерпевают или претерпевают малые изменения и записываются в исходном формате. Это сделано для быстрого доступа к необработанным данным. | ||
| + | |||
| + | Этот район озера должен быть неизменным; | ||
| + | |||
| + | **Зона управления для обработанных и стандартизированных данных.** Некоторые данные более ценные или используются чаще, чем другие данные. В этом случае данные могут быть стандартизированы, | ||
| + | |||
| + | **Зона для общих или предназначенных для конкретного использования данных.** Когда данные являются общими для большой части организации, | ||
| + | |||
| + | Данные , которые предназначены для определенной цели, также принадлежит в этой области. | ||
| + | |||
| + | **Переходная зона для временных или одноразовых данных.** Эта зона может рассматриваться как место, в котором люди могут работать с данными, | ||
| + | |||
| + | Использование различных зон обеспечивает гибкость. По мере того как использование или ценность конкретных данных увеличиваются, | ||
| + | |||
| + | В то же время эта архитектура требует работы для поддержания. Данные не будут сами переходить из одной зоны в другую. Нужны определённые правила для того чтобы определить, | ||
| + | |||
| + | ====== Заключение ====== | ||
| + | |||
| + | Озеро данных представляет собой систему для хранения данных с определённой архитектурой, | ||