Що таке зіркова схема в моделюванні сховищ даних?

⚡ Розумний підсумок

Зіркова схема в моделюванні сховища даних розміщує центральну таблицю фактів в центрі навколишніх таблиць вимірів, створюючи денормалізовану зіркоподібну структуру, яка спрощує аналітичні запити, пришвидшує звітність та забезпечує роботу кубів OLAP на різних платформах бізнес-аналітики.

  • ???? Основна структура: Центральна таблиця фактів безпосередньо пов'язана з денормалізованими таблицями вимірів, утворюючи зірку, яка називає схему.
  • 📊 Таблиці фактів: Таблиці фактів зберігають такі показники, як продані одиниці та дохід, а також зовнішні ключі, що пов'язані з кожним навколишнім виміром.
  • 🗂️ Таблиці розмірів: Таблиці вимірів містять описові атрибути, такі як продукт, дилер, філія та дата, які дозволяють аналітикам аналізувати та фільтрувати факти.
  • Продуктивність запитів: Денормалізовані виміри означають менше об'єднань, тому зіркоподібна схема забезпечує простий SQL та швидку звітність для великих наборів даних.
  • ❄️ Зірка проти Сніжинки: Зіркова схема зберігає кожен вимір в одній таблиці, тоді як сніжинкова схема нормалізує виміри в пов'язані таблиці підвимірів.
  • 🛠️ Етапи проектування: Побудова зіркоподібної схеми відповідає потоку Кімбалла: виберіть бізнес-процес, встановіть зернистість, виберіть виміри, а потім визначте факти.
  • 🧊 OLAP та бізнес-аналітика: Зіркові схеми живлять куби OLAP і широко підтримуються інструментами бізнес-аналітики, хоча сильна денормалізація послаблює цілісність даних.

Зіркова схема в моделюванні сховища даних з центральною таблицею фактів та навколишніми таблицями вимірів

Що таке зіркова схема?

A зіркова схема У сховищі даних використовується структура моделювання, в якій одна центральна таблиця фактів з'єднана з низкою пов'язаних таблиць вимірів. Вона називається схемою зірки, оскільки макет нагадує зірку, де таблиця фактів розташована в центрі, а таблиці вимірів розходяться назовні, як точки.

Зіркова схема — це найпростіший тип схеми сховища даних, також відома як схема зіркоподібного об'єднання. Оскільки її таблиці вимірів денормалізовані, модель оптимізована для запитів дуже великих наборів даних, що робить її поширеним вибором для розмірне моделювання та звітність.

Що таке багатовимірна схема?

A багатовимірна схема розроблено спеціально для моделювання систем сховищ даних. Ці схеми відповідають унікальним потребам дуже великих баз даних, створених для аналітичних цілей OLAP а не для рутинної обробки транзакцій.

Типи схем сховища даних: Існує три основні типи багатовимірних схем, і кожен з них пропонує свої переваги.

  • Зіркова схема – центральна таблиця фактів, безпосередньо з’єднана з денормалізованими таблицями вимірів.
  • Схема сніжинки – розширення зіркової схеми, в якій розмірності нормалізуються в додаткові таблиці підвимірів.
  • Схема галактики – також називається сузір’ям фактів, воно використовує кілька таблиць фактів, які мають спільні таблиці вимірів.

Оскільки схема сніжинки безпосередньо базується на схемі зірки, корисно порівняти дві моделі, перш ніж працювати з детальним прикладом схеми зірки.

Зіркова схема проти схеми сніжинки

Зіркова схема та схема сніжинки Обидва впорядковують дані навколо таблиць фактів та вимірів, але вони відрізняються способом зберігання вимірів. Зіркова схема зберігає кожен вимір в одній денормалізованій таблиці, тоді як сніжинкова схема нормалізує ці виміри в кілька пов'язаних таблиць.

  • Структура: Зіркова схема є плоскою та простою; схема сніжинки розгалужує виміри на підвиміри.
  • Швидкість запиту: Зіркові схеми потребують менше об'єднань, тому запити зазвичай виконуються швидше, а SQL залишається простішим.
  • зберігання: Схеми «сніжинка» усувають надмірність, тому вони використовують менше місця, але ускладнюють проектування.
  • Цілісність даних: Нормалізовані розміри сніжинки краще забезпечують цілісність, тоді як денормалізовані розміри зірки сприяють продуктивності.
  • Простота використання: Зіркова схема простіше зрозуміла аналітикам і швидше підтримується, тоді як схема «сніжинка» вимагає більш ретельного проектування.

На практиці команди часто обирають схему «зірка» для вітрин даних та панелей інструментів, які вимагають швидкої та простої звітності, а схему «сніжинка» — коли економія місця для зберігання та сувора узгодженість мають більше значення.

