Основываясь на результатах и основах предыдущей статьи, мы уже создали уровень введения данных ODS. Уровень ODS относительно прост в построении и не имеет множества ограничений и спецификаций. Однако общедоступный уровень данных CDM можно рассматривать как общедоступный уровень. Ранее мы также объединили уровень детализации данных DWD, уровень измерения данных DIM и уровень общедоступной сводки DWS в эту иерархическую структуру. Существует множество особенностей и вопросов, на которые необходимо обратить внимание при построении этого уровня. Конечно, он также окажет большую помощь в обслуживании и оптимизации хранилища данных в будущем. Затем в этой главе мы завершим конкретную конструкцию и проектные спецификации трех слоев DWD/DIM/DWS.
Уровень CDM, уровень общей модели данных, является базовым уровнем хранилища данных, который определяет общие структуры данных и бизнес-правила, используемые в хранилище данных. Уровень CDM обеспечивает единое представление, которое отображает различные источники данных и форматы данных в общую модель, что упрощает интеграцию и анализ данных аналитикам данных.
Целью уровня CDM является создание согласованного измерения и многократно используемой подробной таблицы фактов для анализа и статистики, а также обобщение показателей общедоступной детализации, тем самым снижая риск несогласованных калибров и алгоритмов расчета данных, а также улучшая возможность повторного использования данных и эффективность запросов. В этом отношении вы можете сослаться на табличную операцию, фактически построенную блоггером на уровне CDM в общей архитектуре:
Уровень DIM основан на концепции размерного моделирования.,Установите уровень согласованности во всем предприятии. Размерность – это логичное понятие,Это точка зрения, с которой бизнес измеряется и наблюдается. Таблицы измерений — это физические таблицы, построенные на платформе данных на основе измерений и их атрибутов.,Примите принцип широкой конструкции стола. поэтому,Слой сводки общих измерений (DIM) сначала требует Определить размеры.
При разделении предметной области и построении матрицы шины,Необходимо сочетать с анализом бизнес-процессов Определить размеры. В ходе торгов,Поставщики и тендеры — два ключевых аспекта,Они необходимы для анализа всех аспектов тендерной кампании. Постройте слой DIM этих двух измерений.,Требуются системные шаги и четкая бизнес-логика.
Параметр «Поставщик» (Dim_Supplier):
Размер ставки (Dim_Bid):
После завершения определения измерения измерения можно дополнить для создания таблицы измерений. Таблица слоев DIM используется для ассоциации измерений, и соответствующая информация об измерении должна быть получена через первичный ключ. В этом сценарии база данных типа KV более эффективна. К распространенным базам данных типа K-V относятся Redis и HBase. Данные Redis постоянно находятся в памяти, что оказывает большую нагрузку на память, поэтому для хранения многомерных данных выбран HBase.
При составлении таблиц измерений необходимо учитывать следующие моменты:
1.Стабильность данных в таблицах измерений
Например, участники электронной коммерции компании A обычно не умирают, но данные участников могут быть обновлены в любое время. В этом случае вам следует рассмотреть возможность создания единого раздела для хранения всех данных. Если есть записи, которые не будут обновляться, возможно, вам придется создать исторические таблицы и ежедневные таблицы отдельно. Ежедневная таблица используется для хранения действительных на данный момент записей, чтобы предотвратить расширение объема данных таблицы; историческая таблица вставляет соответствующий раздел в соответствии со временем смерти и использует один раздел для хранения записи о смерти раздела, соответствующего время.
2.Необходимо ли разбивать таблицу измерений по вертикали
Если таблица измерений имеет большое количество неиспользуемых атрибутов или запрос становится медленным из-за слишком большого количества полей атрибутов, вам необходимо рассмотреть возможность разделения полей и создания нескольких таблиц измерений.
3.Необходимо ли разбивать таблицу измерений по горизонтали
Если между записями существуют очевидные границы, вы можете рассмотреть возможность разделения их на несколько таблиц или создания многоуровневых разделов.
Основные этапы разработки таблиц измерений следующие:
Чтобы разработать таблицу бизнес-параметров назначения ставок, вы можете обратиться к:
Таблица измерений поставщиков (Dim_Supplier):
Таблица параметров ставок (Dim_Bid):
Соглашение об именовании таблицы измерений общего уровня сводки измерений (DIM):
иерархия модели | Соглашение об именовании таблиц | Примеры показывают | Описание таблицы экземпляров |
---|---|---|---|
ods | dim_общее описание, связанное с измерением_частота обработки + метод извлечения | dim_brand_df | иерархия dwm это модели、Бренд — это общее описание таблицы размеров.、d представляет частоту обработки、f представляет метод полного извлечения |
Таблица измерений поставщиков (Dim_Supplier):
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):
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, и выполняет необходимое преобразование и обработку.