Облачное хранилище данных: проектирование и реализация

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

  1. Нижний уровень — архитектура нижнего уровня состоит из сервера базы данных хранилища данных. Это реляционная система баз данных. Пользователи могут использовать внутренние инструменты, а также утилиты для ввода данных на этот уровень. Инструменты серверной части ответственны за извлечение, очистку, загрузку, а также функции обновления.
  2. Средний уровень — средний уровень содержит сервер On-Line Analytical Processing (OLAP), реализуемый Реляционными OLAP (ROLAP) и Многомерными OLAP (MOLAP) технологиями обработки данных.
  3. Верхний уровень — верхний уровень является клиентским уровнем, расположенным на видимой стороне пользовательского интерфейса. Верхний слой содержит инструменты, используемые для запросов, отчетов, анализа и извлечения данных.

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

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

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

  • Сведение данных — данные обобщаются в итоговые
  • Вращение – данные различных таблиц группируются или переставляются по мере необходимости
  • Смешение — на основе заданных параметров выполняются проекционные операции
  • Детализация — показывает под-детали различных наборов данных
  • Выборка — возможность выбора данных по значению и диапазону
  • Сортировка — возможность сортировки данных по порядковому значению

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

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

Процесс строительства традиционного хранилища данных включает следующие этапы:

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

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

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

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

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

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

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

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

Сравнительная Таблица — традиционное и публичное облако и хранилище данных на основе частного облака

 Локальное хранилище данныхХранилище данных в публичном облакеХранилище данных в частном облаке
Затраты на разработку и внедрениеВысокиеНизкиеОт средних до высоких
Эксплуатационные затратыВысокиеНизкиеНизкие, до достижения границ возможностей железа
Время развертыванияВысокоеНизкоеНизкий, при условии, что все оборудование закуплено и настроены виртуальные машины
МасштабируемостьТребуется предварительное планированиеМгновеннаяТребуется предварительное планирование
Рабочие нагрузкиВысокая нагруженностьНизкая нагруженностьВысокая нагруженность
Интеграция данныхЛегкоТяжелоЛегко
Соответствие законам о конфиденциальностиСоответствуетМожет соответствовать, но может и нетСоответствует
Защита данныхВысокаяНизкаяВысокая

Заключение

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