Приклад схеми зірки

У наведеному нижче прикладі схеми «зірка» таблиця фактів розташована в центрі та містить ключі до кожної таблиці вимірів, таких як Dealer_ID, Model_ID, Date_ID, Product_ID та Branch_ID, а також вимірювані атрибути, такі як продані одиниці та дохід.

Приклад моделювання даних зіркоподібної схеми з центральною таблицею фактів продажів, об'єднаною з таблицями вимірів продукту, дилера, філії, дати та моделі
Приклад зіркової схеми

Кожна таблиця навколишніх вимірів додає описовий контекст до цих показників, тому один запит може групувати або фільтрувати факти продажів за дилером, моделлю, датою, продуктом або філією без об'єднання будь-яких інших таблиць.

Таблиці фактів

Таблиця фактів у схемі типу «зірка» містить факти та пов’язана з вимірами. Таблиця фактів містить два типи стовпців:

  • Стовпець, у якому зберігаються факти або показники.
  • Зовнішні ключі, що посилаються на кожну таблицю вимірів.

Зазвичай, первинний ключ таблиці фактів – це складений ключ, що складається з усіх зовнішніх ключів, що входять до складу таблиці.

Таблиці фактів можуть містити факти на рівні деталізації або агреговані факти. Таблиці фактів, що містять агреговані факти, часто називаються зведеними таблицями, і вони зазвичай містять факти, які вже були агреговані до певного рівня.

Розмірні таблиці

Вимір – це структура, яка класифікує дані в ієрархію. Вимір без ієрархій та рівнів називається плоским виміром або списком. Первинний ключ кожної таблиці вимірів є частиною складеного первинного ключа таблиці фактів.

Атрибут виміру — це описовий текстовий атрибут, який допомагає описати значення виміру, таке як назва продукту або місто. Оскільки таблиці вимірів зберігають цей описовий контекст, а не транзакційні події, таблиці фактів зазвичай набагато більші за таблиці вимірів.

Як розробити схему зірки

Проектування схеми «зірка» відповідає підходу до розмірного моделювання, популяризованому Ральфом Кімбаллом. Мета полягає в організації бізнес-показників навколо чітких, повторно використовуваних вимірів, щоб до готової моделі було легко звертатися з запитами та швидко створювати звіти. Наведені нижче п'ять кроків окреслюють процес, якого дотримується більшість проектів розмірного моделювання, переходячи від бізнес-питання найвищого рівня до таблиць фізичних фактів та вимірів.

  1. Визначте бізнес-процес: Виберіть діяльність, яку потрібно проаналізувати, наприклад, продажі, відправленняping, або інвентаризацію. Це рішення визначає, що вимірюватиме таблиця фактів.
  2. Декларуйте зерно: Визначте рівень деталізації, який представляє кожен рядок фактів, наприклад, один рядок на елемент, на транзакцію або на день. Чітка зернистість забезпечує узгодженість моделі.
  3. Визначте розміри: Перелічіть описовий контекст, необхідний для розбивки фактів, такий як продукт, клієнт, дилер, філія та дата. Кожен з них стає таблицею вимірів атрибутів.
  4. Визначте факти: Визначте числові показники, які бізнес хоче track, таких як продані одиниці, дохід або собівартість, і розмістити їх у центральній таблиці фактів.
  5. Збери зірку: Зв'яжіть таблицю фактів з кожним виміром за допомогою зовнішніх ключів, зберігайтеping розмірності денормалізовані, таким чином діаграма утворює єдину центральну таблицю фактів, оточену своїми розмірностями.

Після побудови зірки додайте сурогатний ключ до кожного виміру, переконайтеся, що кожна таблиця фактів має пов'язаний вимір дати, і підтвердьте, що всі факти розташовані в одному порядку. Також гарною практикою є спочатку завантажувати атомарні дані найнижчого рівня, оскільки зведені таблиці завжди можна отримати пізніше. Дотримання цих правил забезпечує оптимізацію схеми для високої продуктивності та простоти. сховище даних звітність.

Характеристики зіркової схеми

  • Кожен вимір у зірковій схемі представлений лише однією таблицею вимірів.
  • Кожна таблиця вимірів містить свій власний набір атрибутів.
  • Таблиця вимірів з'єднується з таблицею фактів за допомогою зовнішнього ключа.
  • Таблиці вимірів не пов'язані одна з одною.
  • Таблиця фактів містить ключі та міри.
  • Зіркова схема проста для розуміння та забезпечує оптимальне використання дискового простору.
  • Таблиці вимірів не нормалізовані. Наприклад, у наведеному вище прикладі Country_ID не має окремої таблиці пошуку Country, як OLTP дизайн би.
  • Ця схема широко підтримується інструментами бізнес-аналітики.

Переваги зіркової схеми

