У комп'ютингу, схема сніжинки — це логічна структура таблиць в (багатовимірній базі даних), що моделює зв'язки об'єктів. За формою ця схема подібна до сніжинки. Схема сніжинки представлена таблицями фактів, які знаходяться у центрі та пов'язані з численними розмірностями. «Snowflaking» — це метод нормалізації таблиць розмірностей в зіркоподібну схему. Коли вона повністю нормалізована по всім таблицям розмірностей, її структура нагадує сніжинку з таблицею фактів у центрі. Цей підхід ґрунтується на нормалізації таблиць розмірностей шляхом усунення атрибутів з низькою потужністю та утворенням окремих таблиць.
Схема сніжинки подібна до схеми зірки. Однак, в схемі сніжинки, розмірності нормалізовані в декілька пов'язаних таблиць, тоді як розмірності в зіркоподібній схеми при денормалізації представлені однією таблицею. Складна форма сніжинки виникає, коли розміри схеми сніжинки є складними, мають численні рівні відношень, а дочірні таблиці мають кілька батьківських таблиць («розгалужень»).
Загальне використовування
Схеми зірки і сніжинок найбільш часто зустрічаються в багатовимірній (багатовимірній базі даних) і вітрині даних, де швидкість вибірки даних є більш важливою, ніж ефективність маніпуляцій з даними. Таким чином, таблиці в цих схемах не нормалізовані, і часто розроблені на рівні нормалізації, яка відома як третя нормальна форма.
Нормалізація даних та їх зберігання
Нормалізація бази даних розбиває дані, щоб уникнути надмірності (дублювання) шляхом переміщення часто повторюваних груп даних в нових таблицях. Тому нормалізація має тенденцію до збільшення кількості таблиць, які повинні бути об'єднані для виконання даного запиту, але зменшує простір, необхідний для зберігання даних і кількості місць, де нормалізація повинна бути оновлена при зміні даних.
З точки зору зберігання, таблиці розмірностей, як правило, малі в порівнянні з таблицями фактів. Це часто зводить нанівець переваги потенційного накопичувального простору зіркоподібної схеми в порівнянні зі схемою сніжинки. Приклад: Один мільйон угод купівлі-продажу в 200 магазинах в 220 країнах призведе до 1,000,200 записів в зіркоподібну схему (1,000,000 записів в таблиці фактів і 200 записів в таблиці розмірів, де кожна країна буде перерахована в явному вигляді для кожного магазину в цій країні). Більш нормалізованою буде схема сніжинки з ключами країн, які відносяться до таблиці країн, схема буде складатися з тих же 1000000 записів у таблиці фактів, 200 записів у таблиці магазинів з посиланнями на польову таблицю з 220 записами. В цьому випадку, зіркоподібна схема, хоча додатково денормалізована, буде тільки зменшувати кількість або запис за допомогою (дуже незначною) коефіцієнта 0.9997800923612083 (= [1000000 + 200], поділених на [1000000 + 200 + 220])
Деякі розробники баз даних пішли на компроміс у шляху створення базової схеми сніжинки за допомогою методу, який виконує багато з необхідних об'єднань для імітації зіркоподібній схеми. Це забезпечує переваги у зберіганні, що досягається за рахунок нормалізації розмірів, а також легкість створення запитів, що забезпечує зіркоподібна схема. Компроміс в тому, що вимога включати автоматично основні сервера для виконання може привести до зниження продуктивності при запиті, а також до додаткових приєднань до таблиць, які не можуть бути необхідні для виконання певних запитів.
Переваги
Схема сніжинки знаходиться в одній і тій самій сім'ї, як і логічна модель схеми зірки. Справді, схема зірки вважається окремим випадком схеми сніжинки. Схема сніжинки забезпечує деякі переваги в порівнянні з схемою зірки в певних ситуаціях, в тому числі:
- Деякі OLAP інструменти моделювання багатовимірної бази даних оптимізовані для схеми сніжинки.
- Нормалізація атрибутів результатів для економії дискового простору, але збільшується складність вихідного запиту.
Недоліки
Основним недоліком схеми сніжинки є те, що додаткові рівні атрибутів нормалізації додають складності вихідному запиту порівняно зі схемою зірки.
Схеми сніжинки, на відміну від плоских одномірних таблиць, були сильно розкритиковані. Їх метою вважається ефективне і компактне зберігання унормованих даних, але при значній вартості, низькій продуктивності при перегляді об'єднань потрібних в цьому вимірі. Цей недолік може бути зменшений в наступні роки, так як було перше покращення роботи схеми, завдяки більш високій продуктивності запитів в рамках перегляду інструментів.
У порівнянні з високою нормалізацією транзакційної схеми, денормалізація схеми сніжинки знищує цілісність даних, наданих нормалізованими схемами. Завантаження даних в схему сніжинки необхідно сильно контролювати, щоб уникнути поновлення та появи аномалій.
Приклади
Прикладом схеми, зображеної праворуч, є варіант прикладу зіркоподібної схеми, представленої в статті про (схему зірки).
Наступним прикладом запит схеми сніжинки є еквівалент коду зіркоподібної схеми, який повертає загальну кількість проданих одиниць по марці і по країні за 1997 рік. Зверніть увагу, що запит схеми сніжинки вимагає набагато більше об'єднань, ніж версія зіркоподібній схеми, яка використовується для виконання простих запитів. Перевагою використання схеми сніжинки в цьому прикладі є те, що вимоги до пам'яті нижче, оскільки схема сніжинки усуває багато повторюваних значень для розмірностей.
SELECT B.Brand, G.Country, SUM(F.Units_Sold) FROM Fact_Sales F INNER JOIN Dim_Date D ON F.Date_Id = D.Id INNER JOIN Dim_Store S ON F.Store_Id = S.Id INNER JOIN Dim_Geography G ON S.Geography_Id = G.Id INNER JOIN Dim_Product P ON F.Product_Id = P.Id INNER JOIN Dim_Brand B ON P.Brand_Id = B.Id INNER JOIN Dim_Product_Category C ON P.Product_Category_Id = C.Id WHERE D.Year = 1997 AND C.Product_Category = 'tv' GROUP BY B.Brand, G.Country
Див. також
Посилання
- Paulraj Ponniah. Data Warehousing Fundamentals for IT Professionals. Wiley, 2010, pp. 29–32. .
- Wilkie, Michelle (2009). (PDF). SAS Global Forum 2009. Архів оригіналу (PDF) за 13 січня 2017. Процитовано 27 лютого 2013.
- (1996). 6: The Big Dimensions. The Data Warehouse Toolkit (вид. 1st). Wiley. с. 95–98. ISBN .
Do not snowflake your dimensions, even if they are large
Літературні джерела
- Anahory, S.; D. Murray. Data Warehousing in the Real World: A Practical Guide for Building Decision Support Systems. Addison Wesley Professional.
- (1996). The Data Warehousing Toolkit. John Wiley.
Додаткові посилання
- «Why is the Snowflake Schema a Good Data Warehouse Design? [ 10 серпня 2017 у Wayback Machine.]» by and
- Reverse Snowflake Joins [ 17 червня 2018 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U komp yutingu shema snizhinki ce logichna struktura tablic v bagatovimirnij bazi danih sho modelyuye zv yazki ob yektiv Za formoyu cya shema podibna do snizhinki Shema snizhinki predstavlena tablicyami faktiv yaki znahodyatsya u centri ta pov yazani z chislennimi rozmirnostyami Snowflaking ce metod normalizaciyi tablic rozmirnostej v zirkopodibnu shemu Koli vona povnistyu normalizovana po vsim tablicyam rozmirnostej yiyi struktura nagaduye snizhinku z tabliceyu faktiv u centri Cej pidhid gruntuyetsya na normalizaciyi tablic rozmirnostej shlyahom usunennya atributiv z nizkoyu potuzhnistyu ta utvorennyam okremih tablic Shema snizhinki ye variantom shemi zirki yakij harakterizuyetsya normalizaciyeyu tablic rozmirnostej Shema snizhinki podibna do shemi zirki Odnak v shemi snizhinki rozmirnosti normalizovani v dekilka pov yazanih tablic todi yak rozmirnosti v zirkopodibnij shemi pri denormalizaciyi predstavleni odniyeyu tabliceyu Skladna forma snizhinki vinikaye koli rozmiri shemi snizhinki ye skladnimi mayut chislenni rivni vidnoshen a dochirni tablici mayut kilka batkivskih tablic rozgaluzhen Zagalne vikoristovuvannyaShemi zirki i snizhinok najbilsh chasto zustrichayutsya v bagatovimirnij bagatovimirnij bazi danih i vitrini danih de shvidkist vibirki danih ye bilsh vazhlivoyu nizh efektivnist manipulyacij z danimi Takim chinom tablici v cih shemah ne normalizovani i chasto rozrobleni na rivni normalizaciyi yaka vidoma yak tretya normalna forma Normalizaciya danih ta yih zberigannyaNormalizaciya bazi danih rozbivaye dani shob uniknuti nadmirnosti dublyuvannya shlyahom peremishennya chasto povtoryuvanih grup danih v novih tablicyah Tomu normalizaciya maye tendenciyu do zbilshennya kilkosti tablic yaki povinni buti ob yednani dlya vikonannya danogo zapitu ale zmenshuye prostir neobhidnij dlya zberigannya danih i kilkosti misc de normalizaciya povinna buti onovlena pri zmini danih Z tochki zoru zberigannya tablici rozmirnostej yak pravilo mali v porivnyanni z tablicyami faktiv Ce chasto zvodit nanivec perevagi potencijnogo nakopichuvalnogo prostoru zirkopodibnoyi shemi v porivnyanni zi shemoyu snizhinki Priklad Odin miljon ugod kupivli prodazhu v 200 magazinah v 220 krayinah prizvede do 1 000 200 zapisiv v zirkopodibnu shemu 1 000 000 zapisiv v tablici faktiv i 200 zapisiv v tablici rozmiriv de kozhna krayina bude pererahovana v yavnomu viglyadi dlya kozhnogo magazinu v cij krayini Bilsh normalizovanoyu bude shema snizhinki z klyuchami krayin yaki vidnosyatsya do tablici krayin shema bude skladatisya z tih zhe 1000000 zapisiv u tablici faktiv 200 zapisiv u tablici magaziniv z posilannyami na polovu tablicyu z 220 zapisami V comu vipadku zirkopodibna shema hocha dodatkovo denormalizovana bude tilki zmenshuvati kilkist abo zapis za dopomogoyu duzhe neznachnoyu koeficiyenta 0 9997800923612083 1000000 200 podilenih na 1000000 200 220 Deyaki rozrobniki baz danih pishli na kompromis u shlyahu stvorennya bazovoyi shemi snizhinki za dopomogoyu metodu yakij vikonuye bagato z neobhidnih ob yednan dlya imitaciyi zirkopodibnij shemi Ce zabezpechuye perevagi u zberiganni sho dosyagayetsya za rahunok normalizaciyi rozmiriv a takozh legkist stvorennya zapitiv sho zabezpechuye zirkopodibna shema Kompromis v tomu sho vimoga vklyuchati avtomatichno osnovni servera dlya vikonannya mozhe privesti do znizhennya produktivnosti pri zapiti a takozh do dodatkovih priyednan do tablic yaki ne mozhut buti neobhidni dlya vikonannya pevnih zapitiv PerevagiShema snizhinki znahoditsya v odnij i tij samij sim yi yak i logichna model shemi zirki Spravdi shema zirki vvazhayetsya okremim vipadkom shemi snizhinki Shema snizhinki zabezpechuye deyaki perevagi v porivnyanni z shemoyu zirki v pevnih situaciyah v tomu chisli Deyaki OLAP instrumenti modelyuvannya bagatovimirnoyi bazi danih optimizovani dlya shemi snizhinki Normalizaciya atributiv rezultativ dlya ekonomiyi diskovogo prostoru ale zbilshuyetsya skladnist vihidnogo zapitu NedolikiOsnovnim nedolikom shemi snizhinki ye te sho dodatkovi rivni atributiv normalizaciyi dodayut skladnosti vihidnomu zapitu porivnyano zi shemoyu zirki Shemi snizhinki na vidminu vid ploskih odnomirnih tablic buli silno rozkritikovani Yih metoyu vvazhayetsya efektivne i kompaktne zberigannya unormovanih danih ale pri znachnij vartosti nizkij produktivnosti pri pereglyadi ob yednan potribnih v comu vimiri Cej nedolik mozhe buti zmenshenij v nastupni roki tak yak bulo pershe pokrashennya roboti shemi zavdyaki bilsh visokij produktivnosti zapitiv v ramkah pereglyadu instrumentiv U porivnyanni z visokoyu normalizaciyeyu tranzakcijnoyi shemi denormalizaciya shemi snizhinki znishuye cilisnist danih nadanih normalizovanimi shemami Zavantazhennya danih v shemu snizhinki neobhidno silno kontrolyuvati shob uniknuti ponovlennya ta poyavi anomalij PrikladiShema snizhinki yaka vikoristovuyetsya u prikladi zapitu Prikladom shemi zobrazhenoyi pravoruch ye variant prikladu zirkopodibnoyi shemi predstavlenoyi v statti pro shemu zirki Nastupnim prikladom zapit shemi snizhinki ye ekvivalent kodu zirkopodibnoyi shemi yakij povertaye zagalnu kilkist prodanih odinic po marci i po krayini za 1997 rik Zvernit uvagu sho zapit shemi snizhinki vimagaye nabagato bilshe ob yednan nizh versiya zirkopodibnij shemi yaka vikoristovuyetsya dlya vikonannya prostih zapitiv Perevagoyu vikoristannya shemi snizhinki v comu prikladi ye te sho vimogi do pam yati nizhche oskilki shema snizhinki usuvaye bagato povtoryuvanih znachen dlya rozmirnostej SELECT B Brand G Country SUM F Units Sold FROM Fact Sales F INNER JOIN Dim Date D ON F Date Id D Id INNER JOIN Dim Store S ON F Store Id S Id INNER JOIN Dim Geography G ON S Geography Id G Id INNER JOIN Dim Product P ON F Product Id P Id INNER JOIN Dim Brand B ON P Brand Id B Id INNER JOIN Dim Product Category C ON P Product Category Id C Id WHERE D Year 1997 AND C Product Category tv GROUP BY B Brand G CountryDiv takozhShema zirki Shovishe danih Analitichna onlajn obrobkaPosilannyaPaulraj Ponniah Data Warehousing Fundamentals for IT Professionals Wiley 2010 pp 29 32 ISBN 0470462078 Wilkie Michelle 2009 PDF SAS Global Forum 2009 Arhiv originalu PDF za 13 sichnya 2017 Procitovano 27 lyutogo 2013 1996 6 The Big Dimensions The Data Warehouse Toolkit vid 1st Wiley s 95 98 ISBN 0 471 15337 0 Do not snowflake your dimensions even if they are largeLiteraturni dzherelaAnahory S D Murray Data Warehousing in the Real World A Practical Guide for Building Decision Support Systems Addison Wesley Professional 1996 The Data Warehousing Toolkit John Wiley Dodatkovi posilannya Why is the Snowflake Schema a Good Data Warehouse Design 10 serpnya 2017 u Wayback Machine by and Reverse Snowflake Joins 17 chervnya 2018 u Wayback Machine