Общественный номер: You Er Hut
Автор: Питер
Редактор: Питер
Всем привет, меня зовут Питер~
Сегодня я привожу статью о хранилищах данных и многоуровневости данных. Я прочитал много статей, и меня много раз спрашивали во время интервью, поэтому я разобрал их и поделился с вами.
Многоуровневая структура данных — очень важная часть проектирования хранилища данных.Хорошая многоуровневая структура может упростить понимание и использование всей системы данных. В этой статье описывается, как понять роль различных слоев в хранилище данных.
Графическая иерархия данных
Надеюсь, вам понравятся приведенные ниже графики с учетом роли каждого слоя данных.
Что такое Хранилище данных
Хранилище данных (можно сокращенно DW или DWH) Хранилище данных — это большое количество уже существующих баз данных, этоПолный набор теоретических систем, включая etl, планирование и моделирование.
Цель построения решения для хранилища данных - служить основой для внешних запросов и анализа.Он в основном используется в OLAP (онлайн-аналитическая обработка), поддерживает сложные операции анализа, фокусируется на поддержке принятия решений и обеспечивает интуитивно понятный и понятные результаты запроса. В настоящее время наиболее популярными в отрасли являются: AWS Redshift, Greenplum, Hive и т. д.
Хранилище данных — это не конечный пункт назначения данных, а подготовка к конечному пункту назначения данных, эти приготовления включают в себя: очистку, экранирование, классификацию, реорганизацию, слияние, разделение, статистику и т. д.
Зачем стратифицировать
Проблемы, связанные с хранилищем данных:
- Зачем нужны хранилища данных?
- Зачем нужно управление качеством данных?
- Зачем нужно управление метаданными?
- Какова роль каждого уровня в многоуровневом хранилище данных?
- …
В практической работе мы все надеемся, что наши данные могут передаваться упорядоченным образом, а дизайнеры и пользователи могут четко знать весь цикл объявления данных, как показано на левом рисунке ниже.
Однако на практике ситуация с данными, с которой мы сталкиваемся, скорее всего, будет очень сложной и хаотичной.Мы можем создать систему данных с хаотичной структурой зависимостей таблиц и циклическими зависимостями, как показано на правом рисунке ниже.
Чтобы решить проблемы, с которыми мы можем столкнуться, нам нужен набор эффективных методов организации, управления и обработки данных, чтобы сделать нашу систему данных более упорядоченной.многоуровневость данных. Преимущества многоуровневого хранения данных:
- Четкая структура данных: пусть каждый слой данных будет иметь свою роль и обязанности, что может быть более удобным и понятным при использовании и обслуживании
- Упрощение сложной проблемы: разбейте сложную задачу на несколько шагов для пошагового выполнения, каждый уровень решает только определенную проблему.
- Унифицированный калибр данных: унифицированный экспорт данных и унифицированный выходной калибр за счет многоуровневого распределения данных.
- Сократите повторяющуюся разработку: стандартизируйте слои данных и разработайте общий средний уровень, который может значительно сократить повторяющиеся вычислительные операции.
многоуровневость данных
Бизнес каждой компании может быть разделен на разные уровни в соответствии с ее собственными бизнес-потребностями; в настоящее время популярными уровнями данных являются: уровень операций с данными, уровень хранилища данных и уровень обслуживания данных.
ODS уровня операций с данными
Слой операций с данными: область подготовки данных Operation Data Store, также известная как исходный уровень. Данные в источнике данных попадают на этот уровень после извлечения, очистки и передачи, то есть процесса ETL. Основные функции этого слоя:
- ODS — это область подготовки заднего слоя хранилища данных.
- Предоставьте необработанные данные для слоя DWD
- Снижение воздействия на бизнес-системы
Чтобы учесть проблему с последующими данными, которые, возможно, потребуется отследить, не рекомендуется выполнять слишком много работы по очистке данных для этого слоя, а к исходным данным можно получить доступ как есть.
Этот уровень данных является источником данных для последующей обработки хранилища данных. Способы получения данных:
- Бизнес-библиотека: sqoop регулярно извлекает данные; рассмотрите возможность использования canal для мониторинга журнала binlog mysql и доступа к нему в режиме реального времени.
- Скрытый журнал: журнал обычно сохраняется в виде файла, вы можете использовать Flume для регулярной синхронизации; вы можете использовать потоковую передачу искры или Flink, Kafka для доступа в режиме реального времени.
- Очередь сообщений: данные из 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…