View
45
Download
0
Category
Preview:
DESCRIPTION
Складове с данни. Бази за анализ. Предназначение. Типове обработки OLTP ( On Line Transaction Processing ) - транзакционни OLAP ( On-line Analytical Processing ) аналитични Типове бази транзакционни – голям брой потребители нестационарни (примигващи) отразяващи текущото състояние - PowerPoint PPT Presentation
Citation preview
Богдан Шишеджиев - Складове от данни
1
Складове с данни
Бази за анализ
Богдан Шишеджиев - Складове от данни
2
Предназначение
• Типове обработки– OLTP (On Line Transaction Processing) - транзакционни– OLAP (On-line Analytical Processing ) аналитични
• Типове бази– транзакционни –
• голям брой потребители
• нестационарни (примигващи)
• отразяващи текущото състояние
• критични (силно натоварени)
– складове• малък брой потребители (анализатори)
• сравнително стационарни
• отразяват историята на данните (натрупване на текущи състояния
• слабо натоварени
Богдан Шишеджиев - Складове от данни
3
Архитектура
Богдан Шишеджиев - Складове от данни
4
Архитектура
• Компоненти на източника– филтър – отделя и проверява кохерентността на
данните за експорт– експорт – извършва зареждане на определени
порции във времето.
• Компоненти на склада– лоудер – начално зареждане и подготовка на
склада за работа.– обновяване – зарежда порциите– достъп– data mining– експорт – към други складове. Създава се
йерархия от складове
Богдан Шишеджиев - Складове от данни
5
Схеми за складове
• Звезда
Богдан Шишеджиев - Складове от данни
6
Схеми за складове
• Снежинка
Богдан Шишеджиев - Складове от данни
7
Пример – Верига супермаркети
time_keyday_of_ week
day_no_in_monthday_no_overall
week_no_ln_year week_no_overall
monthmonth_no_overall
quarterfiscal_periodholiday_flag
weekday_flaglast_day_in_month_flag
seasonevent
Dimension time
promotion_keypromotion_name
price__reduction_ typead_type
dlsplay_ typecoupon_type
ad_media_namedisplay_provider
promo_costpromo_begin_datepromo_end-date
..и други
Promotion
product_keySKU(stock keeping units )_description
SKU_numberpackage_size
brand subcategorycategory
departementpackage_ type
diet_typeweight
weight_unit_of_mesureunits_per_retail_case
units_per_shipping_casecases_per_pallet
shelf_widthshelf_heightshelf_depth
..и други
Dimension product
stoie_keystore_ name
store_numberstore_street_address
store_citystore_countystore_statestore_zip
store__managerstore_phonestore_FАX
floor_plan_ typephoto_processing_typefinance_services_type
first_opened_datelast_remodel_date
store_surfacegrocery_surface
frozen-surface ..и други
Dimension shop
Time_keyproduct_keyStore_key
promotion keydollar_salesunits_salesdollar_cost
customer-count
Facts - Sales
Богдан Шишеджиев - Складове от данни
8
Пример – Верига супермаркети
• Таблица на фактите – в 3-та НФ– измервани стойности
• числови– адитивни
– полуадитивни
– неадитивни
• текстови
– детайлност на фактите – всяка продажба на продукт
• Дименсии – ненормализирани, с голям излишък– атрибути - текстови
Богдан Шишеджиев - Складове от данни
9
Пример – Верига супермаркети
• Изчисление на нужното дисково пространство– Dimension time : 2 год. x 365 дни = 730 дни – Dimension shop : 300 магазина, запис на продажбите всеки
ден– Dimension product : 30.000 продукта във всеки магазин, като
3000 се продават всеки ден в даден магазин.– Dimension promotion : един артикул може да участва в един
ден и в един магазин само в една промоция– Записи на елементарни факти 300 x 730 x 3000 x 1 = 657 .106
записа– Брой ключови полета 4; брой полета със стойности 4 ; общ
брой полета =8– Размер на таблицата на фактите - 657 .106 x 8 полета x 4B =
21 GB
Богдан Шишеджиев - Складове от данни
10
Операции за анализ на данните
• Обща форма на оператор SQL select D1.C1, ... Dn.Cn, Aggr1(F,Cl),…, Aggrn(F,Cn)
from Fact as F, Dimension1 as D1,... DimensionN as Dn where join-condition (F, D1) and... and join-condition (F, Dn) and selection-condition group by D1.C1, ... Dn.Cn order by D1.C1, ... Dn.C
Богдан Шишеджиев - Складове от данни
11
Операции за анализ на данните
• Пример select Time.Month, Product.Name, sum(Qty)
from Sale, Time, Product, Promotion where Sale.TimeCode = Time.TimeCode and Sale.ProductCode = Product.ProductCode and Sale.PromoCode = Promotion.PromoCode and (Product. Name = ' Pasta' or Product.Name = 'Oil') and Time.Month between 'Feb' and 'Apr' and Promotion.Name = 'SuperSaver' group by Time.Month, Product.Name order by Time.Month, Product.Name
Pivot Time.MonthFeb Mar Apr
Oil 5K 5K 7K
Pasta 45K 50K 51K
Богдан Шишеджиев - Складове от данни
12
Операции drill-down и roll-up
• drill-down – добавяне на дименсия по-която се агрегират резултатите
Time. Month Product.Name sum(Qty)
Feb Pasta 45K
Mar Pasta 50K
Apr Pasta 51K
TIme.Monih Product.Name Zone sum(Qty)
Feb Pasta North 18K
Feb Pasta Centre 18K
Feb Pasta South 12K
Mar Pasta North 18K
Mar Pasta Centre 18K
Mar Pasta South 14K
Apr Pasta North 18K
Apr Pasta Centre 17K
Apr Pasta South 16K
Богдан Шишеджиев - Складове от данни
13
Операции drill-down и roll-up
• roll-up – премахване на дименсия по-която се агрегират резултатите
TIme.Monih Product.Name Zone sum(Qty)
Feb Pasta North 18K
Feb Pasta Centre 18K
Feb Pasta South 12K
Mar Pasta North 18K
Mar Pasta Centre 18K
Mar Pasta South 14K
Apr Pasta North 18K
Apr Pasta Centre 17K
Apr Pasta South 16K
Product.Name Zone sum(Qty)
Pasta North 54K
Pasta Centre 50K
Pasta South 42K
Богдан Шишеджиев - Складове от данни
14
Куб данни
• Клауза with cubeselect Make, Year, Colour, sum(Sales)from Saleswhere (Make = 'Ferrari' or Make = 'Porsche') and Colour = 'Red' and Year between 1998 and 1999 group by Make, Year, Colour with cube
Make Year Colour Sales
Ferrari 1998 Red 50
Ferrari 1999 Red 85
Porsche 1998 Red 80
Богдан Шишеджиев - Складове от данни
15
Куб данниMake Year Colour sum(Sales)
Ferrari 1998 Red 50
Ferrari 1999 Red 85
Ferrari 1998 ALL 50
Ferrari 1999 ALL 85
Ferrari ALL Red 135
Ferrari ALL ALL 135
Porsche 1998 Red 80
Porsche 1998 ALL 80
Porsche ALL Red 80
Porsche ALL ALL 80
ALL 1998 Red 130
ALL 1999 Red 8S
ALL ALL Red 215
ALL 1998 ALL 130
ALL 1999 ALL 85
ALL ALL ALL 215
Recommended