15
Богдан Шишеджиев - Складо ве от данни 1 Складове с данни Бази за анализ

Складове с данни

Embed Size (px)

DESCRIPTION

Складове с данни. Бази за анализ. Предназначение. Типове обработки OLTP ( On Line Transaction Processing ) - транзакционни OLAP ( On-line Analytical Processing ) аналитични Типове бази транзакционни – голям брой потребители нестационарни (примигващи) отразяващи текущото състояние - PowerPoint PPT Presentation

Citation preview

Page 1: Складове с данни

Богдан Шишеджиев - Складове от данни

1

Складове с данни

Бази за анализ

Page 2: Складове с данни

Богдан Шишеджиев - Складове от данни

2

Предназначение

• Типове обработки– OLTP (On Line Transaction Processing) - транзакционни– OLAP (On-line Analytical Processing ) аналитични

• Типове бази– транзакционни –

• голям брой потребители

• нестационарни (примигващи)

• отразяващи текущото състояние

• критични (силно натоварени)

– складове• малък брой потребители (анализатори)

• сравнително стационарни

• отразяват историята на данните (натрупване на текущи състояния

• слабо натоварени

Page 3: Складове с данни

Богдан Шишеджиев - Складове от данни

3

Архитектура

Page 4: Складове с данни

Богдан Шишеджиев - Складове от данни

4

Архитектура

• Компоненти на източника– филтър – отделя и проверява кохерентността на

данните за експорт– експорт – извършва зареждане на определени

порции във времето.

• Компоненти на склада– лоудер – начално зареждане и подготовка на

склада за работа.– обновяване – зарежда порциите– достъп– data mining– експорт – към други складове. Създава се

йерархия от складове

Page 5: Складове с данни

Богдан Шишеджиев - Складове от данни

5

Схеми за складове

• Звезда

Page 6: Складове с данни

Богдан Шишеджиев - Складове от данни

6

Схеми за складове

• Снежинка

Page 7: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 8: Складове с данни

Богдан Шишеджиев - Складове от данни

8

Пример – Верига супермаркети

• Таблица на фактите – в 3-та НФ– измервани стойности

• числови– адитивни

– полуадитивни

– неадитивни

• текстови

– детайлност на фактите – всяка продажба на продукт

• Дименсии – ненормализирани, с голям излишък– атрибути - текстови

Page 9: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 10: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 11: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 12: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 13: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 14: Складове с данни

Богдан Шишеджиев - Складове от данни

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

Page 15: Складове с данни

Богдан Шишеджиев - Складове от данни

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