lietojums + datu krātuve (dati + vadība) - web viewizmaiņas a faila datos izmaiņas b faila...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
21
DBTJaunākās tendences
1. „In database processing”.
2. „In memory database”.
3. „Big data”.
4. „New SQL”.
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