Зіркова схема пропонує кілька переваг, які роблять її популярною відправною точкою для проектування сховищ даних:

  • Зіркові схеми використовують простішу логіку об'єднання, ніж інші схеми, під час отримання даних з високо нормалізованих транзакційних джерел.
  • Зіркова схема спрощує поширену логіку бізнес-звітності, таку як звітність за період та за станом на момент реалізації.
  • Зіркові схеми широко використовуються системами OLAP для ефективного створення кубів, і зіркова схема може служити джерелом без проектування структури куба в більшості основних систем OLAP.
  • Завдяки можливості налаштування продуктивності, яке можна застосовувати до запитів, процесор запитів може пропонувати кращі плани виконання.

Недоліки зіркової схеми

  • Оскільки схема сильно денормалізована, цілісність даних не забезпечується суворо.
  • Він не є гнучким з точки зору потреб передового аналізу.
  • Зіркові схеми не підсилюють зв'язки "багато до багатьох" між бізнес-суб'єктами.

Коли використовувати зіркову схему

Зіркова схема – це правильний вибір, коли швидка та передбачувана продуктивність запитів важливіша за економію місця для зберігання. Оскільки модель денормалізована у таблицях вимірів та низька кількість об’єднань, вона підходить для аналітичних навантажень, коли бізнес-користувачі неодноразово запускають подібні звіти, панелі інструментів та агрегації над великими обсягами історичних даних.

Типові ситуації, коли схема типу «зірка» є дуже доцільною, включають:

  • Вітрини даних: Відомча вітрин даних з простими, добре зрозумілими зв'язками отримують користь від читабельної структури.
  • Панелі бізнес-аналітики: Бізнес-аналітика Інструменти чітко відображаються на зіркових схемах, тому звіти та візуальні елементи створюються швидко.
  • Куби OLAP: Зіркові схеми є природним джерелом для кубів OLAP, агрегації та аналізу методом зрізів та кубиків.

Якщо пріоритет зміщується в бік мінімального сховища, суворої цілісності даних або глибоких, мінливих ієрархій, схема «сніжинка» або більш нормалізований дизайн можуть бути кращими. Багато команд навіть поєднують ці два варіанти, починаючи зі схеми «зірка» та нормалізуючи лише ті виміри, які цього дійсно потребують.

Поширені запитання

Таблиця фактів зберігає вимірювані числові бізнес-події, такі як продані одиниці або дохід, а також зовнішні ключі. Таблиця вимірів зберігає описові атрибути, такі як продукт, дата або філія, які надають цим фактам контекст. Таблиці фактів зазвичай набагато більші за таблиці вимірів.

Зіркова схема денормалізована. Кожен вимір зберігається в одній таблиці без підтаблиць пошуку, що зменшує кількість об'єднань та пришвидшує запити. Компромісом є деяка надлишковість даних та слабше забезпечення цілісності даних порівняно з нормалізованою схемою "сніжинка".

Схема галактики, яку також називають сузір'ям фактів, містить кілька таблиць фактів, які мають спільні таблиці вимірів. Вона підходить для складних сховищ, які track може одночасно використовувати кілька бізнес-процесів, але її складніше розробляти та запитувати, ніж зіркову схему з одним фактом.

Класична схема зірки використовує одну центральну таблицю фактів. Коли сховищу потрібно кілька таблиць фактів, що мають спільні виміри, дизайн стає схемою галактики або сузір'я фактів. Keeping Одна таблиця фактів на зірку спрощує запити та спрощує розуміння моделі.

Сурогатний ключ — це згенерований системою ідентифікатор, зазвичай ціле число, який використовується як первинний ключ таблиці вимірів замість бізнес-ключа. Він забезпечує швидке з'єднання, залишається стабільним при зміні вихідних ключів та підтримує tracкороль історичних змін у вимірах.

Так. Потужність БІ оптимізовано для зіркових схем, тому моделювання даних як однієї таблиці фактів, оточеної вимірами, покращує продуктивність, спрощує показники DAX та спрощує керування зв'язками, ніж у випадку зі сніжинкою або плоским дизайном.

Помічники ШІ можуть пропонувати таблиці фактів та вимірів з опису схеми, рекомендувати зернистість та позначати відсутні виміри дат або сурогатні ключі. Вони пришвидшують моделювання, але інженер даних повинен переглянути запропонований дизайн, перш ніж запускати його у виробництво.

Так. ChatGPT та Копілот GitHub може створювати запити CREATE TABLE та об'єднувати їх для таблиць фактів та вимірів за допомогою короткого запиту. RevПерегляньте згенеровані ключі, типи даних та зернистість перед запуском SQL, оскільки штучний інтелект може неправильно прочитати вимоги.

Підсумуйте цей пост за допомогою: