Подробное объяснение распределения данных в хранилище данных: ODS, DWD, DWM, DWS, ADS

база данных
Подробное объяснение распределения данных в хранилище данных: ODS, DWD, DWM, DWS, ADS

Общественный номер: You Er Hut
Автор: Питер
Редактор: Питер

Всем привет, меня зовут Питер~

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

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

http://www.lastnightstudy.com/Show?id=48/Data-Warehouse-Architecture

Графическая иерархия данных

Надеюсь, вам понравятся приведенные ниже графики с учетом роли каждого слоя данных.

作者:Peter

Что такое Хранилище данных

Хранилище данных (можно сокращенно DW или DWH) Хранилище данных — это большое количество уже существующих баз данных, этоПолный набор теоретических систем, включая etl, планирование и моделирование.

Цель построения решения для хранилища данных - служить основой для внешних запросов и анализа.Он в основном используется в OLAP (онлайн-аналитическая обработка), поддерживает сложные операции анализа, фокусируется на поддержке принятия решений и обеспечивает интуитивно понятный и понятные результаты запроса. В настоящее время наиболее популярными в отрасли являются: AWS Redshift, Greenplum, Hive и т. д.

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

Зачем стратифицировать

Проблемы, связанные с хранилищем данных:

  1. Зачем нужны хранилища данных?
  2. Зачем нужно управление качеством данных?
  3. Зачем нужно управление метаданными?
  4. Какова роль каждого уровня в многоуровневом хранилище данных?
  5.  …

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

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

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

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

многоуровневость данных

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

ODS уровня операций с данными

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

  • ODS — это область подготовки заднего слоя хранилища данных.
  • Предоставьте необработанные данные для слоя DWD
  • Снижение воздействия на бизнес-системы

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

Этот уровень данных является источником данных для последующей обработки хранилища данных. Способы получения данных:

  1. Бизнес-библиотека: sqoop регулярно извлекает данные; рассмотрите возможность использования canal для мониторинга журнала binlog mysql и доступа к нему в режиме реального времени.
  2. Скрытый журнал: журнал обычно сохраняется в виде файла, вы можете использовать Flume для регулярной синхронизации; вы можете использовать потоковую передачу искры или Flink, Kafka для доступа в режиме реального времени.
  3. Очередь сообщений: данные из ActiveMQ, Kafka и т. д.

Уровень хранилища данных

Уровень хранилища данных можно разделить на три уровня сверху вниз: уровень детализации данных DWD, средний уровень данных DWM и уровень службы данных DWS.

Уровень детализации данных DWD

Уровень детализации данных: сведения о хранилище данных, DWD

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

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

DWM среднего уровня данных

Средний уровень данных: средний уровень хранилища данных, DWM;

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

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

Уровень обслуживания данных DWS

Уровень службы данных: служба хранилища данных, DWS;

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

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

ADS прикладного уровня данных

Прикладной уровень данных: Application Data Service, ADS;

Этот слой в основном используется для продуктов данных и анализа данных.Он обычно хранится в ES, Redis, PostgreSql и других системах для онлайн-систем; он также может храниться в Hive или Druid для анализа данных и интеллектуального анализа данных.Например, обычно используется отчеты данных существуют здесь.

Таблица фактов

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

Размер поверхности Размер

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

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

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

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

использованная литература

Ссылки на эту статью:

1. Общий метод наслоения хранилища данных:Блог Woohoo.cn на.com/IT Boys/afraid/10…

2. Хранилище данных — Архитектура:Woohoo.last night study.com/show?ID=48/…

3. Что такое хранилище данных?(IBM):Woohoo. IBM.com/cloud/learn…