[Хранилище данных] Иерархическая концепция, концепции ODS, DM, DWD, DWS, DIM «Предлагаемая коллекция»
[Хранилище данных] Иерархическая концепция, концепции ODS, DM, DWD, DWS, DIM «Предлагаемая коллекция»

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

Оглавление

Предисловие:

1. Пояснения к различным терминам

1.1 Что такое ОДС?

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

1.2.1 Уровень детализации DWD?

1.2.2 Уровень сводки света DWM (MID или DWB, на основе хранилища данных)

1.2.3 Тематический уровень DWS (DM, рынок данных или DWS, служба хранилища данных)

1.3 APP?

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

1.5 ODS, DW → Уровень приложения

1,6-мерная поверхность DIM?

1.7 Простая иерархическая схема уровней

2. Вопросы

2.1 DWS и DWD?

2.2 В чем разница между ODS и DWD?

2.3 Что делает уровень приложения?

3. Резюме


Предисловие:

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

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

Так что, если у вас будет шанс в будущем, давайте встретимся с коллегами из Шуцана~

1. Пояснения к различным терминам

1.1 Что такое ОДС?

  • ODSlayer лучше всего понимается,По сутиданныеВзято из исходной таблицы,выполнить и т.д.,Например, MySQL сопоставлен с кустом.,Тогда в улье это odslayer.
  • ODS Полное имя Operational Data Хранилище, операционное хранилище данных. «Тема из», уровень операций с данными, также называемый слоем ODS, является наиболее близким к источнику данных в слое данных, источник данных в изданных, после извлечения, очистки, передачи, то есть легендарный из. ETL после,Загрузите этослой。книгаслойизданные,Вообще говоря, большинство из них классифицируются в соответствии с методом классификации исходной бизнес-системы. но,Вот этотслойлапшаизданныено не такой как оригиналданные。При загрузке этого слоя из источника необходимо выполнить такие операции, как шумоподавление (например, есть данные, в которых возраст человека 300 Годы, такого рода данные ненормальны и требуют предварительная обработка)、Удалить дубликаты(Например в таблице профилей,Имеются два дубликата одних и тех же идентификационных данных.,При доступе к из необходимо выполнить ряд операций, таких как одношаговая дедупликация) и спецификации именования полей.

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

Уровень хранилища данных (DW) является основной частью хранилища данных. Здесь данные, полученные из уровня ODS, создают различные модели данных в соответствии с темами. Этот слой будет иметь более глубокую связь с пространственным моделированием.

Сегментация:

  1. данные Подробностислой:DWD(Data Warehouse Detail)
  2. данныесерединаслой:DWM(Data WareHouse Middle)
  3. данные Служитьслой:DWS(Data WareHouse Servce)

1.2.1 Уровень детализации DWD?

Уровень детализации (ODS, Operational Data Store,DWD: data warehouse detail)

  • Концепция: хранилище данных из деталей слоя данных,Осадки STAGEслойные?,Уменьшена сложность извлечения,В то же время организация информационной модели ODS/DWD в основном соответствует форме обработки бизнес-транзакций предприятия.,Сконцентрируйтесь на различных специальностях,Детализация слоя детализации такая же, как и у слоя сцены.,Относятся к анализу из государственных ресурсов
  • метод генерации данных: часть данных поступает непосредственно из Kafka,частьданныедля интерфейсаслойданныеиисторияданныесинтез。
  • Этот сценический слой не очень понятен

1.2.2 Уровень сводки света DWM (MID или DWB, на основе хранилища данных)

  • Концепция: Легкие сводные послойные складские помещения в DWDслой иDMслойиз переходного слоя раз.,Это легкая комплексная и сводная статистика производственных данных слоев DWD (комплекс может быть очищен,Обработка содержит,Например, генерация данных сеанса на основе журналов PV). Основное отличие мягких комплексных слоев иDWDиз заключается в разных областях их применения.,DWDизданные созданы на основе производственных систем.,Осаждение не проводится для удовлетворения каких-то непредвиденных потребностей; световой синтез предназначен для мелкозернистого статистического осаждения для аналитических приложений.
  • Метод генерации данных: Создайте краткую сводную таблицу из подробностей в соответствии с определенными бизнес-требованиями. Детальный слой требует сложной очистки, а зданные требуют MR-обработки, а зданные также обрабатываются и доступны к легкому сводному слою.
  • Способ хранения журнала: внутренняя таблица, формат файла паркета.
  • Способ удаления журнала: долговременное хранение.
  • Схема таблицы: обычно создавайте разделы по дням и выбирайте поля разделов в соответствии с конкретным бизнесом, если нет понятия времени.
  • Именование библиотек и таблиц. Имя библиотеки: dwb, имя таблицы: первоначальный формат рассмотрения: имя бизнес-таблицы даты dwb, которое необходимо определить.
  • Старый метод обновления данных: прямая перезапись.

