42
Datu bāzes sistēmu tehnoloģiju problēmas, risinājumi un attīstības tendences 1

Datu glabāšanas sistēmu un to projektēšanas tehnoloģiju ...€¦  · Web viewMongoDB, Terrastore, ThruDB, OrientDB, RavenDB. 3. Atslēgas un vērtības tipa "deģenerēta"

Embed Size (px)

Citation preview

Datu bāzes sistēmu tehnoloģiju problēmas, risinājumi un attīstības tendences

1

Informācijas sistēmas – informācijas tehnoloģiju pamatuzdevums

Sekmīgai darbībai cilvēki izmanto daudz un dažādas informācijas sistēmas. Mūsdienās tās galvenokārt ir datorizētās informācijas sistēmas.

Informācijas sistēma

Informācijas sistēma

2

Datu krātuve

Lietojumi

Informācijas sistēmas pamatelementi

Informācijas sistēma

1999 Oracle8i - terabaiti (1024 gigabaiti)

2001 Oracle9i 500 petabaiti (1024 terabaiti).

2005 Oracle 10g eksabaiti (1024 petabaiti).

3

Lietojum-programmas Datu vadība DatiSakaru

vide

?

Datu loģiskā neatkarība

a) lietojums ir atkarīgs no datu struktūras izmaiņām

Ieraksts

Bloks

b) datu loģiskā neatkarība (lietojuma neatkarība no datu struktūras izmaiņām)

Bloks Ieraksts

Lauks

4

Datu glabāšanaOperētājsistēma

Failu vadībassistēma

Lietojums

Lietojums

Lietojums

fails

Datu glabāšana

Operētāj-sistēma

Failu vadībassistēma

Lietojums

Lietojums

Lietojums

fails !

Datu koplietošanas problēma (pretrunu rašanās)

Kopīgie dati Pretrunas! t Izmaiņas A faila datos Izmaiņas B faila datos

5

Datu krātuve

A fails B fails

A lietojums

B lietojums

Datu bāzes sistēma (DBS)

Datu bāze + Datu bāzes vadības sistēma = DBS

Bloks Ieraksts

Lauks

Datu bāzes sistēma

6

Datu bāze Operētāj-sistēma

Failu vadībassistēma

Lietojums

Lietojums

Lietojums

Datu bāzes

vadības sistēma

Datu bāzes eksistējošās definīcijas

Collins world English Dictionary Database  is systematized collection of data that can be accessed immediately and manipulated by a data-processing system for a specific purpose.

The American Heritage Science Dictionary Database is a collection of data arranged for ease and speed of search and retrieval by a computer.

Informātikas vārdnīca. Avots Savstarpēji saistītu informacionālu objektu tematisks kopums, kas ar speciālas pārvaldības sistēmas starpniecību organizēts tā, lai nodrošinātu ērtu informācijas izguvi, izdarītu tās atlasi un kārtošanu.

Datu bāze (angliski: “data base” un “data-base” 70-to gadu sākumā, database – vēlāk)

ir ārējā atmiņā noteiktā struktūrā organizēti dati un meta dati, kas nodrošina, ka

datu bāzes vadības sistēma var realizēt datu bāzes tehnoloģijai izvirzītās datu

glabāšanas un apstrādes prasības.

7

Datu bāzes tehnoloģijas vadošie izstrādātāji un

popularizētāji

1. J. Martin – viens no pirmajiem datu bāzes koncepcijas sistematizētājiem.

2. E. F. Codd - relāciju datu bāzes koncepcijas autors (1970.g.).

4. C. J. Date – relāciju datu bāzes teorētiķis un popularizētājs (1975. g. – pirmā grāmata par relāciju datu bāzēm).

5. Peter Cheng – relāciju datu bāzes konceptuālās projektēšanas pamatprincipu autors (ER (Entity Relationship) diagrammas autors).

8

Datu bāzes modeļi (trīs līmeņu diagramma)

Lietotājs (IS pasūtītājs),

sistēmanalītiķis

Transformācija

DB projektētājs

Transformācija

DB projektētājs,

DB adminstrators

Realizēšana

9

Datu konceptuālais modelis (pilnīga neatkarība no DB realizācijas)

Datu bāzes loģiskais modelis (izvēlēts datu bāzes vadības sistēmas tips)

Datu bāzes fiziskais modelis (izvēlēta konkrēta datu bāzes vadības sistēma)

Datu bāze

Atmiņas iekārtas datu glabāšanai

1. Kešatmiņa (pirmā (kopā ar mikroprocesoru) un otrā līmeņa).

2. Operatīvā atmiņa (main memory).

3. Virtuālā atmiņa (operatīvā atmiņa + ārējā atmiņa).

4. Pirmā līmeņa ārējās atmiņas iekārtas (secondary storage devices) (diski).

5.Otrā līmeņa ārējās atmiņas iekārtas (tertiary storage devices) (optiskās datu krātuves).

Jaunais AIX P690 serveris ar 128 procesoriem un n terabaitu operatīvo atmiņu

10

Datu bāze

Operētāj-sistēmaFailu vadībassistēma

Atmiņas vienības datu glabāšanai

1. Faili

2. Bloki

3. Raksti:

- ar mainīga garuma laukiem;

- ar daudzvērtīgiem laukiem;

- ar mainīgu formātu;

- liela atmiņas apjoma raksti "lielo" objektu (LOB) glabāšanai

4. Lauki

11

Fails1. bloks 2. bloks

rakstslauks

Datora aparatūra ar elementu izstrādātājfirmu programmu nodrošinājumu (firmware)

Operētājsistēma ar failu vadības sistēmu

Lieli lietojumi ar iekļautām failu vadības sistēmas funkcijām

1. bloksDienesta informācijaBrīva atmiņaDati

Paralēlās darbības datu bāzes sistēmas

1. Procesoru "paralēlismi".

2. Operatīvās atmiņas un ārējās atmiņas "paralēlismi".

3. Algoritmu "paralēlismi".

4. Datu izgūšanas "paralēlismi".

12

Universālās un specializētās datu bāzes sistēmas

Universālās datu bāzes sistēmas

1. Relāciju datu bāzes sistēmas.

2. Objektu datu bāzes sistēmas.

3. Relāciju-objektu datu bāzes sistēmas (object-relational database systems).

Specializētās datu bāzes sistēmas

1. Grafisko datu DB sistēmas.

2. Daudzdimensiju datu DB sistēmas (datu noliktavas).

3. Temporālālo (laika, laika vēstures) datu DB sistēmas.

4. Aktīvās DB sistēmas (aktīvo likumu datu bāzes sistēmas).

5. Deduktīvās DB sistēmas (likumu un izvedumu datu bāzes sistēmas).

6. Vāji strukturizēto datu DB sistēmas (XML datu bāzes sistēmas).

13

Specializēto datu bāzes sistēmu veidošana

1. Jaunu datu tipu izmantošana datu bāzes sistēmās (piemēram, PosgreSQL).

2. Jaunu SQL funkciju izmantošana (piemēram, Oracle Analytical function (OVER tipa vaicājumi), datu noliktavas realizēšanas vaicājumi (GROUP by CUBE, Grouping), hierarhiskie vaicājumi).

3. Datu bāzes sistēmas paplašinājuma veidošana izmantojot papildus programmu paketes: - IT firmu produktu izmantošana (piemēram, Oracle Spatial); - programmu pakešu izstrāde izmantojot datu bāzes servera programmēšanas valodas (piemēram, PLSQL un Java (Oracle DBVS).

4. Datu bāzes servera kodola paplašinājumu veidošana (piemēram, Oracle cartridges, DB2 data blades).

14

Datu bāzes datu glabāšanas struktūras

1. Virknes failu struktūras

2. Tiešās pieejas failu struktūras

3. Kokveida datu struktūras (HDB)

4. Tīklveida datu struktūras (TDB)

5. Ierobežota tīkla datu struktūras (CODASYL)

6. Tabulveida datu struktūras (RDB)

7. Trīsdimensiju tabulu datu struktūras (Papl.RDB)

8. Objektu struktūras (ODB)

9. Relāciju-objektu struktūras (RODB)

10. Daudzdimensiju struktūras (DN, DV)

11. Daļēji strukturēto datu struktūras

15

Indeksu struktūras

1. Primārais indekss.

2. Sekundārais indekss.

3. Blīvais indekss (dense index).

4. Neblīvais indekss (sparse index).

5. B-koka struktūras indeksi.

6. Daudzdimensiju indeksi:

- vairāku atslēgu indekss (multiple key index);

- kd koka struktūras indekss;

- R koka struktūras indekss;

- indekss ar bitu vērtību izmantošanu (bit-map index).

7. Heš-tabulas (hash table) izmantošana.

8. Tīklveida faila (grid file) izmantošana.

16

Datu pieprasījumu izpildes fiziskā līmeņa algoritmi

Pamatalgoritmi

1. Datu šķirošana.

2. Datu pārskate (scanning).

3. Heš-adresācijas izmantošana.

4. Indeksu izveidošana.

Tipiskie datu apstrādes algoritmi

1. Viengājiena algoritmi (one-pass algorithms) unārām un binārām operācijām.

2. Datu savienošana izmantojot iekļautos ciklus.

3. Divu gājienu algoritmi (two-pass algorithms) izmantojot šķirošanu.

4. Divu gājienu algoritmi (two-pass algorithms) izmantojot heš-adresāciju..

5. Daudzgājienu algoritmi (multipass algorithms).

6. Paralēlas darbības izmantošanas algoritmi.

17

Datu bāzes sistēmas mūsdienu arhitektūra

Datu bāzes sistēma

Datu bāze Datu bāzes vadības sistēma

paplaš. SQL

SQL, OSQL

SQL valodas paplašinājumi (PL/SQL, Transact SQL un citas)Java, C# un citas

18

DB “intelektuālaie” paplašinājumi

Metadati:relāciju, objektu, relāciju-objektu datu glabāšanas struktūru definējumi un datu glabāšanas metadati

Dati

Programmas: procedūras, funkcijas, metodes, trigeri, DB kodola paplašinājumi

DBVS notikumi

DB notikumi DB

adminstrēšana un pieprasījumu apstrāde

Nozīmīgākās datu bāzes vadības sistēmas

Transakciju vadības sistēmas (OnLine Transaction Processing, OLTP):

1. Oracle

2. IBM DB2/mainframe is a fine product, but only if you like IBM mainframes.

3. IBM DB2/open systems

4. Microsoft SQL Server

5. Sybase Adaptive Server Enterprise

6. Progress

7. Intersystems’ Cache’

8. MySQL

9. Ingres

10. PostgreSQL

19

Datu noliktavas (datawarehouse) un datu vitrīnas (data marts)

1. 1991 — Bill Inmon Building the Data Warehouse.

2. 1995 — The Data Warehousing Institute

3. 1996 — Ralph Kimball The Data Warehouse Toolkit.

Populārākās izstrādes

1. SAS

2. Sybase Adaptive Server Enterprise

3. Oracle

4. IBM DB2/open systems

5. Microsoft SQL Server

20

Sybase IQ Server. Rakstu glabāšana pa kolonām

1. Datu izgūšanas kolonas

2. Datu glabāšana binārā formā

21

XML datu bāzes sistēmas

Izgūšanas valodas:1. XSQL tipa.2. XPath tipa.

22

23

24

Aktīvā datu bāzes sistēma

1. Aktīvais likums

2. Aktīvās datu bāzes sistēmas elementi

25

Aktīvā datu bāzes sistēma

Kom

andu

izpi

ldes

pi

epra

sīju

muu

ztvē

rējs

Ārējais notikums

DB dminstratora lietojumu komandas

Gala lietotāju (end user) lietojumu

komandas

Notikumudetektors

Notikumubāze

Aktīvo likumu izpildes sistēma

Likumu izpildes vēsture

DBS darbību izpildes sistēma

Aktīvo likumu zināšanu bāze

1. aktīvai likums

2. aktīvai likums

Notikumi

Notikuma identificēšana

Izpildes nosacījuma pārbaude

Darbību izpilde

DB DB

DB

Deduktīvā datu bāzes sistēma

Loģiskās programmēšanas valodas:

1. Prolog2. Lisp3. Datalog

Faktu un likumu glabāšana:

1. Datu bāze

26

Fakti

Likumi

Izveduma mehānisms

Jauni fakti

Loģiskās programmēšanas valodas un DBS kopdarbība

1. Sasaiste – divu autonomu sistēmu interfeisa izveide, lai apmainītos ar datiem (datu bāze loģiskās programmēšanas valodas izpildes vides operatīvā atmiņa). Ābu autonomo sistēmu apvienojums tiek saukts par CPR sistēmām (Coupling Prolog to Relational databases).

a) vājā sasaiste (statiskā sasaiste)– datu apmaiņa notiek neatkarīgi no izveduma realizēšanas procesa, vienā datu apmaiņas procesā tiek izgūti visi nepieciešamie fakti;

b) ciešā sasaiste (dināmiskā sasaiste) - datu apmaiņa notiek izveduma realizēšanas procesā, kad jāiegūst kārtējie konkrētie fakti.

