Проектирование и внедрение хранилища данных в облаке

Tags: хранилище данных, DataWarehouse, cloud, облако

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

Введение

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

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

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

Проектирование хранилища данных

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

Большинство компаний, которые утверждают, что у них есть хранилище данных, не понимают, что это понятие не связано с построением “свалки” для таблиц. Вместо этого хорошее хранилище превращает необработанные данные в нечто очищенное, организованное, обобщенное и дополненное. Существует множество стандартных конструкций, которые вы можете попытаться построить. Например, стандартное хранилище данных с извлечением, преобразованием и загрузкой (ETL) использует уровни продвижения, интеграции и доступа к данным для поддержания основных функций:

  1. В промежуточной базе данных хранятся необработанные данные, извлеченные из нескольких источников системы данных.
  2. Затем уровень интеграции объединяет различные наборы данных и преобразует их из более раннего уровня и сохраняет эти преобразованные данные в базе данных хранилищ операционных данных (ODS). После процесса интеграции данные снова перемещаются в базу данных хранилища, где они сортируются по иерархии и сохраняются как факты, так и агрегированные факты.
  3. Третий уровень, уровень доступа, - это то, где пользователи могут извлекать данные по мере необходимости.

Архитектура хранилища данных

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

В большинстве случаев хранилище данных использует трехуровневую архитектуру. Каждый из уровней описан ниже:

  1. Нижний уровень. Архитектура нижнего уровня состоит из сервера базы данных хранилища данных. Это реляционная система баз данных. Пользователи могут использовать бэкэнд-инструменты, а также утилиты для ввода данных в этот уровень. Бэкэнд инструменты отвечают за выполнение функций Extract, Clean, Load, а также функции обновления.
  2. Средний уровень - средний уровень содержит сервер аналитической обработки On-Line (OLAP), который реализуется реляционными OLAP (ROLAP) и многомерными OLAP (MOLAP).
  3. Верхний уровень - это клиентский слой, расположенный на лицевой стороне. Верхний уровень содержит инструменты, используемые для запросов, отчетов, анализа и разработки данных.

Существует много реализаций трехуровневой архитектуры. Традиционная реализация использовала базы данных для реализации складов. В современной реализации используется облако.

Локальное хранилище данных

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

  • Data Roll Up - данные обобщаются путем сводки
  • Pivot - данные перекрестно табулируются или чередуются по мере необходимости
  • Slice and Dice - на основе определенных измерений выполняются операции проецирования
  • Drill Down - раскрывает подзадачи различных наборов данных
  • Selection - возможность выбора данных на основе значений и диапазона
  • Sorting - возможность сортировки данных на основе порядкового значения

Недостатком традиционного метода хранения данных является то, что он требует больше ресурсов, большего времени разработки и доступа к инструментам бизнес-аналитики. Коды ETL должны быть написаны от руки, что требует чрезмерно длительного периода времени для создания хранилища данных. Из-за задержки во времени хранилище данных, чаще всего, не синхронизируется с требованиями, необходимыми во время развертывания.

К сожалению, фактическое значение, а также возможности данных плохо понимались до создания хранилища данных и к тому времени хранилище уже не соответствовало текущим требованиям. Если проектирование хранилища данных не было остановлено на полпути к завершению, его завершение приводило к дорогостоящему и негибкому способу анализа данных.

Процесс создания традиционного хранилища включал следующие шаги:

  1. Определение и сбор требований
  2. Проектирование размерной модели
  3. Выполнение запросов T-SQL для создания и заполнения таблиц измерений и фактов

Хранилище данных в облаке

Облачное хранилище данных - это, по сути, подход Data Warehouse as Service (DWaaS), предназначенный для упрощения дорогостоящего и трудоемкого управления, обслуживания и администрирования и тонкой настройки, необходимой при работе с локальными хранилищами данных. Реализация архитектуры DW в облаке проще, потому что инструменты облачного хранилища построены соответствующим образом.

Реализация средних и верхних уровней функциональности архитектуры требует очень мало усилий по сравнению с инфраструктурой DW на месте. Инструменты облачного хранилища данных также используют алгоритмы машинного обучения, которые иначе трудно построить для предприятия.

Размещение DW на облаке приносит много преимуществ. Перенос традиционного хранилища данных в облако может быть сложным процессом перемещения данных, схемы и ETL. В случае реструктуризации схемы базы данных или если вы планируете перестраивать различные конвейеры данных, сложность миграции возрастает экспоненциально.

Когда бизнес решает о облачном хранилище, возникает следующий очевидный вопрос: следует ли использовать открытое облако или частное?

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

Защита данных и конфиденциальность также предусмотрены, так как большинство частных облаков размещаются в сети центра обработки данных. Частные облака также могут обеспечить производительность, стоимость, масштабируемость, гибкость, а также преимущества эластичности.

Таблица сравнения традиционного, облачного частного и открытого хранилищ данных

Традиционное хранилище данных

Открытое облачное хранилище данных

Частное облачное хранилище данных

Начальные затраты

Высокие

Низкие

От средних к высоким

Дополнительные затраты

Высокие

Низкие

Низкие, пока не достигнут лимит оборудования

Время выполнения среды

Высокое

Низкое

Низкое, при условии, что настроены все приобретенные аппаратные средства и виртуальные машины

Масштабируемость

Необходимо предварительное планирование

Безотлагательное

Необходимо предварительное планирование

Производительность рабочей нагрузки

Высокие рабочие нагрузки

Низкие рабочие нагрузки

Высокие рабочие нагрузки

Интеграция данных

Легкая

Тяжелая

Легкая

Законы о

конфиденциальности

Соблюдаются

Могут как соблюдаться, так и нет

Соблюдаются

Безопасность данных

Высокая

Низкая

Высокая

Подводя итог:

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

No Comments

Add a Comment