1.2.3 DWS Тематический уровень (DM, данные рынок или DWS, data warehouse service)

  • Концепция: также известен как базар данных или широкий стол. Разделено по видам деятельности,Такие как трафик, заказы, пользователи и т. д.,Создайте таблицу с множеством полей и широкой шириной.,Используется для выполнения последующих бизнес-запросов, анализа OLAP, распределения данных и т. д.
  • метод генерации данных: генерируется путем легкого сводного расчета слоев и подробного расчета данных слоев.
  • Метод хранения журналов: использование внутренней таблицы Impala и формата файла паркета.
  • Способ удаления журнала: долговременное хранение.
  • Схема таблицы: обычно создавайте разделы по дням и выбирайте поля разделов в соответствии с конкретным бизнесом, если нет понятия времени.
  • Именование библиотек и таблиц. Имя библиотеки: dm, имя таблицы: Формат первоначального рассмотрения: имя бизнес-таблицы даты dm, которое необходимо определить.
  • Старый метод обновления данных: прямая перезапись.

1.3 APP?

Уровень продукта данных (APP). Этот уровень предоставляет результирующие данные, используемые продуктами данных.

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

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

Прикладной уровень (приложение)

  • Концепция: Уровень приложений основан на потребностях бизнеса.,Результаты основаны на статистике трех предыдущих слоев.,Может напрямую обеспечивать отображение запроса,Или импортировать для использования в Mysql.
  • Метод генерации данных: генерируется на основе подробного уровня, легкого сводного уровня, уровня рынка данных, общие требования к данным в основном поступают из уровня рынка.
  • Метод хранения журналов: использование внутренней таблицы Impala и формата файла паркета.
  • Способ удаления журнала: долговременное хранение.
  • Схема таблицы: обычно создавайте разделы по дням и выбирайте поля разделов в соответствии с конкретным бизнесом, если нет понятия времени.
  • Именование библиотек и таблиц. Имя библиотеки: предварительное название apl. Кроме того, в зависимости от бизнеса, количество одной библиотеки не ограничено. (Вообще-то оно называется app_) Всё будет хорошо
  • Старый метод обновления данных: прямая перезапись.。

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

Существует два основных источника данных:

Бизнес-библиотека, где Sqoop часто используется для извлечения

Наша бизнес-библиотека использует шину данных для получения и обработки Kafka.

Что касается режима реального времени, вы можете рассмотреть возможность использования Canal для мониторинга Binlog Mysql и доступа к нему в режиме реального времени. (Я восполню этот канал, когда у меня будет возможность)

Чтобы спрятать журналы, онлайн-система вводит различные журналы. Эти журналы обычно сохраняются в виде файлов. Мы можем использовать Flume для их регулярного извлечения или использовать Spark Streaming или Storm для доступа к ним в режиме реального времени. Кафка также будет использована в ключевой роли.

Вы также можете использовать filebeat для сбора журналов, отправки их в Kafka, а затем обработки журналов.

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

1.5 ODS, DW → Уровень приложения

Здесь в основном есть два типа:

  1. Ежедневные запланированные задачи: например, наши типичные ежедневные задачи расчета.,Каждое раннее утро считается изданным предыдущего дня.,Встаньте утром и прочитайте отчет. Такого рода задачи часто используются Hive、Spark или Сырой MR программа для расчета и записывается конечный результат Hive、Hbase、Mysql、Es или Redis середина.
  2. Данные в реальном времени: эта часть в основном используется различными системами реального времени.,Например, наши рекомендации в реальном времени и портреты пользователей в реальном времени.,Обычно мы будем использовать Spark Streaming、Storm или Flink Чтобы вычислить, он окончательно попадет в Es、Hbase или Redis середина.

1,6-мерная поверхность DIM?

Измерение Наконец, добавляется поверхностный слой измерения. Поверхностный слой измерения в основном содержит две части данных: Многомерные данные с высокой мощностью: обычно таблицы данных аналогичны таблицам пользовательских данных и таблицам данных о продуктах.。данные Сумма может достигать десятков миллионовили Уровень сотен миллионов。 Данные измерения с низкой мощностью: обычно таблица конфигурации.,Например, значение перечисления соответствует китайскому значению слова «из».,или Таблица измерений даты.данные Сумма может быть однозначнойили Тысячи и десятки миллионов。

1.7 Простая иерархическая схема уровней

См. рисунок ниже. Если обрабатывается слой DWD, это слой DWM (уровень MID) (в нашем хранилище данных все еще есть много слоев dwm).