2. Integrācija – jaunas vienotas sistēmas izveide, loģiskās programmēšanas valodas iekļaušana datu bāzes servera programmēšanas valodu kopā.

27

Loģiskās programmēšanas

valodaDatu bāzes sistēma

Loģiskās programmēšanas

valodaDatu bāzes sistēma

Faziloģikas datubāzes (Fuzzy Databases)

1. Piederības funkcija

piederība auksts remdens karsts

temperatūra

2. Faziloģikas datu bāzes sistēmas arhitektūra

Faziloģikas SQL paplašinājums

28

1

0

Translators

Faziloģikas datu bāzes sistēmas paplašinājums

DBVS Datu bāze

NoSQL datu bāzes sistēmas (modern web-scale databases, 2009)

Nālošās paaudzes datu bāzes sistēma:

1) ne relāciju;

2) izkliedētiem datiem;

3) atvērtā koda;

4 ) horizontāla mērogojamība (horizontal scalable, scale out), var viegli pieslēgt

citas sistēmas;

5) bez shēmas (plašas datu struktūru iespējas arī nestrukturētu datu

izmantošana);

6) liels datu apjoms.

29

NoSQL datu bāzes sistēmu realizācijas

1. Lielu kolonu glabāšana (Wide Column Store)Hadoop / HBase, Cassandra, Hypertable,  Cloudera, SciDB.

2. Dokumentu glabāšana (Document Store)C ouchDB , MongoDB, Terrastore, ThruDB, OrientDB, RavenDB.

3. Atslēgas un vērtības tipa "deģenerēta" datu bāzes sistēma (Key Value/Tuple Store)Amazon SimpleDB, Azure Table Storage,   Riak, Chordless, Redis,  Scalaris,   Tokyo Cabinet / Tyrant, MEMBASE, Keyspace.

4. Konsekventas atslēgas vērtību datu bāzes (Eventually Consistent Key Value Store)Amazon Dynamo, Voldemort, Dynomite,  KAI.

5. Grafu datu bāzes (Graph Databases)Neo4J,   Sones, InfoGrid, HyperGraphDB, AllegroGraph, Bigdata, DEX, Infinite Graph, OpenLink Virtuoso (Hybrid DBMS covering the following models: Relational, Document, Graph), VertexDB.

6. Režģa datubāzes (Grid Database Solutions), kopējs režgis izkliedētām DBSGigaSpaces, Hazelcast, Mark Logic Server, EMC Documentum xDBTamino, eXist, Sedna, Xindice, Qizx, Berkeley DB XML.

7. Daudzvērtību datu bāzes (Multivalue Databases)U2 (UniVerse, UniData).

30

"Mākoņu" datu bāzes(Claud Databases)

Mākonis (cloud) - kāda iepriekš nenoteikta tīkla daļa, pa kuru dati tiek pārsūtīti, izmantojot, piem., kādu no protokolu saimes TCP/IP bezsavienojumu protokoliem. Tā kā mākoņi eksistē tāpēc, ka datu apmaiņa bezsavienojuma režīmā var notikt pa daudziem iespējamiem ceļiem, arī tīkls Internet no datu nosūtītāja un datu saņēmēja viedokļa var tikt uzskatīts par mākoni.

31

Datu analīze datu bāzes serverī (In database analytics)

32

Daudzbāzu sistēmas

1. Izkliedētas datu bāzes (distributed databases) sistēmas, sistēmu

heterogenitāte.

2. Multibāzes (multibases), globālā shēma, semantiskās vārdnīcas.

3. Replikāciju veidošana, koordinācija.

33

Datu bāzes projektēšana34

Problēmvide:1) dati;2) funkcijas.

Dati kā primārā informācija.

Datu konceptuālais modelis

Funkcijas kā primārā informācija.

Funkciju hierarhijas modelis

Datu bāzes projektēšana

Datu bāzes projektēšana

Lietojumu projektēšana

CASE tehnoloģija

IDE rīku (JDeveloper, NetBeans, Eclipse, ...) tehnoloģija

Datu konceptuālie modeļi35

Datu konceptuālie modeļi orientēti uz relāciju datu bāzi:

1) ER diagramma;2) EER diagramma;3) OR diagramma;. . .

Datu konceptuālie modeļi orientēti uz objektu datu

bāzi:1) klašu diagramma;2) objektu diagramma;. . .

Relāciju datu bāze

Objektu datu bāze

Relāciju-objektu datu bāze?