惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
WordPress大学
WordPress大学
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
MyScale Blog
MyScale Blog
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
P
Proofpoint News Feed
D
DataBreaches.Net

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Теория и практика DWH: что такое согласованные факты и из...
Малахова Наталья · 2026-06-28 · via Все публикации подряд на Хабре

Простой

4 мин

1.5K

Оглавление

Кто такой Кимбалл и каков его подход

Для начала познакомимся с автором методологии, о которой пойдёт речь.

Ральф Кимбалл

Ральф Кимбалл

Ральф Кимбалл - автор методологии размерного моделирования (dimensional modeling).

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

Основной его труд – это книга «The Data Warehouse Toolkit». И вот эта же книга в переводе:

основной труд Кимбалла в оригинале и в переводе

основной труд Кимбалла в оригинале и в переводе

Здесь и далее, говоря «Кимбалл», буду иметь ввиду его подход, изложенный в этих книгах.

Факты и измерения

Таблицы в размерном моделировании глобально делятся на 2 типа: факты и измерения. Вот как можно кратко их охарактеризовать:

параметр

факты

измерения

суть данных:

бизнес-события

описательный контекст

формат:

числа

текст

описание:

глаголы действий

«кто, что, где, когда, почему и как», окружающие событие

в SQL-запросе:

то, что агрегируем

то, по чему фильтруем и группируем

таблицы:

узкие и длинные

широкие и короткие

null:

оставляем

заменяем описательной строкой (например, ‘undefined’)

Что же такое такое согласованные факты и измерения? Давайте разберёмся по-порядку.

Согласованные факты

цитаты из книги Кимбалла в русском переводе

цитаты из книги Кимбалла в русском переводе

Согласованные факты - это когда одни и те же бизнес-события - в разных местах - имеют:

  • одинаковое наименование

  • одинаковое определение

Например, в магазине выручка не называлась бы:

  • revenue,

  • sales,

  • rev,

  • sales_amount,

  • rub_amount,

  • […]

    а везде называлась бы одним способом, например, revenue.

В онлайн-кинотеатре это могло бы быть одинаковое определение, например, времени смотрения. Вместо разных:

  • watched_time,

  • play_duration_sec,

  • wt,

  • […]

    для одинакового факта было бы одно название.

    А если в двух витринах расчёт факта/определение факта отличается, то и названия должны быть разными. Например:

  • watched_time

  • watched_time_without_pause

Лирическое отступление

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

цитаты из книги Кимбалла в русском переводе

цитаты из книги Кимбалла в русском переводе

И особенно важны для хранилища - измерения:

цитаты из книги Кимбалла в русском переводе

цитаты из книги Кимбалла в русском переводе

Согласованные измерения

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

цитаты из книги Кимбалла в русском переводе

цитаты из книги Кимбалла в русском переводе

Это когда один и тот же описательный контекст бизнес-событий - в разных местах - имеет:

  • одинаковое наименование

  • одинаковое определение

  • связан с разными таблицами фактов

Например, в магазине покупатель не назывался бы:

  • customer_id,

  • client_id,

  • user_id,

  • shop_client_id,

  • […]

    А везде назывался бы одним способом, например, customer_id; и это значение использовалось в разных таблицах фактов, например, в таблице заказов, в таблице с адресом доставки и т.д.

В онлайн-кинотеатре это могло бы быть одинаковое определение, например, того же пользователя/клиента и/или его профиля. Вместо разных:

  • user_id,

  • merged_user_id,

  • userid,

  • […]

    или

  • profile_id,

  • multiprofile_uid,

  • […]

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

  • user_id

  • merged_user_id

Как технически организовываются согласованные измерения – описано в главе 19, можно выделить в частности:

  • подсистема 8: согласующая система стр. 560-562

  • подсистема 14: конвейер суррогатных ключей стр. 576-578

  • подсистема 17: система управления измерениями стр.580-581

  • подсистема 18: система предоставления фактов стр.581-582

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

SVOT, или single version of truth

Согласованные измерения помогают исследовать данные в хранилище:

  • и вглубь (drill-down),

  • и вдоль (drill across).

Например, имея согласованный идентифиактор клиента вы можете:

  • наряду с агрегированными данными (N покупок в месяц) посмотреть детализированные данные (по каждой из N покупок) - это пример исследования вглубь (drill-down)

  • наряду с данными о покупках посмотреть данные из других бизнес-областей (например, данные о выданных промокодах или данные о смене адреса) - это пример исследования вдоль (drill across)

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

Итак, согласованные факты и измерения помогают иметь в хранилище единую версию правды (SVOT): они буквально и есть инструментарий Кимбалла (как указано в названии книг).

К сожалению, на практике хранилище данных может не иметь согласованных измерений или фактов. Сам Кимбалл считает это ошибкой №1 в списке возможных неудач при построении DWH.

Возможно, более повсеместное знакомство с принципами моделирования данных поможет дата-инженерам и аналитикам DWH говорить на одном языке и строить ту самую SVOT)