Вот объяснение функций DWS, DWD, DIM и TMP.

  • DWS: легкий обзорный слой,Составьте предварительную сводку о поведении пользователей из ODS.,Абстрагируйте некоторые общие измерения: время, IP, идентификатор.,И сделать некоторые статистические значения на основе этих измерений,Например, количество продуктов, приобретенных пользователями с разными IP-адресами входа в каждый период времени и т. д. Если сделать здесь краткое резюме, расчет станет более эффективным.,Исходя из этого, гораздо быстрее будет, если расчет будет вестись только на 7 дней, 30 дней и 90 дней. Мы надеемся, что 80% нашего бизнеса можно рассчитать через наш изDWSслой.,вместо ОДС.
  • DWD: Этот уровень в основном касается некоторых вопросов качества данных, связанных с полнотой. Например, информация профиля пользователя поступает из множества разных таблиц.,И часто бывают задержки с потерей данных и так далее вопрос,Чтобы всем пользователям было проще использовать данные,Мы можем сделать щит на этом слое. (обобщить несколько таблиц)
  • DIM: Этот уровень относительно прост.,Просто приведите пример, чтобы понять,Например, код страны и название страны, географическое положение、Китайское имя、Изображения флагов и другая информация существуют в DIMслойсередина.
  • TMP: каждое вычисление будет иметь множество временных таблиц.,Выделите слой DWTMP для хранения нашего хранилища данных во временной таблице.

2. Вопросы

2.1 DWS и DWD?

Вопросы и ответы 1: dws и dwd отношение просить:dws иdwd Это параллельно, а не последовательно? отвечать:параллельныйиз,dw слой просить:Фактически, для того же самогоданные,Являются ли эти два процесса последовательными? отвечать:dws Резюме сделаю, dwd и ods Детализация одинакова, и между двумя слоями нет зависимости. просить:Да,Вот и все dws Сводка внутри не была обработана с точки зрения качества и полноты данных или была выполнена только обработка, связанная с качеством, почему бы и нет dwd А как насчет приведенного выше резюме? На самом деле мой вопрос заключается в том, было ли обработано качество данных для слегка обобщенных результатов данных DWS? отвечать:ods непосредственно к dws Это нормально, не надо через это проходить dwd, позвольте мне привести вам пример. Если вы просматриваете поведение продукта, я сделаю небольшой обзор и помещу его прямо в раздел. dws . Но ваша информационная форма должна быть составлена ​​из множества форм. Мы собрали полную информационную форму из четырех или пяти форм личной информации. dwd середина. затем в app На слое мы хотим создать портретную таблицу, включающую информацию о пользователях и их поведение за последний год. Мы будем получать информацию непосредственно из dwd. а потом еще раз dws На основе статистики это становится таблицей приложений. Конечно, это не абсолютно, dws и dwd Есть ли зависимость, во многом зависит от того, есть ли такой спрос.

2.2 В чем разница между ODS и DWD?

просить:Все еще не совсем понимаю ods и dwd разница слоев, есть ods ощущение после слоя dwd Больше нет никакой пользы. отвечать:Хм,Вот как я это понимаю,С идеальной точки зрения,,если ods Слоеизданные очень регулярны и в принципе могут удовлетворить большинство наших потребностей. На данный момент это, конечно, хорошо. dwd слой на самом деле не очень нужен. Но на самом деле ситуация контакта такова. ods слойизданные В конце концов, сложно гарантировать качество. Существует много типов данных, и у стороны отправки также будет своя логика отправки. В этом случае нам нужно передать дополнительный уровень. dwd Чтобы скрыть некоторые различия нижнего слоя. просить:Я, наверное, понимаю,Вы имеете в виду dwd В основном прав ods слой выполнить очистку данных и нормализацию операций, dws В основном прав ods многослойные сделать немного светлее из рулона? отвечать:верноиз,Это можно понимать примерно так.

2.3 Что делает уровень приложения?

Вопросы и ответы 3: приложение Что делает слой? просить:Чувствоватьданныерынокслой Неужели некуда его поставить?,Каждый бизнес-изданный базарный стол – это то, что должно быть в нем. dwd Все еще там app? отвечать:этотвопрос Не легко ответить,Я думаю, главное — это уточнить, для чего предназначен уровень рынка данных.,Если вы положили изданные базарные слои, есть несколько широких столов, которые могут быть использованы деловыми людьми.,надевать app Просто слой. Если вы говорите, что изданные базарные слои – это более общее понятие, то на самом деле dws、dwd、app Вместе они считаются содержимым витрины данных. просить:Тогда сохраните его Redis、ES Данные в applayer? отвечать:Вот и всеиз,Я лично понимаю,app На слое в основном хранятся некоторые относительно зрелые таблицы, которые могут использоваться бизнес-стороной. Эти таблицы можно найти в Hive в или из Hive импортировать Redis или ES Такая система имеет лучшую производительность запросов.

3. Резюме

Картинка другого блоггера довольно хороша:

Предметнаходится на более высоком уровнеслой Информационная система предприятия вице-адмиралаизданныесинтезировать、Классифицироватьи Анализ и использованиеизабстрактная концепция,Каждая тема в основном соответствует области макроанализа. в логическом смысле,Он соответствует объекту анализа, задействованному в определенной области макроанализа на предприятии. Например, «Анализ продаж» — это поле анализа.,Итак, это приложение хранилища данных по теме «Анализ продаж».

Будет соответствовать различным темам

ссылка:https://www.cnblogs.com/wang3680/p/11538451.html

https://www.cnblogs.com/itboys/p/10592871.html

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/124900.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose