Перейти к содержимому
TelegramGitHub

The Data Warehouse Toolkit — конспект книги

The Data Warehouse Toolkit, 3rd Edition — книга Ralph Kimball и Margy Ross (Wiley, 2013). Это главный учебник по dimensional modeling. В ней 21 глава: основы и приёмы моделирования (главы 1–2), 14 глав с кейсами из бизнеса и отраслей (3–16), жизненный цикл проекта, ETL и big data. Это конспект на русском. К каждой главе есть схема и практика на DuckDB.

Это собственный пересказ, а не перевод. За полным текстом идите в оригинал. Схемы и данные для SQL придуманы заново.

  • Dimensional modeling — основа dbt-проектов и BI-витрин. Слои fct_* и dim_* пришли из этой книги.
  • Книга нужна не только data engineer. Analytics engineer и аналитик тоже строят и читают star schema.
  • Приёмы работают в любом хранилище: Snowflake, BigQuery, Redshift, DuckDB.
  • Книга учит на примерах из отраслей. Вы сравниваете свой случай с готовым.
  • Глава 2 — справочник: все приёмы моделирования на нескольких страницах.
ЧастьГлавыО чём
Основы1–2DW/BI, star schema, все приёмы моделирования
Бизнес-процессы3–9Розница, склад, закупки, заказы, учёт, CRM, HR
Отрасли10–16Финансы, телеком, транспорт, образование, медицина, e-commerce, страхование
Проект и ETL17–20Жизненный цикл, процесс моделирования, 34 подсистемы ETL
Big data21Большие данные и аналитика
ПриёмГде разбирается
Grain, fact, dimension, star schemaГлава 3
Slowly changing dimensions (SCD 0–7)Глава 5, кратко в главе 2
Conformed dimensions и bus matrixГлавы 4, 18
Три типа fact table: transaction, snapshot, accumulatingГлавы 4, 6
Junk, role-playing, degenerate dimensionsГлавы 2, 6
Bridge table для связи many-to-manyГлавы 8, 10, 14
Mini-dimensionГлавы 5, 8, 10
Factless fact tableГлавы 3, 13
  • Новичок. Главы 1–3, затем 4 и 6. После них хватает для первой витрины.
  • Analytics engineer. Главы 2, 3, 6, 8, 9. Затем 19–20 про загрузку.
  • Data engineer. Главы 2, 19, 20 и отраслевая глава, близкая к вашей работе.
  • Руководитель. Главы 1, 17, 18.
  • Установите DuckDB: brew install duckdb или откройте shell.duckdb.org.
  • Данные в каждой главе создаются SQL-кодом. Файлы скачивать не нужно.
  • Блоки кода идут по порядку. Выполняйте их сверху вниз в одной сессии.
  • Сначала решайте задание сами. Потом открывайте решение.
  • Нужен вводный курс перед книгой? Пройдите базовый минимум Dimensional Modeling: 11 уроков на данных одного магазина.
ГлаваТема
1. DW/BI и основы dimensional modelingАрхитектура DW/BI, Kimball и Inmon, star schema и OLAP
2. Приёмы dimensional modelingСправочник приёмов: SCD, виды fact table, conformance
3. Продажи в розницеЧетыре шага проектирования, star schema
4. СкладSnapshot, accumulating snapshot, semi-additive
5. ЗакупкиЗаказы поставщикам, общие dimensions
6. ЗаказыЗаголовок и строки, role-playing, pipeline
7. Бухгалтерский учётГлавная книга, бюджеты, проводки
8. CRMКлиент 360, mini-dimension, поведение
9. HRИстория сотрудников, иерархии, навыки
10. Финансовые услугиСчета, домохозяйства, bridge
11. ТелекомБиллинг, звонки, география
12. ТранспортМаршруты и сегменты, role-playing
13. ОбразованиеПриём, регистрация, посещаемость
14. МедицинаДиагнозы, bridge с весами
15. E-commerceClickstream, сессии, воронки
16. СтрахованиеПолисы, покрытия, убытки
17. Жизненный цикл KimballЭтапы DW/BI-проекта
18. Процесс моделированияBus matrix, workshops, проверка grain
19. Подсистемы ETL34 подсистемы ETL
20. Разработка ETLПроектирование и запуск ETL
21. Big dataBig data и dimensional modeling