Вступ до типів повільної зміни розмірів (SCD) - Adatis
Розмірковуючи з написанням нещодавнього допису в блозі, я хотів зробити посилання на чіткий, стислий допис у блозі про різні типи повільно змінюваних розмірів (SCD) для тих, хто не знайомий з темою. Хоча там є цілий ряд ґрунтовних вступів, я не знайшов такого чіткого та стислого, як хотілося б.

Тому я пропоную вам власну пропозицію, короткий вступ до Повільно змінюються розмірів (SCD) у сценарії зберігання даних.
Для більш детального обговорення повільно мінливих розмірів я б запропонував переглянути власні публікації Kimball Group щодо типу 1 та типів 2 та 3.
Що повільно змінюють розміри?
Організовуючи сховище даних за зірковими схемами за стилем Кімбола, ви пов'язуєте записи фактів із записом конкретного виміру з відповідними атрибутами. Але що, якщо інформація у вимірі зміниться? Тепер ви пов'язуєте всі записи фактів з новим значенням? Ви ігноруєте зміни, щоб зберегти історичну точність? Або ви ставитесь до фактів до зміни виміру інакше, ніж до тих, що існують після?
Саме це рішення визначає, чи робити свій вимір повільно мінливим. Існує кілька різних типів SCD залежно від того, як ви ставитеся до вхідних змін.
Які бувають типи ССД?
Дуже просто, існує 6 типів повільно мінливих розмірів, які зазвичай використовуються, вони такі:
- Тип 0 - фіксований розмір
- Жодні зміни не допускаються, розмір ніколи не змінюється
- Тип 1 - немає історії
- Оновіть запис безпосередньо, немає запису історичних цінностей, є лише поточний стан
- Тип 2 - Версія рядків
- Відстежуйте зміни як записи версій із поточними прапорами та активними датами та іншими метаданими
- Тип 3 - стовпець Попереднє значення
- Відстежуйте зміну до певного атрибута, додайте стовпець, щоб показати попереднє значення, яке оновлюється у міру подальших змін
- Тип 4 - Таблиця історії
- Показувати поточне значення в таблиці розмірностей, але відстежувати всі зміни в окремій таблиці
- Тип 6 - Гібридний SCD
- Використовуйте методи з SCD типів 1, 2 та 3 для відстеження змін
Насправді широко використовуються лише типи 0, 1 і 2, а інші зарезервовані для цілком конкретних вимог. Заплутано, але в загально узгоджених визначеннях немає SCD типу 5.
Після того, як ви застосуєте вибраний тип вимірювання, ви зможете направити свої записи фактів на відповідний бізнес або сурогатний ключ. Сурогатні ключі в цих прикладах стосуються конкретної історичної версії запису, усуваючи складність об’єднання з пізніших структур даних.
Практичні приклади
Ми маємо дуже простий вимір «замовник», що має лише 2 атрибути - ім’я та країна замовника: