transakcije objektne baze

56
1 [Р373] Дистрибуиране и објектне базе података Саша Малков Универзитет у Београду Математички факултет 2014/2015 6 Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 1 [Р373] Дистрибуиране и објектне базе података Саша Малков Тема 9 Трансакције

Upload: aleksandar-vlaskalic

Post on 08-Jul-2016

233 views

Category:

Documents


5 download

DESCRIPTION

Distribuirane objektne baze

TRANSCRIPT

1

[Р373]

Дистрибуиране иобјектне базе података

Саша МалковУниверзитет у БеоградуМатематички факултет

2014/2015

6

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 1

[Р373]

Дистрибуиране иобјектне базе података

Саша Малков

Тема 9

Трансакције

2

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 2

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Проблеми у конкурентном раду

При конкурентном раду може доћи до вишеразличитих проблема конкурентност подразумева дељење ресурса

конкурентност често има за последицу истовременоили блиско наизменично приступање

Класификација проблема: Изгубљене промене

Непотврђене измене

Непоновљиво читање

Фантомски редови

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 3

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Изгубљене промене

Изгубљене промене обухватају све проблеме којинастају као последица вршења измена ресурса упериоду док неки други процес разматра изменеистог ресурса Ако два процеса прочитају исту вредност и на основу

ње планирају и извршавају промене истог ресурса, ондаће прва промена бити изгубљена

3

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 4

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Изгубљене промене (пример)

Б==120X==120

Б=Б+20X=Б

t=4

А==130

X==130

А=А+30

X=At=3

Б==100Б=Xt=2

А==100А=Xt=1

X==100t=0

ВредностиКорисник БКорисник АВреме

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 5

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Непотврђене измене

Непотврђене измене обухватају све проблеме којинастају као последица предузимања некихактивности на основу привремено измењенихподатака Ако један процес измени податак, па га касније врати у

пређашње стање, сви процеси који су га у међувременупрочитали ће своју обраду заснивати на нетачниминформацијама

4

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Непотврђене измене (пример)

А==130

X==130

А=А+30

X=At=2

Б==150

X==150

Б=Б+20

X=Бt=5

X==100поништавање

изменаt=4

Б==130Б=Xt=3

А==100А=Xt=1

X==100t=0

ВредностиКорисник БКорисник АВреме

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 7

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Непоновљиво читање

Непоновљиво читање обухвата све проблеме којинастају као последица промене ресурса између двапокушаја читања истог ресурса од стране једногпроцеса Ако процес прво чита ресурс да би се припремио за

обраду, а затим их поново чита да би спровео обраду, могуће је да неки други процес у међувремену, измеђутих читања, промени податке

Тада је припрема неисправна, а тиме и сама обрадакоја следи

5

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 8

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Непоновљиво читање (пример)

Б==120

X==120

Б=Б+20

X=Бt=2

A1 != A2t=4

A2==120А2=Xt=3

А1==100А1=Xt=1

X==100t=0

ВредностиКорисник БКорисник АВреме

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 9

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Фантомски редови

Фантомски редови обухватају све проблеме којинастају као последица додавања података измеђудва покушаја читања истог ресурса од стране једногпроцеса Ако процес прво чита ресурс да би се припремио за

обраду, а затим их поново чита да би спровео обраду, могуће је да неки други процес у међувремену, измеђутих читања, дода нове податке

Тада је припрема неисправна, а тиме и сама обрадакоја следи

6

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 10

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Фантомски редови (пример)

Ispit: {ime==‘Pera’, ocena==7ime==‘Mika’, ocena==5ime==‘Laza’, ocena==6

}

Insert into Ispit... ime=‘Laza’

ocena=6 ...t=2

Просек==3,5Просек=А/Бt=4

Б==2Б=count(ocena)where ocena>5

t=3

A== 7А=sum(ocena)where ocena>5

t=1

Ispit: { ime==‘Pera’, ocena==7ime==‘Mika’, ocena==5

}

t=0

ВредностиКорисник БКорисник АВреме

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 11

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Појам трансакције

Трансакција је логичка целина посла (и опоравка)

Трансакцију чини низ акција које преводе системиз једног у друго конзистентно стање У току трансакције систем може бити у

неконзистентном стању, али на њеном крају мора битиконзистентан

Обезбеђује транспарентно старање о конкурентности

о опоравку у случају отказа

7

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 12

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Појам трансакције (2)

БП је уконзистентном

стању

БП је уконзистентном

стању

БП може да будеу неконзистентном

стању

почетактрансакције

извршавањетрансакције

крајтрансакције

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 13

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Формализација

Разликујемо три скупа података у трансакцији скуп читања (RS)

сви подаци који се читају у трансакцији

скуп писања (WS) сви подаци који се пишу у трансакцији

базни скуп (BS) унија скупа читања и скупа писања

8

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 14

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Формализација (2)

Нека су: Oij(x) – операција Oj трансакције Ti над податком x

Oj(x) { read, write }, атомична операција

OSi = ∪j Oij – скуп операција трансакције Ti

Ni { abort, commit }

Трансакција Ti је парцијално уређење Ti = {∑i, <i} где је: ∑i = OSi ∪ { Ni }, скуп свих операција трансакције за сваке две операције Oij, Oik OSi важи:

Oij=R(x) ∧ Oik=W(x) => Oij <i Oik ∨ Oik <i Oij тј. за све операције различитог типа је одређен поредак

за сваку операцију Oij OSi важи:Oij <i Ni

тј. све операције стоје “пре” завршетка

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 15

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Формализација (3) Као и свако парцијално уређење, и трансакција се

може представити усмереним ацикличним графом из графа се изоставе све релације које се могу извести

преко транзитивности

пример:

9

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 16

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основна својства трансакција

Атомичност (atomicity) све или ништа

Конзистентност (consistency) очување унутрашње конзистентности базе података

Изолованост (isolation) трансакција ради као да је једина

Трајност начињених измена (durability) потврђене измене опстају чак и у случају накнадног квара

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 17

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Атомичност трансакција

У случају успеха, све промене обухваћенетрансакцијом морају бити трајне

У случају неуспеха све промене морају битипоништене

У стварном свету атомичност није увек достижна неки елементи трансакције се не могу поништити

некада је потребно накнадно поништавање

неки послови се обављају у више корака

10

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 18

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Проблеми неатомичности операција

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 19

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Конзистентност трансакција

Мора се очувати интерна конзистентност базеподатака јединственост примарних кључева

задовољеност референцијалног интегритета

додатни услови

додатни неформализовани услови

Проверавање задовољености неформализованихуслова спада у одговорности програмера

11

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 20

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Изолованост трансакција

Свака трансакција мора да “има утисак” да јеједина у систему

У целини, систем мора да има стање као да су сетрансакције извршавале серијски, једна за другом, а не у исто време

Изолованост је најчешћи извор компромиса ипроблема

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 21

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Серијализујуће извршавање

Извршавање трансакција је серијализујуће ако јееквивалентно неком редоследу извршавања у комесе трансакције извршавају редом, једна по једна, “усерији”

Серијализујуће извршавање је безбедно од свихпроблема који су последица конкурентности

Серијализујуће извршавање је идеалан циљ

12

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 22

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Трајност трансакција

Ако је трансакција довршена: све промене морају трајно опстати

чак и у случају квара у систему

Трансакција враћа извештај да је успешнодовршена тек након што су све промене записане устабилном складишту

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 23

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Врсте трансакција

Подела по трајању

Подела по редоследу операција

Подела по структури

13

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 24

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Врсте трансакција по трајању

Кратке трансакције online трају до неколико секунди приступају релативно малом броју података најчешћи облик

Дугачке трансакције batch могу да трају и по више сати (па чак и дана) приступају великим количинама података

Конверзационе трансакције трансакције које се одвијају кроз интеракцију са корисником више кратких делова, али са периодима чекања на реакцију

корисника

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 25

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Врсте по редоследу операција Опште

читају и пишу без јачих претпоставки о структури

У два корака све операције читања се одвијају пре свих операција писања

Рестриктивне или “читање пре писања” пре (али не неопходно непосредно пре) сваке операције писања

мора да постоји операција читања истог податка

Рестриктивне у два корака спој рестриктивних и трансакција у два корака

Акционе свака операција писања је део атомичног пара (читање, писање) ово је појачање услова за рестриктивне трансакције

14

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 26

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Врсте трансакцијапо редоследу операција

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 27

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Врсте трансакција по структури

Равне (flat)

Затворене угнеждене (close nested)

Отворене угнеждене (open nested)

Са током операција (workflow)

15

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 28

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Равне трансакције

Равне трансакције имају један почетак

секвенца примитивних операција

један крај

Пример:begin T1

oper1

...

operN

end T1

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 29

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Угнеждене трансакције Појединачне операције угнеждених трансакција могу бити

мање трансакције (подтрансакције)

Пример:begin T1

...

begin T1.1...

end T1.1...

begin T1.2...

end T1.2...

end T1

16

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 30

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Угнеждене трансакције (2) Ниво угнеждења начелно није ограничен

