Skip to content

ivanshamaev/data-vault-2.0-Northwind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Data-Vault-Example-Northwind

Пример хранилища данных по методологии Data Vault 2.0, моделирующий учебную базу данных Northwind.

Описание таблиц базы данных

Схема базы данных Northwind

База данных Northwind — это учебная база данных, изначально созданная компанией Microsoft и на протяжении десятилетий использовавшаяся в качестве основы для обучающих материалов по различным продуктам управления базами данных. База данных Northwind содержит данные о продажах вымышленной компании «Northwind Traders», которая занимается импортом и экспортом специализированных продуктов питания со всего мира.

Northwind представляет собой отличную учебную схему для ERP-системы малого бизнеса и охватывает такие области, как клиенты, заказы, запасы, закупки, поставщики, доставка, сотрудники и упрощённый (одноконтурный) учёт. Со временем база данных Northwind была портирована на множество немайкрософтовских СУБД, включая PostgreSQL.

Набор данных Northwind включает примерные данные по следующим сущностям:

  • categories -
  • customers - клиенты, приобретающие продукты у Northwind
  • employee_territories -
  • employees - информация о сотрудниках компании Northwind Traders
  • order_details - детали заказов
  • orders - заказы на продажу, происходящие между клиентами и компанией
  • products - сведения о товарах
  • region -
  • shippers - информация о компаниях-перевозчиках, доставляющих товары от Northwind конечным клиентам
  • suppliers - поставщики и вендоры компании Northwind
  • territories -
  • us_states -

Назначение

Цель данного проекта — разработать пример хранилища данных, демонстрирующий, как моделировать хорошо известную учебную базу данных Northwind с использованием стандартов моделирования Data Vault 2.0.

Целевая схема Data Vault 2.0

Staging

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

Meta_Metrics_Error_Mart

Мета-март, март метрик и март ошибок — это специальные разновидности информационных витрин, которые в основном используются для анализа внутренних процессов хранилища данных. В данной реализации эти витрины объединены в одну базу данных и разделены по схемам.

Data_Vault

Назначение слоя Data Vault — постоянное хранение корпоративных данных со всей их историей. База данных включает как «сырой» (Raw Vault), так и бизнес-уровень (Business Vault), размещённые в отдельных схемах.

Information_Mart

Information_Mart - Формируется на основе базы данных Data Vault и предназначен для доступа конечных пользователей с целью анализа данных. Содержит оптимизированные по производительности таблицы бизнес-уровня Data Vault, а также факты и измерения в стиле Kimball.

Инициализация базы данных Northwind

  1. В базе данных PostgreSQL запустите скрипт init_northwind/northwind.sql.

Инициализация схем Data Vault 2.0 и загрузка данных по слоям

  1. Создайте базы данных Data Vault. Доступны два варианта:

    • первый каталог содержит скрипты для быстрого создания баз данных;
    • второй позволяет создавать их пошагово.

    Конечный результат в обоих случаях будет идентичным:

    • SQL\DDL\Simple
    • SQL\DDL\Detailed
  2. Выполните одноразовую загрузку «призрачных» (ghost) записей в необходимые таблицы сырого слоя Data Vault:

    • SQL\DML\ghost_records.sql
  3. Убедитесь, что установка выполнена корректно, выполнив начальную загрузку. Запустите следующий скрипт для выполнения хранимых процедур в слоях Staging, Data_Vault и Information_Mart:

    • SQL\DCL\load_all.sql
  4. После этого вы сможете выполнять запросы к представлениям размерной модели типа «звезда» (star schema) в базе Information_Mart.

Примечания

  • Базовая документация, описывающая модели данных, принятые соглашения и другие аспекты, находится в каталоге init_northwind.
  • На текущем этапе проект не охватывает создание мета-, метрик- или error-мартов. Необходимые детали описаны в книге Дэна Линстедта «Building a Scalable Data Warehouse with Data Vault 2.0».
  • Любая попытка построения промышленного хранилища данных по методологии Data Vault 2.0 должна предваряться прохождением курса CDVP2, предлагаемого Data Vault Alliance.

About

Пример Data Vault 2.0 для PostgreSQL

Topics

Resources

Stars

Watchers

Forks

Contributors