lietojums + datu krātuve (dati + vadība) - web viewizmaiņas a faila datos izmaiņas b faila...

33

Upload: trandang

Post on 06-Feb-2018

222 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database
Page 2: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Datorika ir zinātnes nozare, kas nodarbojas ar informācijas vākšanu un apstrādi. Tai ir vairāki virzieni:

1) datorzinātne (Computer Science) – jaunu iespēju izpēte datoru un programmu lietošanai, informācijas apstrādes algoritmi un mākslīgā intelekta problēmas;

2) datorinženierija (Computer Engineering) – elektronisku iekārtu projektēšana un ražošana;

3) programminženierija (Software Engineering) – programmēšana un programmatūras ražošana;

4) informācijas tehnoloģija (Information Technology) – informācijas ieguves tehnoloģijas - datoru tīkli, internets, intranets, skaņas un attēlu apstrāde;

5) informācijas sistēmas (Information Systems) – datu bāzu vadības sistēmas, informācijas sistēmu projektēšana, realizācija un uzturēšana.

2

Page 3: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Informācijas sistēma =

Lietojums + Datu krātuve (dati + vadība) 60% - 95%

Informācijas sistēma

Lietojum -programmas Datu

vadība

Dati

Sakaru

?

3

Page 4: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Datorizētās informācijas sistēmas

Tas ir mūsu pamatdarbs!

Lietojum -programmas jeb lietojumi (applications)

Datu bāzes sistēma

Datu bāzes

sistēmas interfeiss

4

Page 5: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Datorikas speciālista stundas apmaksa ASV

Datoru atbalsta speciālisti $ 24.75Programmētāji $ 36.40Datu bāzes sistēmu adminstratori $40.52Datu bāzes projektētāji un izstrādātāji $45.12Informācijas sistēmu projektētāji un izstrādātāji $ 46.55Sistēmu analītiķi $ 51.11

Datu bāzes speciālistu pieprasījums pieaugs par 55% līdz 2018.g.

5

Page 6: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Darba tirgus Latvijā

1. Trūkst apmēram 3000 datorikas speciālistu.

2. 61 % darba piedāvājumu ir tieši datorikas speciālistiem.

3. Vienas trešdaļas datorikas speciālistu alga > 1500 Ls.

4. Sistēmu analītiķu alga 1300 – 1800 Ls.

5. Vienīgā profesija, kur visu laiku darba alga aug.

6

Page 7: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

RTU DITF mācību kursu kopa:Datu bāzes tehnoloģijasDB1 – Relāciju datu bāzes sistēmas (datu bāzes sistēmu tehnoloģiju pamati)DB2 – Objektu tehnoloģijas datu bāzes sistēmās (relāciju – objektu, XML, NoSQL un NewSQL datu bāzes sistēmas) Bakalauri--------------------------------------------------------------------DB3 – Specializētās datu bāzes sistēmas MaģistriDB4 – Multibāzes (daudzbāzu sistēmas) DB5 – Datu bāzes sistēmu projektēšana

Lietotājs Lietojuma programmas,lietojumprogrammas,

lietojumi(angliski "application")

aplikācija

Datu un likumu glabāšana,

meklēšana un izgūšana

7

Page 8: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Sākotnējās pamatidejas

Failu vadības sistēmas izmantošana datu glabāšanai un apstrādei

raksts

bloks

1. problēma: Lietojums ir atkarīgs no datu struktūras izmaiņām!

OperētājsistēmaFailu

vadībassistēma

Lietojums

Lietojums

Lietojums

fails

Datu glabāšana

8

Page 9: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

Failu vadības sistēma1

The first thing we’ll need to do is divide the disk into blocks; simple file systems use just one block size, and that’s exactly what we’ll do here. Let’s choose a commonly-used size of 4 KB. Thus, our view of the disk partition where we’re building our file system is simple: a series of blocks, each of size 4 KB. The blocks are addressed from 0 to N − 1, in a partition of size N 4 -KB blocks. Assume we have a really small disk, with just 64 blocks:

Let’s now think about what we need to store in these blocks to build a file system. Of course, the first thing that comes to mind is user data. In fact, most of the space in any file system is (and should be) user data. Let’s call the region of the disk we use for user data the data region, and, again for simplicity, reserve a fixed portion of the disk for these blocks, say the last 56 of 64 blocks on the disk:

1 http://pages.cs.wisc.edu/~remzi/OSTEP/file-implementation.pdf

9

Page 10: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

The file system has to track information about each file. This information is a key piece of metadata, and tracks things like which data blocks (in the data region) comprise a file, the size of the file, its owner and access rights, access and modifytimes, and other similar kinds of information. To store this information, file systems usually have a structure called an inode (index node). To accommodate inodes, we’ll need to reserve some space on the disk for them as well. Let’s call this portion of the disk the inode table, which simply holds an array of on-disk inodes. Thus, our on-disk image now looks like this picture, assuming that we use 5 of our 64 blocks for inodes:

One primary component that is still needed, as you might have guessed, is some way to track whether inodes or data blocks are free or allocated. Such allocation structures are thus a requisite element in any file system.Many allocation-tracking methods are possible, of course. For example, we could use a free list that points to the first free block, which then points to the next free block, and so forth. We instead choose a simple and popular structure known as abitmap, one for the data region (the data bitmap), and one for the inode table (theinode bitmap). A bitmap is a simple structure: each bit is used to indicate whether the corresponding object/block is free (0) or in-use (1). And thus our new on-disk layout, with an inode bitmap (i) and a data bitmap (d):

10

Page 11: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

We reserve this for the superblock, denoted by an S in the diagram below. The superblock contains information about this particular file system, including, for example, how many inodes and data blocks are in the file system (80 and 56, respectively in this instance), where the inode table begins (block 3), and so forth. It will likely also include a magic number of some kind to identify the file systemtype (in this case, vsfs). Thus, when mounting a file system, the operating system will read the superblock first, to initialize various parameters, and then attach thevolume to the file-system tree. When files within the volume are accessed, the system will thus know exactly where to look for the needed on-disk structures.

Each inode is implicitly referred to by a number (called the inumber), which we’ve earlier called the low-level name of the file. In vsfs (and other simple file systems), given an i-number, you should directly be able to calculate where on the disk the corresponding inode is located. For example, take the inode table of vsfs as above: 20-KB in size (54 - KB blocks) and thus consisting of 80 inodes (assuming each inode is 256 bytes); further assume that the inode region starts at 12KB (i.e, the superblock starts at 0KB, the inode bitmap is at address 4KB, the data bitmap at 8KB, and thus the inode table comes right after). In vsfs, we thus have the followinglayout for the beginning of the file system partition (in closeup view):

To read inode number 32, the file system would first calculate the offset into the inode region (32 sizeof (inode) or 8192), add it to the start address of the inode table on disk (inodeStartAddr = 12 KB), and thus arrive upon the correctbyte addressof the desiredblock of inodes: 20 KB.Recall that disks are not byte addressable, but rather consist of a large number of addressable sectors, usually 512 bytes. Thus, to fetch the block of inodes that

11

Page 12: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

contains inode 32, the file system would issue a read to sector (20 x 1024)/ 512, or 40, to fetch the desired inode block. More generally, the sector address iaddrof the inode block can be calculated as follows:blk = (inumber* sizeof (inode_t)) / blocksize;sector = ((blk * blockSize) + inodeStartAddr) / sectorSize;Inside each inode is virtually all of the information you need about a file: its type(e.g., regular file, directory, etc.), its size, the number of blocks allocated to it, protection information (such as who owns the file, as well as who can access it), some time information, including when the file was created, modified, or last accessed, as well as information about where its data blocks reside on disk (e.g., pointers of some kind). We refer to all such information about a file as metadata; in fact, any information inside the file system that isn’t pure user data is often referred to a s such.

12

Page 13: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

2. problēma: datu koplietošanas problēma (pretrunu rašanās)

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