У односу на начин завршавања трансакцијаразликујемо затворене угнеждене трансакције

свака подтрансакција и започиње после и завршава се преродитељске трансакције

семантика одговара атомичности спољашње трансакције

потврђивање подтрансакција је условљено потврђивањемглавне трансакције

отворене угнеждене трансакције не постоји предуслов о завршавању унутрашње трансакције

резултат потврђене подтрансакције може бити видљив спољаи пре завршетка главне трансакције

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 31

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Са током операција (workflow)

Сложенији токови операција који захтевајутрансакционо понашање могу обухватити различите ресурсе

могу укључивати један или више субјеката

обично компоненте могу да се потврде пре довршавањакомплетног посла

ако било који од послова не успе, обуставља се читаватрансакције

дефинишу се поступци за случај проблема (тзв. contingency tasks) који служе за поништавањепотврђених потпослова

17

32Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

ПримерПример трансакцијетрансакције саса токомтоком операцијаоперација ((workflowworkflow))

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 33

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Системи за управљање трансакцијама (СУТ)

Сваки СУБП мора обухватати подсистем зауправљање трансакцијама

Управљањем трансакцијама се обезбеђује да: свака трансакција има основна декларисана својства

трансакције раде паралелно, тако да буде што већаискоришћеност ресурса

18

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 34

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Расположивост

Расположивост (availability) је веома важнакарактеристика СУТ-а

расположивост = Трасположиво / Тукупно

99,99942 %1 сат / 20 година

99,9886 %1 сат / годишње

99,86 %1 сат / месечно

99,41 %1 сат / недељно

95,8 %1 сат / дневно

РасположивостНедоступност

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 35

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Специфичности СУТ-а

Системи за обраду трансакција се разликују оддругих врста система: за рад у реалном времену

за пакетну обраду

складишта података

19

36Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

СпецифичностиСпецифичности СУТСУТ--аа (2)(2)

одговорностапликације

одговорностапликације

после отказапонавља сепокретањепослова који супрекинути

после отказа, мора сеобезбедити да опстанусве потврђене изменеи ништа поред тога

Опоравак

уобичајено уређен припуњењу, безограничења причитању

без ограничењапо редоследууређења података

произвољанПриступподацима

мрежа уређаја којиподносе упите

мрежа уређајакоји подносеподатке иоперације

подациорганизовани послоговима

мрежа уређаја којиподносе захтеве

Улаз

пропусност за пуњење, време одзива зачитање

време одзива, пропусност, прекорачивањеграница

пропусноствреме одзива ипропусност

Мераперформанси

предвидиво пуњење, веома променљивочитање

предвидивостзависи одапликације

предвидивоврло променљивоОптерећење

не постоји концепттрансакција

не постоји концепттрансакција

серијска, једнопрограмскирад

серијска, вишепрограмски рад

Изолованост

Складиште податакаУ реалномвремену

ПакетиТрансакцијеВрста обраде

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 37

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Трајање трансакције

Свака трансакција има почетак и крај

Почетак може бити имплицитан или

експлицитан

Крај може бити са потврђивањем или

поништавањем измена

20

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 38

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Поделе техника имплементација

Према тренутку синхронизације

Према концепту на коме почива имплементација

У начелу су ортогоналне

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 39

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Поделе по тренутку синхронизације

Према тренутку синхронизације: Песимистички алгоритми

синхронизација се изводи што пре у току трансакције

Оптимистички алгоритми синхронизација се одлаже до тренутка потврђивања

Начелно су ефикаснији песимистички

Оптимистички су бољи за конверзационетрансакције вишеслојне апликације

Веб апликације

21

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 40

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Поделе по концепту имплемент.

Према техници имплементације: Закључавање (механизам катанаца)

Уређивање временским печатима свака трансакција добија временски печат и СУП се стара да

се операције извршавају добрим редом

Проверавање серијализујућег графа прате се операције и прави граф употребе, који мора бити

ацикличан

Уређивање на основу потврђивања трансакција

41Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

тТехникеТехнике имплементацијеимплементације

22

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 42

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Механизам катанаца

Једно од средстава за имплементацију управљањатрансакцијама сасим једноставан

веома често се употребљава

Концепт је сасвим једноставан: Свака трансакција мора да обезбеди приступ ресурсима

пре него што им заиста приступи

Такво обезбеђење се назива постављање катанца

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 43

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Катанци – Концепт (2)

Обезбеђивање Пре читања неког податка, мора се обезбедити катанац

за његово читање Пре писања неког податка, мора се обезбедити катанац

за његово писање Трансакција може да обезбеди неки катанац А на неком

