Руководство по началу работы для инженеров по разработке/хранилищу данных (5) Спецификации и процессы построения слоев CDM-DIM
Руководство по началу работы для инженеров по разработке/хранилищу данных (5) Спецификации и процессы построения слоев CDM-DIM

Предисловие

Основываясь на результатах и ​​основах предыдущей статьи, мы уже создали уровень введения данных ODS. Уровень ODS относительно прост в построении и не имеет множества ограничений и спецификаций. Однако общедоступный уровень данных CDM можно рассматривать как общедоступный уровень. Ранее мы также объединили уровень детализации данных DWD, уровень измерения данных DIM и уровень общедоступной сводки DWS в эту иерархическую структуру. Существует множество особенностей и вопросов, на которые необходимо обратить внимание при построении этого уровня. Конечно, он также окажет большую помощь в обслуживании и оптимизации хранилища данных в будущем. Затем в этой главе мы завершим конкретную конструкцию и проектные спецификации трех слоев DWD/DIM/DWS.

Обзор и состав МЧР

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

  • Уровень общего измерения (DIM): на основе концепции многомерного моделирования он устанавливает согласованные измерения для всего предприятия. Уменьшите риск несогласованности калибров и алгоритмов расчета данных. Таблицы на уровне общедоступных измерений часто также называются таблицами логических измерений, а измерения и логические таблицы измерений обычно соответствуют один к одному.
  • Уровень фактов общедоступной сводной детализации (DWS). Используя предметный объект анализа в качестве драйвера моделирования, на основе требований к индикаторам приложений и продуктов верхнего уровня строится таблица фактов сводного индикатора общедоступной детализации, и модель физизируется с помощью средства широких столов. Создавайте статистические индикаторы со стандартизированными названиями и единообразным калибром, предоставляйте общедоступные индикаторы для верхнего уровня, а также создайте сводные широкие таблицы и подробные таблицы фактов. Таблицы общедоступного уровня детализации сводных данных часто называются сводными логическими таблицами и используются для хранения данных производных показателей.
  • Слой детализированных фактов (DWD): принимая бизнес-процесс в качестве движущей силы моделирования и на основе характеристик каждого конкретного бизнес-процесса создается наиболее детализированная подробная таблица фактов. Объединив характеристики использования данных на предприятии, некоторые важные поля атрибутов измерений подробной таблицы фактов можно сделать соответствующим образом избыточными, то есть обработать широкую таблицу. Таблицы на детальном уровне фактов часто также называют логическими таблицами фактов.

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

Построение слоя DIM

Уровень DIM основан на концепции размерного моделирования.,Установите уровень согласованности во всем предприятии. Размерность – это логичное понятие,Это точка зрения, с которой бизнес измеряется и наблюдается. Таблицы измерений — это физические таблицы, построенные на платформе данных на основе измерений и их атрибутов.,Примите принцип широкой конструкции стола. поэтому,Слой сводки общих измерений (DIM) сначала требует Определить размеры.

Определить размеры

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

1. Определите потребности бизнеса и источники данных.

Параметр «Поставщик» (Dim_Supplier)

  • потребности бизнеса:Необходимость записывать и анализировать основную информацию о каждом поставщике.、Квалификация、Историческое представление и т.д.
  • Источник данных:Система управления поставщиками、Квалификация Система аутентификации、Исторические записи транзакций и т. д.

Размер ставки (Dim_Bid)

  • потребности бизнеса:Необходимо записывать и анализировать конкретную информацию по каждой заявке.、Время торгов、Количество、Поставщики и т. д.
  • Источник данных:Система управления тендерами、система управления проектами、Система оценки заявок и т.д.

2. Структура таблицы проектных размеров

После завершения определения измерения измерения можно дополнить для создания таблицы измерений. Таблица слоев DIM используется для ассоциации измерений, и соответствующая информация об измерении должна быть получена через первичный ключ. В этом сценарии база данных типа KV более эффективна. К распространенным базам данных типа K-V относятся Redis и HBase. Данные Redis постоянно находятся в памяти, что оказывает большую нагрузку на память, поэтому для хранения многомерных данных выбран HBase.

  • Рекомендуется, чтобы информация в таблице размеров не превышала 10 миллионов штук.
  • При объединении таблиц измерений с другими таблицами рекомендуется использовать Map Join.
  • Избегайте слишком частого обновления данных таблицы измерений.

