Какво е звездна схема в моделирането на Data Warehouse?
⚡ Умно обобщение
Звездната схема в моделирането на хранилища за данни поставя централна таблица с факти в основата на околните таблици с измерения, създавайки денормализиран, звездообразен дизайн, който опростява аналитичните заявки, ускорява отчитането и захранва OLAP кубове в различни платформи за бизнес разузнаване.
Какво е звездна схема?
A звездна схема В хранилището за данни е моделираща структура, в която една централна таблица с факти се свързва с редица свързани таблици с измерения. Тя се нарича звездна схема, защото оформлението наподобява звезда, като таблицата с факти се намира в центъра, а таблиците с измерения се разпростират лъчевидно навън като точки.
Звездната схема е най-простият тип схема за хранилище за данни и е известна още като схема за звездно присъединяване. Тъй като таблиците с измерения са денормализирани, моделът е оптимизиран за заявки към много големи набори от данни, което го прави често срещан избор за размерно моделиране и докладване.
Какво е многомерна схема?
A многоизмерна схема е проектиран специално за моделиране на системи за хранилища на данни. Тези схеми отговарят на уникалните нужди на много големи бази данни, които са изградени за аналитични цели на OLAP а не за рутинна обработка на транзакции.
Видове схеми за хранилища за данни: Има три основни типа многомерни схеми и всеки от тях предлага своите предимства.
- Звездна схема – централна таблица с факти, свързана директно с денормализирани таблици с измерения.
- Схема на снежинка – разширение на звездната схема, в което измеренията са нормализирани в допълнителни таблици с подразмери.
- Схема на галактиката – наричана още констелация на факти, тя използва множество таблици с факти, които споделят общи таблици с измерения.
Тъй като схемата „снежинка“ се основава директно на звездната схема, е полезно да сравните двата модела, преди да работите върху подробен пример за звездна схема.
Звездна схема срещу схема „Снежинка“
Звездната схема и схема на снежинка И двете организират данните около таблици с факти и измерения, но се различават по начина, по който се съхраняват измеренията. Звездната схема съхранява всяко измерение в една денормализирана таблица, докато схемата „снежинка“ нормализира тези измерения в няколко свързани таблици.
- Структура: Звездната схема е плоска и проста; схемата на снежинка разклонява измеренията на подизмерения.
- Скорост на заявката: Звездните схеми се нуждаят от по-малко съединения, така че заявките обикновено се изпълняват по-бързо и SQL кодът остава по-опростен.
- Съхранение: Схемите тип „снежинка“ премахват излишествата, така че използват по-малко място, но добавят сложност на дизайна.
- Целостта на данните: Нормализираните размери на снежинките осигуряват по-добра целостност, докато денормализираните размери на звездите благоприятстват производителността.
- Лесна употреба: Звездната схема е по-лесна за разбиране от анализаторите и по-бърза за поддръжка, докато схемата тип „снежинка“ изисква по-внимателен дизайн.
На практика екипите често избират звездна схема за информационни хранилища и табла за управление, които изискват бързо и лесно отчитане, и схема тип „снежинка“, когато спестяването на място за съхранение и стриктната последователност са от по-голямо значение.
Пример за звездна схема
В следващия пример със звездна схема, таблицата с факти се намира в центъра и съдържа ключовете за всяка таблица с измерения, като например Dealer_ID, Model_ID, Date_ID, Product_ID и Branch_ID, заедно с измерими атрибути като продадени бройки и приходи.