податку само ако на том податку не постоји катанац Бнеке друге трансакције са којим се катанац А не слаже

23

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 44

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Особине катанаца

Врста катанца

Предмет закључавања

Грануларност

Трајање катанца

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 45

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Врста катанца

Врста катанца одређује његово понашање

Најважније врсте дељиви катанац (S – shared)

ексклузивни катанац (X – exclusive)

катанац за ажурирање (U – update)

24

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 46

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Слагање катанаца

Таблица показује да ли трансакција Б можепоставити катанац на неком ресурсу на коме већпостоји неки катанац трансакције А

---X

--+U

-++S

XUSБ

А

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 47

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Предмет закључавања

Предмет закључавања може бити база података

простор за податке

табела

скуп редова (блок, страница и сл.)

ред

једна вредност (један атрибут у једном реду)

25

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 48

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Грануларност

Грануларност описује величину катанца Крупна грануларност означава да катанац закључава

већу количину података спушта ниво конкурентности

ефикаснија (просторно и временски) за имплементацију

Ситна грануларност означава да катанац закључавамању количину података подиже ниво конкурентности

скупља (просторно и временски) за имплементацију

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 49

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Грануларност (2)

Грануларност се разликује од предмета закључавања предмет се експлицитно или имплицитно одређује на основу

података који се користе у трансакцији

предмет је оно што се користи и шта је потребно закључати

грануларност има за последицу да се осим предмета могузакључати и подаци који се не користе непосредно утрансакцији

Пример: select ime from student where indeks=...

идеалан предмет закључавања су два атрибута једног редатабеле student

у пракси, обично се закључава цео ред или чак страница укојој је ред записан

26

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 50

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Трајање катанца

Катанац у идеалном случају траје од тренуткапостављања до тренутка довршавања трансакције

Трајање катанаца је предмет компромиса

Смањивање трајања подиже ниво конкурентности

повећава ризик настајања проблема

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 51

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Двофазно закључавање

Правило двофазног закључавања: Трансакција мора поставити све своје катанце пре него што

откључа први од њих

Теорема о двофазном закључавању: Ако све трансакције у посматраном извршавању користе

двофазно закључавање, тада је то извршавање серијализујуће

Претпоставка: Међусобна комуникација трансакција је допуштена

искључиво путем катанаца

Због тога извршавање трансакција увек има карактеристикедистрибуираног извршавања

27

52Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

СтрогаСтрога применапримена двофазногдвофазног закључавањазакључавања

Строга примена двофазног закључавања сви катанци се ослобађају у истом тренутку на крају трансакције

53Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

тКаскадноКаскадно ослобађањеослобађање катанацакатанаца

Да би се подигао ниво конкурентности, некикатанци могу да се ослобађају и раније само ако се ради о дељивим катанцима

иначе може доћи до читања непотврђених измена само ако се одговарајући подаци више неће користити

у супротном би могло доћи до непоновљивог читања

28

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 54

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Мртва петља (deadlock)

Ако трансакција А не може да обезбеди потребанкатанац због постојећег катанца трансакције Б, каже се: “трансакција А је блокирана” или

“трансакција А чека трансакцију Б”

Ако две или више блокираних трансакција чекајуједна другу, каже се да су: “међусобно блокиране” или

“у мртвој петљи”

(енгл. “dead lock”)

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 55

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Превенција и разрешавање

Ограничено време чекања на катанац Ако истекне време, трансакција се прекида

Вођење графова зависности трансакција Ако се препозна цикличност у графу, нека од

трансакција се прекида

Увођење нових врста катанаца

29

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 56

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Проблем односа упита и промена

Упити (наредбе којима се читају подаци) често: приступају великом броју података дуго трају

Такви упити постављају велики број катанаца дуго држе постављене катанце

Промене су обично локалног карактера – користе мали број података кратко трају

Једноставне промене могу дуго да чекају на упите Због тога долази до великог одлагања једноставних

трансакција које мењају податке

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 57

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Решавање проблема

Складишта података

Нивои изолованости

Више верзија података

30

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 58

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Складишта података

Раздвајање OLAP и OLTP база података Подаци из OLTP базе се периодично пребацују у

OLAP базу података Добре стране подаци се не мењају током анализе често нису неопходни и последњи мењани подаци могу се користити подаци који потичу из више

различитих база података повећава се предвидивост трајања трансакција

Лоше стране “увек” постоје упити који морају да раде на свежим

подацима и “живом” базом података

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 59

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Ниво изолованости

У неким случајевима се може релативно безболноприхватити да неки упити не морају бити употпуности серијализујући

Уводе се компромиси у односу на правилапостављања и трајања катанаца

31

60Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

НивоиНивои изолованостиизолованости попо стандардустандарду ии кодкод DB2DB2

+ Уопште се не постављајукатанци при читању.

+ Дељиви катанци на редурезултата упита сеослобађају по преласку наследећи ред упита.

Не закључавају се сви подацикојима се приступа него самоони који задовољавајукритеријуме упита.

Поштовање двофазногзакључавања.

Катанци се постављају на свеподатке којима се приступа.

Катанци се ослобађају самона крају трансакције.

Својства

+ Проблем читањанепотврђених измена.

Read Uncomitted

Uncommited Read

+ Проблем непоновљивогчитања.

Read Comitted

Cursor Stability

Може доћи до проблемафантомских редова.

Repeatable Read

Read Stability

Трансакција је серијализујућа. Не може доћи ни до каквихпроблема.

SerializableRepeatable

Read

ПоследицеНазив

по стандардуНазив

у СУБП DB2

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 61

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Више верзија података

Идеја је да се при писању не мењају постојећиподаци него се праве нове верзије података Свака верзија се означава идентификатором

трансакције која је мењала податак

Упити могу да употребљавају верзије података које супретходиле текућим трансакцијама

32

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 62

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Оптимистичка контрола конкурентности

Употребљава се у случајевима спољашњегкеширања садржаја базе података нпр. апликативни сервери и интерактивни програми

1. програм чита податак

2. чека на акцију корисника 3. мења податак (!!! шта ако је у међувремену измењен???)

Једно решење је поновљено читање 3а) сваки податак који се мења се најпре поново чита

3б) ако је прочитана иста вредност као и раније, тада сепримењује мењање

3в) иначе се пријављује грешка: “податак је у међувременуизмењен”

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 63

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Литература за ову тему

Ozsu, Valduries, Principles of Distributed Database Systems, 2.ed, 1999. Прочитати 10. и 11. поглавље књиге

Bernstein, Newcomer, Principles of Transaction Processing, 2.ed, 2009.

33

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 64

[Р373]

Дистрибуиране иобјектне базе података

Саша Малков

Тема 10Објектне базе података

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 65

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Трендови

Од средине 1980-их година постоје следећи трендови: Проширени релациони системи

додавање операционих елемената процедуре

функције

окидачи

ООСУБП интегрисање објектних методологија и решења са технологијама

СУБП-а

Дедуктивне базе података интегрисање СУБП-а са дедуктивним системима

Интелигентни СУБП напредна представљања знања

напредне обраде знања

34

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 66

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Мотивација

Током 80-их година 20. века уочени су некипроблеми који се нису могли ефикасно решаватипостојећим технологијама СУБП

Примери: CAD/CAM системи

неке научне и медицинске примене

неки системи за управљање документима

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 67

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Техничке карактеристике проблема

Неке од специфичних техничких карактеристикапроблема које су неефикасно решаване помоћурелационих база података: високо структурирани подаци

посебно динамички структурирани подаци

дуготрајне трансакције

мултимедијални подаци

масивне колекције научних података

35

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 68

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Карактеристике проблема (1)

Потреба за могућношћу управљања верзијамаобјеката, тако да се могу разматрати еволутивнепромене стања, периоди исправности објеката илиалтернативна стања

Због дугачког трајања трансакција и величинеобјеката обухваћених трансакцијама потребно јеразмотрити ефикасније и поузданије трансакционемеханизме

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 69

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Карактеристике проблема (2)

Подаци се у бази података чувају у складу саструктуром, а не и начином употребе. Потребно јеомогућити ефикасније приступање подацимакојима се често приступа у истим јединицамапосла.

Потребно је направити протоколе за комуникацијумеђу клијентима који заједнички користе и мењајуподатке.

36

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 70

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Карактеристике проблема (3)

Еволуциона природа савременог развоја софтверазахтева еволутивне промене у схеми базе података. Потребно је омогућити да се овакве променеодвијају док је база података у употреби.

Апликације морају имати на располагању какопримитиве за руковање објектима као целинама, тако и примитиве за руковање појединачнимкомпонентама објеката.

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 71

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Карактеристике проблема (4)

Механизми за заштиту података морају радити нанивоу објеката, који су уједно и основни нивоприступања подацима.

Функције за дефинисање дедуктивних правила иуслова интегритета морају бити подржанеефикасним механизмом за евалуацију правила ињихову примену.

37

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 72

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Претпоставке

У развој ООСУБП-ова се ушло са претпоставком даоне могу ефикасније да реше такве специфичнепроблеме: пуна слобода у типовима података

уграђивање понашања типова података у самуструктуру базе података

повећане могућности упитних језика, све допрограмских језика

Основна намена: сервис за складиштење трајних објеката за различите

програме написане на ООПЈ

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 73

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Тржиште

ООСУБП никада нису постали значајно заступљени натржишту: произвођачи релационих система су највљивали и постепено

имплементирали одговарајућа проширења многе велике организације нису биле спремне да након

великих улагања у РСУБП понове то након кратког периода брзина увођења новина је порасла, па и опрезност када су у

питању велике промене програмски језик Јава је постао значајно заступљен и

развијено је више алата за пресликавања релационеструктуре базе података у објектну структуру програмскогјезика

заживеле су вишеслојне архитектуре, па су и самипроизвођачи РСУБП понудили алате који у апликативномслоју премошћавају проблем повезивања релационих иобјектних концепата

38

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 74

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Последице

Развој ООБП се практично утопио у две значајнеиндустрије: проширење и допуњавање релационих база података

објектно оријентисаним карактеристикама

развој апликативних сервера и других компонентисредњег слоја пословне архитектуре чија је намена дапремосте проблем овезивања релационих и објектнихконцепата

Нека достигнућа и концепти су у широкој употребиу сложеним системима и окружењима

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 75

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Прва генерација

G-Base француска компанија Graphael, 1986.

GemStone америчка корпорација Servio, 1987.

Vbase Ontologic, 1988.

Statice Symbolics, 1988.

Прва генерација се одликује проширивањем ООПЈ, тј. додавањем могућности за рад са базама података, као што јеподршка за трајне податке и трансакције

Процењује се да је до 1990. инсталирано око 500 оваквихсистема

39

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 76

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Друга генерација

Ontos Ontos, 1989.

ObjectStore Object Design

Objectivity/DB Objectivity

Versant ODBMS Versant Object Technology

За разлику од прве генерације, сви примери из друге користезаједничку платформу: C++ Unix X-Windows

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 77

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Трећа генерација Itasca, комерцијална верзија система Orion

Microelectronics and Computer Corporation (MCC) 1990.

O2 Altair

Zeitgeist Texas Instruments

Cache InterSystems

db4o Versant (од 2008.)

Системи треће генерације су настали као резултат вишегодишњегистраживања од стране великих организација Одликују се напредним карактеристикама како из аспекта база података (нпр.

подршка за верзије), тако и из аспекта програмских језика.

Језици ових система су истовремено и упитни и рачунски комплетни ООПЈ.

40

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 78

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Аткинсонов “Манифест”

Развијено је много различитих система

Почело се са њиховим анализама и уочавањемзначајних карактеристика

Object-Oriented Database System Manifesto Atkinson, 1989.

Описује најважније карактеристике које неки ООСУБПмора имати

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 79

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Аткинсонов “Манифест” (2)

Све уочене карактеристике се деле на обавезне – које се морају имплементирати

опционе – које се могу али не морају имплементирати

изборне – мора се начинити избор између неколикомогућности

41

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 80

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Обавезне карактеристике (1)

Обавезне карактеристике:1. Подршка за сложене објекте

кроз конструкторе

бар: торке, скупови, вреће, листе, низови, поља ортогонални у односу на типове елемената

2. Идентитет објеката сваки објекат мора да има јединствен идентитет

ово је касније различито тумачено

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 81

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Обавезне карактеристике (2)

Обавезне карактеристике:3. Енкапсулација

мора да постоји интерфејс и имплементација

како за операције тако и за податке

4. Типови и класе мора да постоји подршка за дефинисање типова и класа

5. Хијерархије типова или класа мора да постоји подршка за хијерархије типова или класа

42

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 82

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Обавезне карактеристике (3)

Обавезне карактеристике:6. Динамичко везивање

препознавање типова и везивање операција се одвија у времеизвршавања

7. Рачунска комплетност језик мора да буде рачунски комплетан

8. Проширивост мора бити могуће додавање нових корисничких типова, који

би по свему били равноправни уграђеним типовима

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 83

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Обавезне карактеристике (4)

Обавезне карактеристике:9. Трајност

мора бити подржана трајност, као могућност да подацинастали у једном извршавању програма преживе његовоизвршавање и евентуално се касније употребљавају од другогпрограма

10. Управљање секундарним складиштем мора постојати секундарно складиште података (бафери,

индекси,... различите структуре које омогућавају ефикасанрад)

не сме бити видљиво кориснику

43

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 84

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Обавезне карактеристике (5)

Обавезне карактеристике:11. Конкурентност

мора бити омогућен конкурентан рад