При составлении таблиц измерений необходимо учитывать следующие моменты:

1.Стабильность данных в таблицах измерений

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

2.Необходимо ли разбивать таблицу измерений по вертикали

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

3.Необходимо ли разбивать таблицу измерений по горизонтали

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

Основные этапы разработки таблиц измерений следующие:

  1. Предварительный Определить размеры。 Обеспечьте постоянство размерностей.
  2. Определите основную таблицу измерений (в этом уроке используется центральная таблица фактов, звездообразная схема). Основной таблицей измерений здесь обычно является таблица уровня введения данных (ODS), которая напрямую синхронизируется с бизнес-системой. Например, s_auction — это таблица продуктов, синхронизированная с внешней системой центра продуктов, и эта таблица является основной таблицей измерений.
  3. Определите соответствующие таблицы измерений. хранилище данные — это интеграция данных исходных бизнес-систем.,Существуют корреляции между таблицами в разных бизнес-системах или в одной бизнес-системе. По результатам бизнес-обзора,Определите, какие таблицы связаны с основной таблицей измерений.,И выберите несколько таблиц для создания атрибутов измерения. Возьмем в качестве примера измерение продукта.,На основе анализа бизнес-логики,Можно получить, что товары связаны с категориями, продавцами, магазинами и другими измерениями.
  4. Определите атрибуты измерения. В основном он включает в себя два этапа. Первый этап — выбор атрибутов измерения из основной таблицы измерений или создание новых атрибутов измерения; второй этап — выбор атрибутов измерения из связанной таблицы измерений или создание новых атрибутов измерения. Взяв в качестве примера измерение продукта, выберите атрибуты измерения или сгенерируйте новые атрибуты измерения из основной таблицы измерений (s_auction), категории, продавца, магазина и других связанных таблиц измерений. Разработка атрибутов измерения требует внимания:
    • Создайте как можно больше атрибутов измерения.
    • Дайте как можно больше осмысленных словесных описаний.
    • Различать числовые атрибуты и факты.
    • Постарайтесь выделить общие атрибуты размеров.

Чтобы разработать таблицу бизнес-параметров назначения ставок, вы можете обратиться к:

Таблица измерений поставщиков (Dim_Supplier)

  • Идентификатор_поставщика
  • Имя_поставщика
  • Промышленность
  • Квалификация
  • Рейтинг
  • Страна
  • Город
  • Дата регистрации (Registration_Date)

Таблица параметров ставок (Dim_Bid)

  • Идентификатор ставки (Bid_ID)
  • Идентификатор_поставщика
  • Идентификатор проекта (Project_ID)
  • Сумма ставки (Bid_Amount)
  • Дата предложения (Bid_Date)
  • Статус ставки (Bid_Status)

3. Соглашение об именовании таблиц DIM.

Соглашение об именовании таблицы измерений общего уровня сводки измерений (DIM):

иерархия модели

Соглашение об именовании таблиц

Примеры показывают

Описание таблицы экземпляров

ods

dim_общее описание, связанное с измерением_частота обработки + метод извлечения

dim_brand_df

иерархия dwm это модели、Бренд — это общее описание таблицы размеров.、d представляет частоту обработки、f представляет метод полного извлечения

4. Создайте оператор создания таблицы SQL DLL.

Таблица измерений поставщиков (Dim_Supplier):

Язык кода:javascript
копировать
CREATE TABLE Dim_Supplier_da (
    Supplier_ID INT PRIMARY KEY,
    Supplier_Name VARCHAR(100) NOT NULL,
    Industry VARCHAR(50),
    Qualification VARCHAR(50),
    Rating VARCHAR(10),
    Country VARCHAR(50),
    City VARCHAR(50),
    Registration_Date DATE
);
​

Таблица параметров ставок (Dim_Bid):

Язык кода:javascript
копировать
CREATE TABLE Dim_Bid_da(
    Bid_ID INT PRIMARY KEY,
    Supplier_ID INT NOT NULL,
    Project_ID INT NOT NULL,
    Bid_Amount DECIMAL(10,2) NOT NULL,
    Bid_Date DATE NOT NULL,
    Bid_Status VARCHAR(20),
    FOREIGN KEY (Supplier_ID) REFERENCES Dim_Supplier(Supplier_ID),
    FOREIGN KEY (Project_ID) REFERENCES Dim_Project(Project_ID)
);

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

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.