Успешное внедрение озера данных с помощью организованности
Почти на каждой встрече, которую я проводил с клиентами, чтобы обсудить создание озера данных, мне задавали единственный вопрос: «Как мне предотвратить превращение моего озера данных в болото данных?»
Ответ – организованность. Тяжелая работа, управление и организованность.
Озера данных не организованы по своей сути
Это правда, что озера данных в некотором смысле представляют собой не что иное, как большие блоки хранилища. Ничто не мешает озеру данных превратиться в беспорядочно сгруженные неорганизованные файлы. Вот почему при первом внедрении озера данных вам потребуется заранее спроектировать некоторые базовые организационные структуры.
Еще до того, как вы начнете загружать данные, вы должны разделить свое озеро данных на следующие четыре основные области.
Промежуточный уровень
Промежуточная область вашего озера данных — это место для хранения данных при их перемещении из исходной системы в другую область. Она в основном используется системами приема данных в качестве целевой зоны для новых данных. Ее также можно использовать в качестве места для незначительной обработки, например, объединения множества небольших файлов в один файл большего размера для хранения на уровне необработанных данных.
Сырой уровень или необработанные данные
Необработанная область вашего озера данных — это место, где данные хранятся неопределенное время в необработанном виде. Возможно, они и подвергались некоторой незначительной обработке, например, объединению множества небольших файлов в несколько файлов большего размера, но по большей части данные здесь остались нетронутыми.
Одним из самых больших преимуществ озера данных является возможность хранить копию сохраненных данных в исходном необработанном формате. Гибкость – это важное преимущество озера данных: поскольку мы не всегда знаем о всех вариантах использования данных, часто трудно точно узнать, в какой форме они должны быть представлены для будущих решений. Делая копию исходных данных доступной в любое время, мы можем быть уверены, что сможем применить новое форматирование, обработку и очистку в случае необходимости.
Аналитический или курируемый уровень
В этот раздел озера данных поступают данные, подвергшиеся интенсивной обработке. Иногда они агрегируются и хранятся в формате звездообразной схемы, чтобы соответствовать различным инструментам отчетности и анализа.
Аналитическая область вашего озера данных должна быть одним из самых регулируемых мест. Поскольку данные, хранящиеся здесь, тщательно обработаны, они также будут подвергаться тщательному анализу. Он должен быть защищен так же, как и ваше хранилище данных, потому что это область, к которой у большинства пользователей будет доступ и которую они будут использовать для чтения соответствующих данных.
Аналитическая область также будет служить домом для вашего онлайн-архива хранилища данных. Сохранив копию вашей звездообразной схемы в аналитической области, вы можете легко делать запросы, подобные тем, которые мы запрашивали бы в хранилище данных. Кроме того, мы можем использовать такие технологии, как SQL Server PolyBase, для объединения результатов оперативных данных хранилища данных и онлайн-архивных данных в озере данных с помощью одного запроса.
Песочница
Песочница предназначена для использования аналитиками глубокого анализа и учеными в качестве неуправляемой области. Данные могут добавляться сюда любым пользователем и не требуют управления, хотя мы предлагаем пользователям самостоятельно управлять своими данными. Эта область не предназначена для использования широким кругом пользователей для составления отчетов, а предназначена для гораздо меньшей группы пользователей, сосредоточенных на экспериментах и изучении новых концепций и решений на основе данных.
Песочница уникальна для озера данных. Сообщество пользователей редко имеет неограниченный доступ к серверу базы данных и может хранить любые данные в любой форме. Но с озером данных этот доступ вам дается легко. Поскольку мы можем применять меры безопасности к озеру данных, это гарантирует, что пользователи песочницы не смогут негативно повлиять на другие разделы озера данных.
Вот обзор четырех основных областей озера данных и того, как каждая область связана с доступом пользователей, управлением и уровнем обработки данных:
|
Промежут. |
Необраб. |
Аналитика |
Песочница |
Доступ пользователя |
Нет |
Ограничен |
Полн. чтение |
Чит./Пис. |
Управление |
Нет |
Базовый |
Полный |
Минимум, но управляется пользоват. |
Обработка данных |
Нет |
Минимал. |
Тяжелый |
Минимум. в зависимости от испол. |
Дальнейшее формирование
Помимо упомянутых выше шаблонов организованности высокого уровня, также важно поддерживать порядок в каждом разделе озера данных. Выбранный шаблон будет варьироваться в зависимости от потребностей вашего бизнес-кейса, но я хотел бы предложить следующий шаблон. Этот шаблон не только обеспечит постоянную организованность и более простое управление, но также обеспечит уровень самодокументирования. Глядя на структуру папок, будет легко понять, к какой сфере бизнеса относятся эти данные, откуда они взялись и как они вообще используются.
Большинство данных в озере данных можно организовать по варианту использования, и все данные поступают из исходной системы. Кроме того, для каждого источника данных будут определенные форматы. Поэтому хорошей отправной точкой будет использование структуры каталогов, похожей на следующий пример.
Почти все вычислительные механизмы, работающие с озером данных, предназначены для считывания данных из каждой папки, поэтому важно убедиться, что данные в одной папке имеют одинаковую форму. При этом становится возможным сбой процесса преобразования данных из-за неправильно определенных структур данных.
Например, можно создать таблицу Hive, указывающую на один файл, но гораздо чаще расположением таблицы Hive является целый каталог файлов. Если мы определим таблицу, которая описывает файл с четырьмя столбцами, разделенными вертикальной чертой, а один из файлов в каталоге имеет 9 столбцов, мы получим неожиданные данные, возвращаемые из пользовательских запросов и процедур преобразования данных.
Обеспечение успешной реализации
При внедрении вашего первого озера данных планирование шаблона структуры должно быть одной из первых задач, которые вы должны выполнить. В этой статье я предложил разделить озеро данных на четыре основные области:
- Промежуточный — для приема и перемещения данных
- Необработанный — для хранения исходных копий данных в необработанном формате на неопределенный срок.
- Аналитический — для хранения данных, которые сильно трансформируются, возможно, в схему «звезда» для анализа.
- Песочница — чтобы предоставить аналитикам и ученым возможность работать, собирать и преобразовывать новые данные без необходимости жесткого контроля.
В каждой из отдельных областей важно применить логическую организацию по бизнес-сфере, исходной системе и формату набора данных. Отдельные соображения для каждого набора данных могут быть рассмотрены и интегрированы по мере необходимости.
Дальнейший успех озера данных будет зависеть от пересмотра организационного формата и непрерывного управления данными, хранящимися в озере данных. Если у вас все еще есть вопросы или вы ищете дополнительную информацию об озерах данных, свяжитесь с нами, и мы будем рады помочь вашему проекту двигаться в правильном направлении!