12. Опоравак мора бити могућ опоравак од софтверских и хардверских

кварова

13. Ад-хок упити мора бити могуће извршавање ад-хок упита

упитни језик мора бити високог нивоа

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 85

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Обавезне карактеристике (6)

Релациони системи (тадашњи) немајукарактеристике од 1 до 8

44

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 86

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Опционе карактеристике (1)

Опционе карактеристике:1. Вишеструко наслеђивање

било би добро да систем омогући вишеструко наслеђивање

2. Проверавање типова Пожељно је да у фази превођења буде обезбеђена што боља

провера типова, али није неопходно

3. Дистрибуираност података ова могућност може да буде подржана, при чему мора да

буде ортогонална у односу на остале карактеристике

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 87

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Опционе карактеристике (2)

Опционе карактеристике:4. Обликоване трансакције

класичан систем трансакција не одговара потребама некихсавремених примена

пожељно је да постоји могућност прилагођавања начинаодвијања трансакција

5. Верзије пожељна је подршка за верзије

45

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 88

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Изборне карактеристике (1)

Изборне карактеристике:1. Парадигма програмирања

не види се разлог зашто би нека парадигма била погоднија однеке друге

исто важи и за синтаксу

2. Систем репрезентације података претпоставља се да се може имплементирати на различите

начине

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 89

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Изборне карактеристике (1)

Изборне карактеристике:3. Систем типова

овде аутори имају пуну слободу осим што се морајуиспоштовати претпоставке енкапсулације и наслеђивања

4. Униформност овде се мисли на питања типа “да ли је тип објекат?”, “да ли

је метод објекат?”... може се подржати униформно представљање објеката,

типова, метода, али и неки другачији начин представљања

46

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 90

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Стандардизација

ООСУБП се одликују разноликошћу и неуједначеношћу моделаподатака То је велики минус у односу на јединствен модел података код

РСУБП

Оснива се Object Database Management Group (ODMG) 1991. У сарадњи са Object Management Group (OMG) Први резултат је стандард објављен 1993.

Стандард обухвата референтни модел података

ODMG Object Model

језике Object Definition Language – ODL Object Query Language – OQL

интерфејсе за употребу ових језика из програмских језика C++ иSmalltalk

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 91

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Ад-хок типови

Основни проблем свих досадашњих решења јенемогућост руковања тзв. “адхок типовима” (декларативни типови)

Пример: “квадрат је правоугаоник чије су странице једнаке”

...

47

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 92

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Трећи манифест Познати теоретичари база података Date и Darwen

су 1995. понудили своју верзију манифеста базаподатака будућности The Third Manifesto

Мотивација: “...(Аткинсонов) манифест у свом одбацивању

релационог модела података игнорише његову важности значење и, по нашем мишљењу, не успева да понудичврсто усмерење...”

“...док (Стоунбрекер) исправно прихвата релационимодел, не успева да истакне безнадежност настављањапраћења широко усвојене перверзије овог модела, назване SQL...”

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 93

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

“Грешке” у Аткинсоновом приступу?

Одступање од релационог модела резултат нема математичко залеђе

противречан је у односу на више питања

48

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 94

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

“Грешке” у Стоунбрекеровом приступу?

Задржавање SQL-а SQL одступа од релационог модела

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 95

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Одступања SQL –а од рел. модела (1)

табела је врећа а не скуп не захтева да табела има примарни кључ табела може имати поновљене редове

подршка за недефинисане вредности релациони модел их не допушта недефинисане врендости уводе тровалентну логику

релациони модел почива на двовалентној пример: SELECT SUM(x+y)... није исто као SELECT SUM(x) + SUM(y)...

колоне су уређене и не користе се само по имену већ и поположају скуповне операције резултат упита може имати више колона са истим именом резултат упита може имати неименоване колоне наредба INSERT претпоставља редослед колона

...

49

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 96

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Одступања SQL –а од рел. модела (2)

слаба подршка за нове типове података овај проблем је делимично решен у ОР моделу

слаба подршка интегритету података једини услови између релација су страни кључеви, што није довољно услови на нивоу табела су слаби или непостојећи

мешање физичких и логичких концепата индекси су физички концепт, али јединствени индекси имају утицај на

логику физичка оптимизација се изводи преко логичке денормализације

поређење ниски даје потврдан одговор и када нису исте дужине “А” = “А “

...

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 97

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Циљ

“Проналажење чврсте основе за будућностподатака” SQL није у стању да пружи такву основу

основа мора да почува на релационом моделу података(РМП)

јасна је пожељност подршке за карактеристике које сеобично називају објектном оријентацијом објектна оријентација је ортогонална у односу на РМП

