7
Daudzbāzu sistēmas (multibāzes)
...problems as heterogeneous hardware and software and database owners who desire local autonomy. Increasing mention is being made of more loosely linked collections of data, known by such names as multidatabases or federated databases. A closely related concept is interoperability, meaning the ability of the user of one member of a group of disparate systems (all having the same functionality)...
http://www.itec.uni-klu.ac.at/~harald/c2000-7.html
http://www.workflowpatterns.com/documentation/documents/transactionmodel.pdf
http://www.uio.no/studier/emner/matnat/ifi/INF5100/h11/undervisningsmateriale/heterogeneous_dbs.pdf
https://docs.oracle.com/cd/E22041_01/doc.74/e25102/adm_multidb.htm#autoId0
27 Managing a Multidatabase or Multischema System
Oracle® Communications Billing and Revenue Management Concepts Release 7.4 E25109-01
8
Daudzbāzu sistēmu tipi
1. Izkliedētās jeb sadalītās datu bāzes (distributed databases) ir
homogēnu, sasaistītu (loģiski un fiziski) lokālu datu bāzes
sisistēmu kopa, kurā tiek nodrošina vienota globāla datu
apstrāde. Lokālajām datu bāzes sistēmām ir vienots datu
modelis un datu apstrādes valoda.
2. Multidatubāzes (multidatabases) integrē heterogēnas
mantotas (iepriekš eksistējošas) datu bāzes sistēmas ar
dažādiem modeļiem un datu apstrādes valodām. Multibāzes
tiek izveidotas datu globālās shēmas, kuras norādu kur kādi
dati kādos formātos glabājas. Globālās shēma var tikt
izveidota datoru tīkla vienā vietā vai tikt sadalīta pa vairākiem
tīkla mezgliem, globālā shēma bieži arī tiek dublēta drošuma
dēļ. Dažreiz globālā shēma tiek ģenerēta dināmiski izmantojot
globālās datu apstrādes valodas (global access languages).
3. Interoperablās (interoperable) sistēmas nodrošina datu
apmaiņu starp heterogēnām lokālām datu bāzes sistēmām, bet
nenodrošina informāciju, kas kur glabājas. Globālā shēma
netiek veidota.
9
Daudzbāzu sistēmu klasifikācijaIr izveidotas vairākas daudzbāzu sistēmu klasifikācijas. Viena
no biežak lietotajām ir M.W.Bright, A.R.Hurson un Simin
H.Packzad daudzbāzu sistēmu klasifikācija.
Nosaukums Lokālas DB globālais interfeiss
Lokālā mezgla tips Pilnā globālā funkcionali-tāte
Globālās integrācijas metode
Sadalīta daudzbāzu
sistēma
Lokālas DBVS funkcijas
Homogēnas datu bāzes
Ir Globālā shēma
Daudzbāzu sistēma ar
globālo shēmu
DBVS lietotāja interfeiss
Heterogēnas datu bāzes
Ir Globālā shēma
Federāciju daudzbāzu
sistēma
DBVS lietotāja interfeiss
Heterogēnas datu bāzes
Ir Daļēja globālā apakšshēma
Heterogēnas sistēmas ar vienādām
pieejas valodām
DBVS lietotāja interfeiss
Homogēnas datu bāzes
Ir Pieejas valodas funkcija
Homogēnas sistēmas ar vienādām
pieejas valodām
DBVS lietotāja interfeiss,
papildināts ar dažām DBVS
iekšējām funkcijām
Homogēnas datu bāzes
Ir Pieejas valodas funkcija
Interoperablā sistēma
Ārējais lietojums
Jebkurš datu avots, kurš
atbalsta attiecīgu datu
protokolu
Nav Nav globālas integrācijas
Daudzbāzu sistēmas
ar globālo shēmu
bez globālās sistēmas
ar centralizētu globālo sistēmu
ar decentralizētu globālo sistēmu
ar pieejas valodu funkciju
ar daļējām globālām shēmām
ar homogēniem mezgliem
ar heterogēniem mezgliem
ar homogēniem mezgliem
ar heterogēniem mezgliem
ar globālo sistēmu
(Interoperablās sistēmas)
(Sadalītas sistēmas)
(Federāciju sistēmas)
(Daudzbāzu sistēmas ar globālo shēmu)
(Homogēnas sistēmas ar vien ādām piejas vaodām)
(Heterogēnas sistēmas ar vien ādām piejas vaodām)
10
Daudzbāzu sistēmu klasifikācijas koks
11
Datu bāzes sistēmu arhitektūras1. Failu servera arhitektūra
Failu pieprasījums Faili
Failu servera arhitektūras galvenie trūkumi:1. zema ražība;2. nav sadalītas apstrādes atbalsta.
Šo trūkumu dēļ failu servera arhitektūru reti izmanto daudzbāzu informāciju sistēmās.
Serveris
Dialogs ar lietotāju
Tranzakciju vadība
Saite ar DBVS kodolu
Failu vadība
Klients
Datu bāzes datu faili un DBVS programmu faili. . .
12
2. Klienta – servera arhitektūra Datu bāzes sistēma, kas ir veidota izmantojot klient-servera arhitektūru
sastāv no divām loģiskajām daļām:
1. datu apstrādes pakalpojuma pieprasītāja daļas – klients
(pieprasījums parasti tiek veidots SQL datu apstrādes valodā);
2. apkalpojošās daļas (serveris).
Datu bāzes klient-servera sistēmu (SQL serveru, datu bāzes serveru)
projektēšanas mērķis ir viendabīgi sadalīt uzdevumus starp klienta
daļu un servera daļu. Bez tam sistēmās klients -serveris ne tikai klients
var griezties pie servera, bet arī serveris var griezties pie cita servera.
Klients ServerisSasaiste
Pakalpojuma pieprasījums
Pakalpojums
Klients
ServerisDB
Klients
Serveris
Klients
Serveris
13
Daudzbāzu sistēma
1. Daudzbāzu sistēma ir sistēma, kurā ir vairākas lokālas datu bāzes.
2. Daudzbāzu sistēmā katram mezglam ir savas datu bāzes, savi lokālie
lietotāji, sava DBVS un savs programmnodrošinajums tranzakciju vadībai,
kā arī ir savs datu pārraides dispečers.
3. Uz datu bāzes sitēmu var skatīties, kā uz struktūru, kura sastāv no servera
(t.i. DBVS) un klientiem (t.i., lietojumi). Tātad katrs mezgls daudzbāzu
sistēmā strādā klienta - servera arhitektūrā.
4. Daudzbāzu sistēmā katram mezglam ir jābūt kā klientam , tā arī serverim
attiecībā pret citiem mezgliem.
DB
DB
KOMMUNIKĀCIJU TĪKLS
DB2
DB3
DB1
14
Daudzbāzu sistēmu veidi
1. Daudzbāzu sistēma bez globālas shēmas
Lokālā shēma 1Lokālā shēma 2
Lokālā shēma 3Lokalais lietotājs 2
Lokalais lietotājs 3
Lokalais lietotājs 1
Globālais lietotājs
DB2DB1
15
2. Daudzbāzu sistēma ar globālo centralizētu shēmu
Globālā shēmaGlobālā shēma
globālā shēma
pieejas valodas funkcija
Lokālā shēma 1 Lokāla shēma n…
Lokalais lietotājs 1 Lokalais lietotājs n
Lokalais lietotājsLokalais lietotājs
DB2DB1
16
3. Daudzbāzu sistēma ar decentralizētu globālo shēmu
Lokālā shēma 1
Lokāla shēma n…
Daļēja globālā shēma
Daļēja globālā shēma
17
Daudzbāzu sistēmas piecu līmeņu shēmas
Globālā shēma
Ārējā shēma A Ārējā shēma B Ārējā shēma C
Federācijas shēma A Federācijas shēma A
Eksporta shēma A Eksporta shēma B Eksporta shēma C
Komponenta shēma A Eksporta shēma B Eksporta shēma C
Lokālās DB shēma A Lokālās DB shēma B Lokālās DB shēma C
18
Datu apmaiņas veidi
1. Daudzbāzu sistēmās bez globālās sistēmas var būt tādi apmaiņas veidi:
a) Lokālais lietotājs 1 --- DB1b) Lokālais lietotājs 1 --- DB2
2. Daudzbāzu sistēmās ar globālu sistēmu ir tādi datu apmaiņas veidi:
a) Lokālais lietotājs 1 --- DB1b) Lokālais lietotājs 1 --- DB2c) Globālais lietotājs --- DB
Apvienojot šos divus punktus var saņemt tādu datu apmaiņas veidus daudzbāzu sistēmās:
a) Lokālais lietotājs 1 --- DB1 b) Lokālais lietotājs 1 --- DB2 c) Lokālais lietotājs 1 --- DB2 d) Globālais lietotājs --- DB
Var uzrakstīt šos datu apmaiņas veidus ķēžu veidā:
a) Lokālā shēma ---- DB1b) Lokalā shēma 1 --- Lokālā shēma 2 --- DB2c) Lokālā shēma 1 --- Globālā sistēma --- Lokālā shēma 2 --- DB2d) Globālā sistēma --- DB1
Apskatoties ķēdes var secināt, kā dažas ķēdes ieiet kā apakšķēde citās (a-b, d-c). Tātad var izdalīt 2 galvenās datu apmaiņas ķēdes:1)Lokālā shēma 1 --- Globālā sistēma --- Lokālā shēma 2 --- DB22)Lokālā shēma 1 --- Lokālā shēma 2 --- DB2
-- sistēmās bez globālas sistēmas-- sistēmās ar globālu sistēmu
19
Domeni daudzbāzu sistēmās
Datu bāzes sistēmas (DBS) var sadalīt piecās grupās:
1) kopēja operatīvā DBS - tā ir datu bāze, kura satur datus, kas ir ģenerēti, pateicoties organizācijas operācijām –
piemēram pārdošana, produkcija, atskaites;
2) kopēja lietotāja DBS (vadības datu bāze) - tāda datu bāze satur izvēlētus datus no iepriekšēja veida un ārējām datu
bāzēm, vai datus, kas apraksta kādu organizācijas operāciju. Šo datu bāzi kopīgi var izmantot daži vadītāji. Tādu
datu bāzi izmanto, lai palīdzētu vadītājiem lēmumu pieņemšanā;
3) sadalīta DBS - tā ir datu bāze, kuras daļas ir attālinātas viena no otras un ir sadalītas pa organizācijas nodaļām;
4) personālā - tā ir sadalīta datu bāze, kuras daļas nevis izkliedētas pa organizācijas nodaļām, bet atrodas vienā datorā.
Tādas datu bāzes izmanto atskaišu veidošanai;
5) ārējā DBS - tā ir sadalīta datu bāze tikai ne vienas organizācijas mērogā, bet vairāku organizāciju mērogā. Šajā
gadījumā organizācijas tiek sauktas par domeniem.
20
2.4.2. Datu apmaiņas veidi daudzbāzu sistēmās ar domeniem
No iepriekšēja punkta var pasvītrot, ka daudzbāzu sistemas var eksistēt netikai vienas organizācijas iekšā. Daudzbāzu sistēmās var būt tā saucamie domeni. Pieņemsim ka, pieeja pie datu bāzes no cita domena notiek ar vārtēju palīdzību. Tātad pie
pirmām divām ķēdēm (sk. 1.3. punktu) var pierakstīt vēl tādas četras:1. Lok.sh.1 – vārtēja – Lok.sh.2 – DB22. Lok.sh.1 – vārtēja – Gl.sistēma – Lok.sh.2 – DB23. Lok.sh.1 – Gl.sistēma – vārtēja – Lok.sh.2 – DB24. Lok.sh.1 – Gl.sistēma – vārtēja – Gl.sistēma – Lok.sh.2 – DB2
21
Datu apmaiņas veidi
Apmaiņas ķēdesĶēde Sistēma
Lok.sh.1 – Lok.sh.2 – DB2 Vienas organizācijas daudzbāzu sistemās bez globālās sistēmas
Lok.sh.1 – Gl.sistēma – Lok.sh.2 – DB2 Vienas organizācijas daudzbāzu sistēmās ar globalo sistēmu
Lok.sh.1 – vārtēja – Lok.sh.2 – DB2 Vairāku organizāciju daudzbāzu sistēmās bez globālām sistēmām
Lok.sh.1 – Gl.sistēma1 – vārtēja – -- Gl.sistēma2 – Lok.sh.2 – DB2
Dažu organizāciju daudzbāzu sistēmās ar globālām sistēmām
Lok.sh.1 – vārtēja – -- Gl.sistēma – Lok.sh.2 – DB2
Dažu organizāciju daudzbāzu sistēmās ar globālo sistēmu
Lok.sh.1 – Gl.sistema – vārtēja – -- Lok.sh.2 – DB2
Dažu organizāciju daudzbāzu sistēmās ar globālo sistēmu
1. Tā kā ir divi globālas sistēmas veidi – globālā shēma un pieejas valodas funkcija, otru ķēdi var pārraktīt tā:
2. Lok.sh.1 – Gl.sistēma – Lok.sh.2 – DB22.1. Lok.sh.1 – Gl.shēma – Lok.sh.2 – DB2
2.2. Lok.sh.1 – Pieejas valodas funkcija – Lok.sh.2 – DB2
2. Var sīkāk aprakstīt ceturto ķēdi:
4. Lok.sh.1 – Gl.sistēma1 – vārtēja – Gl.sistēma2 – Lok.sh.2 – DB2
4.1. Lok.sh.1 – Gl.sh.1 – vārtēja – Gl.sh.2 – Lok.sh.2 – DB24.2. Lok.sh.1 – Gl.sh. – vārtēja – Pieejas val.funkc. – Lok.sh.2 –
-- DB24.3. Lok.sh.1 – Pieejas.val.funkc. – vārtēja – Gl.sh. – Lok.sh.2 –
-- DB24.4. Lok.sh.1 – Pieejas.val.funkc.1 – Pieejas.val.funkc.2 – Lok.sh.2
–DB23. Ķēžu pāri: 5 un 6, 4.2 un 4.3 ir simitriski, jo no datu pārveidošanas viedokļa šajos pāros notiek viens un tas pats darbs.
Tātad, ja nav principiāli, kādā daudzbāzu sistēmas domenā atrodas globālais mezgls, tad ķēžu pārus var aizvietot ar tādām ķēdēm:
4.2. Lok.sh.1 – Gl.sh. – vārtēja – Pieejas val.funkc. – Lok.sh.2 –
-- DB25. Lok.sh.1 – vārtēja – Gl.sistēma –
Lok.sh.2 – DB2
22
4. No punkta 3 ķēdi 5 var pārrakstīt tā:
5.1. Lok.sh.1 – vārtēja – Gl.shēma – Lok.sh.2 – DB2
5.2. Lok.sh.1 – vārtēja – Pieejas val.funkc. – Lok.sh.2 – DB2
5. No ķēdes 5 punktā 3 visdrīzāk var runāt par daudzbāzu sistēmu ar globālo mezglu. Trūkums tam var būt šāds: tādu globālu sistēmu grūti uzturēt. Var risināt šo problēmu, pilnīgi izmainot sistēmu (ķēde 3 no tabulas), vai apvienojot divus domenus, katrā no kuriem ir globāla sistēma. Šajā gadījumā visa informācija, kuru saturētu globālā sistēma 1.variantā būs sadalīta daļās – katra globālā sistēma saturēs informaciju no sava domena, bet bez esošas informācijas globālajai sistēmai būs jāsatur informācija, kas palīdzētu domeniem mijiedarboties, piemēram tas varētu būt informācija par svešo domenu koncepciju.
Lokālā shēma 1
DB1DB1DB2DB1
Globālā shēma
Lokālā shēma 2
Pieejas valodas funkcija
Vārtēja
Globālā shēma
Pieejas valodas funkcija
2, vai3.1., vai3.2.
3.1.
3.2.
4.1v., vai4.2.v, vai3.1.v
4.3. v, vai 4.4 .v, vai3.2. v
1 --pieeja pie datu bāzes2 – datu bāzu draiveri3.1. – integrācija3.1.v—integracija +vārtēja3.2. --valodas funkcija3.2.v--valodas funkcija+vārtēja4.1.v – Gl.sh–G.sh. (caur vārtēju)4.3.v – Gl.sh—P.v.f.(caur vārt.)4.2.v – P.v.f.—Gl.sh.(caur vārt.)4.4.v – P.v.f.—P.v.f. (caur vārt.)
1 1
23
Globālā tīkla mezglu sadarbību shēma
24
SADARBĪBAS PAŅĒMIENIVar izdalīt sekojošas ķēžu daļas un starpmezglu sadarbības paņēmienus:
DBLokālā shēma
2.
Lokālā shēma Lokālā shēma
1.
Lokālā shēma Lokālā shēma
Globālā shēma
3.
Lokālā shēma Lokālā shēmaPieejas valodas funkcija
4.
TīklsVārtēja
5.
Tīkls
Globālā shēma5.1. Globālā shēma
Globālā shēma5.2.
Pieejas valodas funkcija
Pieejas valodas funkcija5.3.
Pieejas valodas funkcija
(Datu bāzu apmaiņas mehānismi)
(Pieeja pie datu bāzes)
(Integrācija)
(Valodas funkcija)
25
Datu apmaiņa starp datu bāzēm
Daudzbāzu sistēmā “katram mezglam ir savas datu bāzes, savi lokālie lietotāji, sava DBVS un savs programmnodrošinājums
priekš tranzakciju vadības (ieskaitot blokešanu, reģistrāciju , atjaunošanu un t.t.), kā arī ir savs datu pārraides dispečers” [15]. Tāpēc daudzbāzu sistēmu no fiziskā viedokļa var attēlot tā, kā ir parādīts 3.1.attēlā. Attēlā ir redzams, ka katrs mezgls ir vienlaicīgi gan
klients, gan serveris, tā kā uz datu bāzes sistēmu var skatīties, kā uz “struktūru, kura sastāv no servera (t.i. DBVS) un klientu kopu
(lietojumi)” [15]. Pamatojoties uz klasifikāciju, kura bija dota 2.1.punktā, var izdalīt 2 daudzbāzu sistēmu pamatveidus – bez globālas sistēmas
(mezgla, kurš vada datu manipulācijas starp mezgliem), kas ir vienkārši savienoti tā, kā ir redzams 3.2.attēlā un ar globālo sistēmu, (sk. 3.1.att.). Tāda tipa sistēma ir, piemēram, Mermaid daudzbāzu sistēma. Abos gadījumos ir savi paņēmieni un pieejas datu
apmaiņai starp mezgliem.
Kommunikācijas tīkls 1
Klienti (lietojumi)
Serveris(DBVS)
DB2
lietotājs
Klienti (lietojumi)
Serveris(DBVS)
DB1
lietotājs
Klienti (lietojumi)
Serveris(DBVS)
DB3
lietotājs
Klienti (lietojumi)
Serveris(DBVS)
DB4
lietotājs
26
Daudzbāzu sistēma ar globālo shēmu
Globālā sistēma
DB2DB1
Klienti
ServerisDB3
Kommunikācijas tīkls 2 Klienti
ServerisDB1
Klienti
ServerisDB3
Klienti
ServerisDB2
27
Daudzbāzu sistēma bez globālās shēmaLietotājs
Klienti
Serveris
Lietotājs
Klienti
Serveris
Kommunikācijas tīkls 1
V Ā R T Ē J A
28
Datu apmaiņa
Daudzbāzu sistēma bez globālā mezgla neatbalsta visas datu bāzu funkcijas. Visas funkcijas ir ierobežotas ar datu apmaiņu. Priekš mezglu sadarbības strādā standarti. Tie ir, piemēram, tādi :
1. SQL2. RDA3. DRDA4. ODBC5. MS OLE DB
Ir izstrādāta SQL valodas versija SQL/92, ar kuras palīdzību var strādāt ar klient-servera sistēmām. Šajā valodā ir CONNECT un DISCONNECT operācijas priekš klient-servera tipa savienojumiem. Kad savienojums ir uzstādīts, klients var sastādīt un sūtīt SQL vaicājumus un serveris izpildīs nepieciešamas operācijas. Saskaņā ar šo standartu SQL-klients, kas ir jau savienots ar kādu serveri, var arī savienoties ar citu serveri. Pēc otra savienojuma uzstādīšanas, pirmais kļūst par passīvu. Tas ir, saskaņā ar standartu klientan var būt tikai viens aktīvs savienojums un daži passīvi savienojumi.
Kopā ar SQL/92 standartu eksistē arī ISO standarts pieejai attālinātiem objektiem (Remote Data Access – RDA). RDA noteic formātus un protokolus priekš klient-servera savienojumiem. Pie kam klient sūta vaicājumus datu bāzei saskaņā ar SQL standartu un serveris atbalsta šo standartu.
DRDA standartu izstrādāja firma IBM. RDA un DRDA standartiem ir līdzīgie mērķi, bet DRDA standartā klienti var izmantot netikai SQL standarto versiju, bet dažādus šīs valodas dialektus. DRDA ir izveidots uz IBM arhitektūras un standartiem, tajā laikā RDA atbalsta tikai starptautiskus standartus, kuri nav atkarīgi no atsevišķiem izstrādātājiem.
Transl. progr. 1 Transl. progr. 2 Transl. progr. 4Transl. progr. 3 Transl. progr. 5 Transl. progr. 6
Personālā DBVSRelāciju DBVS Personālā DBVS
DBVS
Lietojums 1
Lietojums 2
Lietojums 3
DB
ODBC 1 ODBC 2
Lietojums 3
Lietojums 2
Lietojums 1
DBVS DB
Pirms O
DB
C
OD
BC
tehnoloģija
29
Datu izgūšanas tehnoloģijas attīstība
Lietojums 1 Lietojums 2 Lietojums 3
ODBC draivers 1 ODBC draivers 2
Personālā DBVSRelāciju DBVS Personālā DBVS
ODBC Driver Manager
30
ODBC struktūra
OLE DB
Microsoft WordOLE DB/ODBC Driver Manager Microsoft Exchange Object File System
DB
DBDB
31
MS OLE DB standarts
OLE DB standarts, tāpat kā ODBC standarts nodrošina pieeju
vairākām datu bāzēm. Bet atšķirībā no ODBC, OLE DB nodrošina
pieeju pie visiem esošiem datiem. Tie var būt relāciju datu bāzes,
dokumenti, elektroniskās tabulas, elektroniskā pasta faili un ziņojumi.
Oracle draivers DB2 draivers
DB
DBDB
Visual Basic Delphi C++