Всяка таблица с околни измерения добавя описателен контекст към тези мерки, така че една заявка може да групира или филтрира фактите за продажбите по дилър, модел, дата, продукт или клон, без да се свързва с други таблици.
Таблици с факти
Таблица с факти в звездна схема съдържа факти и е свързана с измеренията. Таблицата с факти съдържа два вида колони:
- Колона, която съхранява фактите или мерките.
- Външни ключове, които се свързват с всяка таблица с измерения.
Обикновено първичният ключ на таблица с факти е съставен ключ, съставен от всички външни ключове, които съставляват таблицата.
Таблиците с факти могат да съдържат факти на ниво детайли или обобщени факти. Таблиците с факти, които включват обобщени факти, често се наричат обобщени таблици и обикновено съдържат факти, които вече са обобщени до някакво ниво.
Таблици с размери
Измерението е структура, която категоризира данните в йерархия. Измерение без йерархии и нива се нарича плоско измерение или списък. Първичният ключ на всяка таблица с измерения е част от съставния първичен ключ на таблицата с факти.
Атрибутът на измерението е описателен текстов атрибут, който помага да се опише стойност на измерението, като например име на продукт или град. Тъй като таблиците с измерения съхраняват този описателен контекст, а не транзакционни събития, таблиците с факти обикновено са много по-големи от таблиците с измерения.
Как да проектирате звездна схема
Проектирането на звездна схема следва подхода за моделиране на размери, популяризиран от Ралф Кимбъл. Целта е да се организират бизнес показателите около ясни, многократно използваеми размери, така че крайният модел да е лесен за запитване и бърз за отчитане. Петте стъпки по-долу очертават процеса, който следват повечето проекти за моделиране на размери, преминавайки от бизнес въпроса на най-високо ниво надолу към таблиците с физически факти и размери.
- Идентифицирайте бизнес процеса: Изберете дейността, която искате да анализирате, като например продажби, доставкаpingили инвентаризация. Това решение определя какво ще измерва таблицата с факти.
- Декларирайте зърното: Определете нивото на детайлност, което представлява всеки ред с факти, например един ред на елемент, на транзакция или на ден. Ясната структура поддържа модела последователен.
- Определете размерите: Избройте описателния контекст, необходим за разделяне на фактите, като например продукт, клиент, дилър, клон и дата. Всеки един от тях се превръща в таблица с измерения на атрибутите.
- Определете фактите: Определете числовите мерки, които бизнесът иска track, като например продадени бройки, приходи или разходи, и ги поставете в централната таблица с факти.
- Изградете звездата: Свържете таблицата с факти с всяко измерение чрез външни ключове, keeping размерите са денормализирани, така че диаграмата образува единна централна таблица с факти, обградена от своите размери.
След като звездата е построена, добавете сурогатен ключ към всяко измерение, уверете се, че всяка таблица с факти има свързано измерение за дати и потвърдете, че всички факти са в една и съща структура. Също така е добра практика първо да се зареждат атомарни данни от най-ниско ниво, тъй като обобщените таблици винаги могат да бъдат извлечени по-късно. Спазването на тези правила поддържа схемата оптимизирана за висока производителност и простота. склад за данни докладване.
Характеристики на звездната схема
- Всяко измерение в звездна схема е представено само от една таблица с измерения.
- Всяка таблица с измерения съдържа собствен набор от атрибути.
- Таблицата с измерения се свързва с таблицата с факти чрез външен ключ.
- Таблиците с размери не са свързани помежду си.
- Таблицата с факти съдържа ключове и мерки.
- Звездната схема е лесна за разбиране и осигурява оптимално използване на дисковото пространство.
- Таблиците с измерения не са нормализирани. Например, в горния пример, Country_ID няма отделна таблица за търсене на държави, както е при OLTP дизайнът би.
- Схемата е широко поддържана от BI инструменти.
Предимства на Star Schema
Звездната схема предлага няколко предимства, които я правят популярна отправна точка за проектиране на хранилища за данни:
- Звездните схеми използват по-проста логика на свързване от други схеми при извличане на данни от силно нормализирани транзакционни източници.
- Звездната схема опростява обичайната логика за бизнес отчитане, като например отчитане за период след период и отчитане към датата на настъпване.
- Звездните схеми се използват широко от OLAP системите за ефективно изграждане на кубове, а звездната схема може да служи като източник без да е необходимо да се проектира структура на куб в повечето основни OLAP системи.
- Чрез активиране на специфична настройка на производителността, която може да се приложи към заявки, процесорът на заявки може да предложи по-добри планове за изпълнение.
Недостатъци на звездната схема
- Тъй като схемата е силно денормализирана, целостта на данните не се прилага стриктно.
- Не е гъвкав по отношение на нуждите от напреднали аналитични данни.
- Звездните схеми не подсилват връзките „много към много“ между бизнес субектите.
Кога да използвате звездна схема
Звездната схема е правилният избор, когато бързата и предвидима производителност на заявките е по-важна от спестяването на място за съхранение. Тъй като моделът поддържа таблиците си с измерения денормализирани и броят на съединенията нисък, той е подходящ за аналитични натоварвания, при които бизнес потребителите многократно изпълняват подобни отчети, табла за управление и агрегации върху големи обеми от исторически данни.
Типични ситуации, при които звездната схема е силно подходяща, включват:
- База данни: Ведомствен информационни мрежови складове с прости, добре разбираеми взаимоотношения се възползват от четливата структура.
- BI табла за управление: Бизнес разузнаване Инструментите се съпоставят ясно със звездни схеми, така че отчетите и визуализациите се изграждат бързо.
- OLAP кубове: Звездните схеми са естествен източник за OLAP кубове, агрегиране и анализ на срезове и зарчета.
Ако приоритетът се измести към минимално съхранение, стриктна цялост на данните или дълбоки, променящи се йерархии, схема тип „снежинка“ или по-нормализиран дизайн може да са по-подходящи. Много екипи дори комбинират двете, започвайки със звездна схема и нормализирайки само измеренията, които наистина го изискват.