РМП се не мора мењати или допуњавати

50

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 98

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Метод

Претпоставља се да постоји језик D (не SQL) којисадржи ОО карактеристике изграђене над РМП

Препознају се препоручене и забрањенекарактеристике таквог језика уочавају се оне које се односе на РМП:

Relational Model Prescriptions Relational Model Proscriptions углавном се о њима не дискутује много, зато што је

задржавање релационог модела примарни концепт

уочавају се оне које се не односе на РМП: Other Orthogonal Prescriptions Other Orthogonal Proscriptions о њима су предмет врло живе и острашћене дискусије

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 99

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (1)

Домен именовани скуп вредности

произвољно сложене вредности

вредностима се рукује искључиво помоћу операторадефинисаних на том домену (енкапсулација)

за сваки домен постоји нотација за одређивањевредности домена (конструктор)

домен = тип података

сваки домен мора да има дефинисану операцијупроверавања једнакости

51

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 100

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (2)

Скалар вредност домена

без обзира на потенцијалну сложеност

типизирани су (за сваки скалар је познат његов тип)

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 101

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (3)

Репрезентација домена потенцијална физичка представа домена

разликују се могућа репрезентација

стварна репрезентација

домен мора да има операторе који излажу стварнурепрезентацију (или једну могућу)

52

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 102

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (4)

Торка (tuple) t скуп уређених тројки (A, D, v) где

A је назив атрибута торке D је назив домена торке који одговара атрибуту A v је вредност из домена D и назива се вредност атрибута A

торке t

Заглавље торке је скуп уређених парова (A, D), који се добија елиминисањем свих вредности v изторке t Ако је познато заглавље, требало би да постоји нотација

за експлицитно одређивање (конструисање) произвољне торке са тим заглављем

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 103

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (5)

Релација састоји се од заглавља и тела

тело релације је скуп торки које све имају заглављаидентична заглављу релације

53

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 104

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (6)

Скаларна променљива типа V променљива чије допуштене вредности су скалари

датог домена V

Променљива торке типа T променљива чије допуштене вредности су торке са

датим заглављем Т

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 105

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (7)

Релациона променљива типа R (relvar) променљива чије допуштене вредности су релације са

датим заглављем R

Изведена релациона променљива она чија вредност се не дефинише као дати скуп него

као резултат израчунавања датог израза

(одговара концепту погледа)

Основна релациона променљива она чија вредност се дефинише као дати скуп

(одговара концепту табеле)

54

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 106

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Основни појмови (8)

Променљива базе података (dbvar) именовани скуп релационих променљивих

променљива базе података је предмет дефинисањауслова интегритета

База података вредност променљиве базе података

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 107

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

...манифесто...

RM Prescriptions ...

RM Proscriptions ...

55

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 108

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

OO Prescriptions

Проверавање типова у време превођења

Наслеђивање

Вишеструко наслеђивање

Рачунски комплетан језик

Експлицитно управљање трансакцијама

Угњеждене трансакције

Агрегатни оператори на празном скупу

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 109

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

OO Prоscriptions

1. Релационе променљиве нису домени табела НИЈЕ класа

2. Ниједна вредност (скалар, торка, релација) не сме да иманекакав идентификатор који није део саме вредности одбацује се идеја идентификатора објеката одбацује се идеја идентификатора торки не забрањује се да објекти ван променљиве базе података

имају некакве идентификаторе3. Не може се дефинисати променљива чија вредност је у бази

података уместо тога, може се само дефинисати скраћена нотација за

приступање деловима базе података4. Не би требало да постоји концепт заштићених података ни

пријатељских метода

56

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 110

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Литература за ову тему

Date, Darwen, Foundation for Object/Relational Databases: The Third Manifesto, 1998. http://www.thethirdmanifesto.com/

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.2183

Darwen, An Introduction to Relational Database Theory, 2010. http://bookboon.com/int/student/it/an-introduction-to-relational-

database-theory

Rel – Имплементација језика Tutorial D http://dbappbuilder.sourceforge.net/Rel.php

Р373 - Дистрибуиране и објектне базе података - Саша Малков - 2014/15 - час 6 111

Унив

ерзи

тету

Беог

раду

-Мат

емат

ички

фак

улте

т

Литература за ову тему

Chaudhri, Zicari, Succeeding with Object Databases, 2001.

Date, Darwen, Foundation for Object/Relational Databases: The Third Manifesto, 1998.

Bertino, Martino, Object Oriented Database Systems, 1993.

InterSystems Cache Technology Guide http://www.intersystems.com/cache/technology/techguid

e/index.html