Хранилище данных: понятия

Что представляет собой хранилище данных?

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

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

Как разрабатываются хранилища данных?

Архитектура хранилища данных включает несколько уровней. Верхний уровень — интерфейсный клиент, предоставляющий результаты с использованием инструментов формирования отчетов, поиска и анализа данных. Средний уровень — аналитический механизм, который используется для доступа к данным и их анализа. Нижний уровень архитектуры — сервер базы данных, отвечающий за загрузку и хранение данных. Данные хранятся двумя разными способами: 1) данные, к которым нужен частый доступ, хранятся в очень быстром хранилище (например, на SSD-дисках), и 2) данные с нечастым доступом хранятся в более дешевом хранилище объектов, например в Amazon S3. Хранилище данных автоматически выполняет перенос часто используемых данных в «быстрое» хранилище для оптимизации скорости запросов.

Как работает хранилище данных?

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

Каковы преимущества использования хранилища данных?

Хранилище данных обеспечивает следующие преимущества:

  • возможность принимать обоснованные решения;
  • консолидация данных из множества источников;
  • исторический анализ данных;
  • высокое качество, непротиворечивость и точность данных;
  • изолирование операций аналитики от транзакционных БД для повышения производительности обеих систем.

Как сочетаются друг с другом хранилища данных, базы данных и озера данных?

В организациях для хранения и анализа данных традиционно применяются разные сочетания баз данных, озер данных и хранилищ данных. Архитектура озерного хранилища данных Amazon Redshift упрощает такую интеграцию.

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

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

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

Загрузка данных в хранилище данных, анализ и предоставление общего доступа к данным для других аналитических продуктов AWS

Изображение (выше). Загрузка данных в хранилище данных, анализ и предоставление общего доступа к данным для других сервисов аналитики и машинного обучения.

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

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

Сравнение хранилища данных и озера данных

Характеристики Хранилище данных Озеро данных
Данные

Реляционные данные из транзакционных систем, операционных баз данных и групп бизнес‑приложений

Любые данные, в том числе структурированные, частично структурированные или неструктурированные

Схема

Часто разрабатывается еще до реализации хранилища данных, но может создаваться и на этапе анализа

(схема при записи или схема при чтении)

Записывается в момент анализа (схема при чтении)

Соотношение цены и производительности

Самая высокая скорость выполнения запросов за счет использования локального хранилища

Ускоренное выполнение запросов за счет использования недорогого хранилища и разделения процессов вычисления и хранения

Качество данных

Данные, прошедшие строгую проверку для использования в качестве главной и достоверной версии

Любые данные, проверенные и не проверенные (необработанные данные)

Пользователи

Бизнес‑аналитики, разработчики и специалисты по работе с данными

Бизнес‑аналитики (используют проверенные данные), специалисты по работе с данными, разработчики и инженеры, создатели архитектур данных

Аналитика

Пакетные отчеты, бизнес‑аналитика и визуализация

Машинное обучение, исследовательская аналитика, изучение данных, потоковая передача, операционная аналитика, большие данные, профилирование

Сравнение хранилища данных с базой данных

Характеристики Хранилище данных Транзакционная база данных

Подходящие рабочие нагрузки

Аналитика, отчеты, большие данные

Обработка транзакций
Источник данных Сбор и нормализация данных из множества источников

Захват данных в исходном виде из одного источника, например из транзакционной системы

Захват данных

Пакетные операции записи, обычно по заданному расписанию

Непрерывные операции записи по мере поступления новых данных для повышения пропускной способности транзакций

Нормализация данных

Денормализованные схемы, например «звезда» или «снежинка»

Статические схемы с высокой степенью нормализации

Хранилище данных

Рассчитано на упрощение доступа и повышение скорости выполнения запросов за счет использования столбчатых хранилищ

Рассчитана на операции записи в один строчно‑ориентированный физический блок с высокой пропускной способностью

Доступ к данным

Рассчитано на уменьшение количества операций ввода‑вывода и достижение максимальной пропускной способности при работе с данными

Большое количество мелких операций чтения

Чем отличаются витрина данных и хранилище данных?

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

Сравнение хранилища данных и витрины данных

Характеристики Хранилище данных Витрина данных
Охват

Централизовано, содержит данные из разных областей

Децентрализована, содержит данные из определенной области

Пользователи

Вся организация

Отдельное сообщество или отдел

Источник данных

Множество источников

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

Размер

Большой, от сотен гигабайтов до петабайтов

Небольшой, обычно до десятков гигабайтов

Проектирование

Сверху вниз

Снизу вверх

Детализация данных

Полные подробные данные

Может содержать обобщенные данные

Как развертывать хранилище данных в AWS?

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

На следующем рисунке представлены основные шаги комплексного аналитического процесса (стека). AWS предоставляет для каждого из этих шагов широкий ассортимент управляемых сервисов.

AWS предлагает широкий набор продуктов и сервисов для каждого шага аналитического процесса

Изображение (вверху). AWS предлагает широкий набор продуктов и сервисов для каждого шага аналитического процесса.

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

Дальнейшие шаги