A fails B fails

A lietojums

B lietojums

Datu krātuve

13

Page 14: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

Informācijas krātuves datu krātuves, datu bankasStraujie informācijas pieauguma tempi 20. gadsimta 60-ajos un 70-

ajos gados izvirzīja arvien lielākas prasības informācijas krātuvēm.

To veidošanai tika izmantotas dažādas tehnoloģijas:

1) mehāniskās papīra dokumentu glabāšanas un apstrādes sistēmas;

2) mikrofišu tehnoloģija;

3) skaitļotāju (sākotnējais datoru nosaukums) lietošana.

Attīstoties skaitļotāju tehniskajām iespējām un būtiski augot to

skaitam, šī tehnoloģija kļuva par dominējošo informācijas

glabāšanā un apstrādē. Tika veidotas dažādas sistēmas, lai

racionalizētu lielu informācijas krātuvju darbību.

Termini datu banka, datu vadības sistēma (data bank, data

management system) tika ieviesti 60-to gadu beigās. Tie apzīmēja

lielu informācijas masīvu kopu, kurai ir vienota vadība [1-3].

-------------------------------------------------------------------------------------

1. Dean A. L. Data privacy and integrity requirements for online

data management systems. Proc. 1971. ACM SIGFIDET workshop

on data description, access and control.

2. Date C.J., Hopewell P. Storage structure and physical data

independence. Proc. 1971. ACM SIGFIDET workshop on data

description, Access and control.

3. Codd E. F. A relational model of data for large shared data

banks. CACM, 1970, 13, 4.

14

Page 15: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

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

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

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

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).

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

4. CODASYL System Committee. Feature analysis of generalized data base management systems. – Technical report, May 1971. Available from ACM.5. Data-base management system requirements, A report of the joint GUIDE-SHARE data base requirement group, Nov, 1971.6. James Martin. Computer data-base organization. IBM Systems Research Institute. Prentice Hall, Inc., Englewood Cliffs, New Jersey, U.S.A., 1975.7. Codd E. F. Normalized data base structure a brief tutorial. – Proc. 1971, ACM SIGFIDET workshop.8. Chen P.P. The entity-relationship model: toward a unfied view of data, ACM Trans. On Database Systems, 1:1 (1976), p. 9 –36.

15

Page 16: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

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

bloks raksts

lauks Datu bāzes tehnoloģija veidojās 20. gadsimta 70-ajos gados. Tās

veidošanā un sistematizācijā lielu ieguldījumu deva:

1) CODASYL sistēmu komiteja [4];

2) IBM lietotāju grupas SHARE un GIDE [5];

3) organizācija ACM (Association for Computing Machinery [1 - 2].

Sākotnēji informācijas krātuvju iespēju uzlabošana bija saistīta ar failu

vadības sistēmu pilnveidošanu. Turpinājumā jau failu datu glabāšanas

un apstrādes struktūrām sāka veidot kokveida un tīklveida virsstruktūras,

kas:

1) samazināja lietojumu atkarību no datu struktūras izmaiņām

krātuvēs;

2) nodrošināja efektīvāku datu meklēšanas metožu izmantošanas

iespējas;

Operētāj-sistēma

Failu vadībassistēma

Lietojums

Lietojums

Lietojums

fails !

Datu glabāšana

16

Page 17: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

Datu bāzes sistēma (DBS)

Datu bāze (DB) + Datu bāzes vadības sistēma (DBVS) =

Datu bāzes sistēma (DBS)

bloks raksts

lauks

Datu bāzes sistēma

Tās bija revolucionāras (ne evolucionāras) izmaiņas datu krātuvju

tehnoloģijā. Radās jaunas paaudzes tehnoloģija – datu bāzes

tehnoloģija. Starp lietojumu un ārējās atmiņas vadību (failu vadības

sistēmu) tika ievietota sistēma, kas nodrošināja lietojuma neatkarību no

datu glabāšanas struktūras izmaiņām un ērtāku un efektīvāku datu

apmaiņas formu starp ārējo atmiņu un lietojumu. Šo sistēmu nosauca par

datu bāzes vadības sistēmu (database management system).

“Starp fizisko datu bāzi (ārējā atmiņā glabājamiem datiem) un sistēmas lietotājiem ir programmu nodrošinājuma līmenis – datu bāzes saimniekotājs (database manager) jeb datu bāzes vadības sistēma (database management system).”C.J. Date. An introduction to database systems. Addison-Wesley Publishing Company, 1978.

Datu bāze

Operētāj-sistēma

Failu vadībassistēma

Lietojums

Lietojums

Lietojums

Datu bāzes

vadības

17

Page 18: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

Datu bāzes 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.

18

Page 19: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

Datu bāze (lieto arī "datubāze", bet nav ieteicams)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, netkarības un apstrādes

prasības.

Bieži vien, datu bāzi un datu bāzes vadības sistēmu kopā sauc par datu bāzes sistēmu. Viena

datu bāzes vadības sistēma visbiežāk lieto vienu datu bāzi, bet var būt arī varianti, kad vienu datu

bāzi izmanto vairākas datu bāzes vadības sistēmas un viena datu bāzes vadības sistēma izmanto

vairākas datu bāzes. Tomēr pēdējie minētie varianti sastopami samērā reti. Bieži vien datu bāzes

vadības sistēmu ražotāji sistēmu aprakstos nekorekti lieto datu bāzes jēdzienu, piešķirot to arī

atsevišķām datu bāzes daļām (dBase, FoxPro, MS SQL Server).

Datu bāzes shēma – datu bāzes datu glabāšanas struktūras objektu un to elementu apraksts.

Datu bāzes ārējā shēma – datu bāzes glabāšanas struktūras objektu un to elementu skatījums no

lietotāja viedokļa (katram lietotājam var būt sava ārējā shēma). Viņas apvienojot iegūstam datu

bāzes shēmu.

Datu bāzes iekšējā shēma - datu bāzes glabāšanas struktūras objektu un to elementu skatījums

no fiziskās realizācijas viedokļa.

Datu bāzes eksemplārs (database instance) -

Fiziskā datu bāze – failu kopa ar datiem.

Veidojot datu bāzi, dati tiek apskatīti un analizēti trīs līmeņos:

1) konceptuālajā līmenī – lietotājs un datu bāzes izstrādātājs apskata lietotāja problēmvides

datus, atlasa nepieciešamos un nosaka datu savstarpējās saites;

2) loģiskajā līmenī – datu bāzes projektētājs veido datu loģisko modeli noteiktam datu bāzes

vadības sistēmas tipam (relāciju, objektu, relāciju-objektu);

3) fiziskajā līmenī – datu bāzes projektētājs realizē datu loģisko modeli konkrētai datu bāzes

vadības sistēmai iegūstot datu glabāšanas fizisko struktūru (ārējā atmiņā) definējumus.

60-ajos gados tika realizētas un sāka izmantot pirmās datu bāzes vadības sistēmas: firmas

General Electric sistēma Integrated Data Store (IDS), kompānijas IBM sistēma Information

Management System (IMS). Lietojot IMS tika izveidota pirmā informācijas sistēma ar datu

bāzes izmantošanu – kompānijas American Airlines aviobiļešu rezervēšanas sistēma SABRE.

19

Page 20: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBT

Portāls http://datubaze.wordpress.com/

Page 21: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

21

Page 22: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBTJaunākās tendences

1. „In database processing”.

2. „In memory database”.

3. „Big data”.

4. „New SQL”.

Page 23: Lietojums + Datu krātuve (dati + vadība) - Web viewIzmaiņas A faila datos Izmaiņas B faila datos. DBT. ... (angliski: “data base” un “data-base” 70-to gadu sākumā, database

DBTDB nākotne?!

1. Jaunu datu tipu glabāšanas un izgūšanas metodes.

2. DB sistēmu intelektualizācija:datu bāzes tehnoloģijas + mākslīgā intelekta metodes

23