Datubāze — definīcija, darbības principi un populārākie modeļi

Uzzini, kas ir datubāze — definīcija, darbības principi un populārākie modeļi (relāciju, NoSQL u.c.). Praktiski piemēri, salīdzinājums un padomi pareizai izvēlei.

Autors: Leandro Alegsa

Datu bāze ir strukturēta sistēma datu (jebkāda veida informācijas) glabāšanai, organizēšanai un pārvaldīšanai tā, lai datus būtu viegli piekļūt, meklēt, atjaunināt un analizēt.

Ko dara datubāzes dzinējs un datubāzu sistēma

Datubāzes dzinējs (DBMS — database management system) nodrošina datu saglabāšanu un visus ar to saistītos darbības procesus: šķirošanu, meklēšanu, modificēšanu, piekļuves kontroli un dublēšanu. Tas arī izpilda lietotāja vai lietojumprogrammas vaicājumus un rūpējas par datu integritāti.

Datu bāzu sistēma ir datorprogramma, kas paredzēta elektronisko datu bāzu pārvaldīšanai. Ļoti vienkāršs piemērs ir elektroniskā adrešu grāmata — tā ir datubāze ar ierakstiem (kontaktpersonām) un rīkiem to meklēšanai vai atjaunošanai.

Datu organizācija un vēsture

Dati datubāzē ir organizēti noteiktā veidā. Pirms datoru laikiem informāciju glabāja papīra kartotēkās, drukātajās grāmatās vai dokumentu skapjos; parasti katram cilvēkam vai vienumam bija viena kartīte ar informāciju, piemēram, vārdu, uzvārdu vai dzimšanas datumu. Datubāzēs ir līdzīgas "kartītes", tikai tās ir digitālas un pieejamas ekrānā.

Tagad lielākā daļa datu tiek glabāti datora datnēs vai speciālās datubāzēs, kas nodrošina ātru meklēšanu, indeksēšanu un dažādas drošības funkcijas.

Datubāzu modeļi

Informāciju datubāzē var saglabāt dažādos veidos — katru no šiem veidiem sauc par datubāzes modeli. Visizplatītākais modelis ir relāciju datubāzes modelis, bet mūsdienās plaši izmantoti ir arī citi pieejas veidi. Galvenie modeļi:

  • Relāciju modelis — dati tiek glabāti tabulās (rindās un kolonnās). Šajā modelī izmanto attiecības un kopas. Parastie lietotāji parasti runā par datubāzes tabulām, nevis par abstraktām attiecībām. Relāciju datubāzes bieži izmanto SQL valodu datu vaicāšanai un pārvaldībai.
  • Dokumentu orientētas datubāzes — dati glabājas kā dokumenti (piemēram, JSON, XML) un ir piemērotas nestrukturētiem vai daļēji strukturētiem datiem.
  • Atslēgu–vērtību (key–value) datubāzes — vienkāršs, ātrs modelis, kur dati tiek glabāti pāros: atslēga → vērtība. Labi piemēroti kešiem un ātrai piekļuvei.
  • Kolonnu veidotas (column-family) datubāzes — optimizētas liela apjoma lasīšanai un analytikai, bieži izmanto lielos datu noliktavu risinājumos.
  • Grafu datubāzes — piemērotas sarežģītu attiecību modeļu attēlošanai (piemēram, sociālajiem tīkliem, maršruta meklēšanai).

Darbības principi un svarīgākie jēdzieni

  • Vaicājumi un SQL: relāciju datubāzēs visbiežāk lieto SQL (Structured Query Language) datu atlasīšanai, ievietošanai, atjaunošanai un dzēšanai.
  • Indeksēšana: indeksi paātrina datu meklēšanu, bet aizņem papildu vietu un var palēnināt rakstīšanas operācijas.
  • Transakcijas un ACID: daudzas datubāzes atbalsta transakcijas, kas nodrošina ACID īpašības — Atomicitāte, Konsistence, Izolācija un Noturība (Durability). Tas garantē datu pareizību un drošību vairāklietotāju vidē.
  • Normalizācija: datu modeļa optimizācija, lai samazinātu datu dublēšanos un uzturētu integritāti, bieži izmanto relāciju datubāzēs.
  • Kešēšana un replikācija: kešēšana uzlabo veiktspēju, replikācija nodrošina pieejamību un datu kopijas vairākos serveros.

Drošība, dublēšana un uzturēšana

Datubāzes uzturēšana ietver regulāras dublēšanas (backup), atjaunošanas (restore) plānus, piekļuves tiesību pārvaldību un šifrēšanu, lai aizsargātu sensitīvus datus. Tāpat svarīgs ir monitorings, lai konstatētu veiktspējas problēmas vai drošības incidentus.

Piemēri un lietojumi

Datubāzes izmanto gandrīz visur: finanšu sistēmās, veselības aprūpē, e‑komercijā, sociālajos tīklos, uzņēmumu grāmatvedībā un daudz kur citur. Mazākā mērogā to var salīdzināt ar personisko kontaktu grāmatu datorā vai tālrunī; lielos projektos datubāzes var saturēt miljardiem ierakstu un darboties klasteros vai mākonī.

Kopsavilkums

Datubāze ir pamatinstruments mūsdienu informācijas pārvaldībā — tā nodrošina strukturētu datu glabāšanu, ātru piekļuvi, drošību un integritāti. Izvēloties datubāzes modeli un sistēmu, jāņem vērā datu raksturs, pieprasījumu veidi, veiktspējas prasības un drošības vajadzības.

Datu bāzu sistēmu lietojums

  • idk ko teikt

Datu maiņa

Datubāzēs daži dati laiku pa laikam mainās. Var rasties problēmas, kad dati tiek mainīti, var būt notikusi kļūda. Kļūdas dēļ dati var kļūt nederīgi. Datubāzu sistēma aplūko datus, tiem jāatbilst noteiktām prasībām. Tas tiek darīts, izmantojot transakciju. Datubāzē ir divi laika punkti - laiks pirms datu maiņas un laiks pēc datu maiņas. Ja, mainot datus, kaut kas neizdodas, datubāzes sistēma vienkārši atgriež datubāzi stāvoklī, kāds bija pirms izmaiņu veikšanas. To sauc par atgriešanu atpakaļ. Kad visas izmaiņas ir veiksmīgi veiktas, tās tiek apstiprinātas. Tas nozīmē, ka datiem atkal ir jēga; izdarītās izmaiņas vairs nevar atcelt.

Lai to varētu izdarīt, datubāzēs tiek ievērots ACID princips:

  • Visi. Vai nu visi dotās kopas (ko sauc par darījumu) uzdevumi ir izpildīti, vai arī neviens no tiem nav izpildīts. Zināms kā atomizācija
  • Pabeigt. Datubāzē esošajiem datiem vienmēr ir jēga. Nav nepilnīgu (nederīgu) datu. Zināms kā konsekvence
  • Neatkarīga. Ja daudzi cilvēki strādā ar vieniem un tiem pašiem datiem, viņi viens otru neredz (vai neietekmē). Katram no viņiem ir savs skatījums uz datu bāzi, kas ir neatkarīgs no pārējiem. Zināms kā izolācija
  • Paveikts. Kad darījumi ir pabeigti, tie ir jāiesniedz. Kad darījums ir veikts, to nevar atsaukt. Zināms kā ilgmūžība.

Datu bāzes modelis

Datus var attēlot dažādos veidos.

  • Vienkārši faili (tā sauktie plakanie faili): Tas ir visvienkāršākais datubāzu sistēmas veids. Visi dati tiek glabāti datnē vienkāršā teksta veidā. Katru informācijas elementu var atdalīt ar jaunu rindu vai komatu utt.
  • Hierarhiskais modelis: Dati ir sakārtoti kā koka struktūra. Interesantākie dati ir koka lapās. Attiecības starp datu ierakstiem ir tādas, ka daži ieraksti ir tieši atkarīgi no citiem ierakstiem.
  • Tīkla modelis: Datu glabāšanai izmantojiet ierakstus un kopas. Līdzīgs hierarhiskajam modelim, bet tam ir daudz sarežģītāka struktūra.
  • Attiecību modelis: Šajā modelī tiek izmantota kopu teorija un predikātu loģika. To plaši izmanto. Dati izskatās sakārtoti tabulās. Šīs tabulas var apvienot kopā, lai no tām varētu izvēlēties vienkāršus pieprasījumus.
  • Objektorientēts modelis: Dati tiek attēloti objektu veidā, kā tas tiek izmantots objektorientētajā programmēšanā. Tie var tieši mijiedarboties ar izmantoto OOP valodu, jo abās valodās ir vienāda datu iekšējā atveidošana.
  • Objekta attiecību modelis: Tas ir objektorientētā modeļa un relāciju modeļa hibrīds.
  • NoSQL modelis: Tas ir jauna veida datubāzes modelis, kas aizvien biežāk tiek izmantots lielo datu un reālā laika tīmekļa lietojumprogrammās. Šajā modelī dati tiek glabāti kā atslēgu un vērtību pāri bez stingras hierarhijas kā citos modeļos. NoSQL sistēmas tiek dēvētas arī par "ne tikai SQL", jo tās neļauj izmantot strukturētai vaicājumu valodai līdzīgas vaicājumu valodas.

Datu sakārtošanas veidi

Līdzīgi kā reālajā dzīvē, vienus un tos pašus datus var aplūkot no dažādiem skatupunktiem, un tos var organizēt dažādos veidos. Organizējot datus, jāņem vērā dažādi aspekti:

  • Katrs datu elements ir jāglabā pēc iespējas mazāk reižu. Iedomājieties, ka neprecējusies sieviete ir iekļauta apgabala reģistros, valsts autotransporta departamentā, federālajā sociālās apdrošināšanas departamentā un starptautisko pasu departamentā. Ja viņa apprecas un nolemj mainīt uzvārdu, ir jāinformē visi šie departamenti. Ja visi departamenti būtu savstarpēji saistīti un viņas vārds būtu saglabāts tikai vienā vietā, tad atjaunināšana būtu vienkārša.
  • Ja dati tiek glabāti vairākās dažādās datubāzēs, tie var būt pretrunīgi.
  • Šī problēma palēnina datu meklēšanu. Ja datu ir daudz, šī problēma, kad viens datu gabals tiek glabāts daudzās vietās, aizņem daudz vietas. Mūsu piemērā bija 4 datubāzes par vienu personu. Ja otrai personai būs tieši tāda pati problēma, tiks veiktas 8 izmaiņas.
  • Ja jums ir šāda problēma, tās risināšanai tika izstrādāta metode, ko sauc par datubāzes normalizāciju. Pašlaik ir 5 normālās formas. Tie ir veidi, kā datu bāzi padarīt ātrāku un panākt, lai dati aizņemtu mazāk vietas.

Saistītās lapas

Jautājumi un atbildes

J: Kas ir datu bāze?


A: Datu bāze ir sistēma datu (jebkāda veida informācijas) glabāšanai un aprūpēšanai. To var izmantot, lai šķirotu, mainītu vai apkalpotu tajā glabāto informāciju.

J: Kā cilvēki glabāja datus pirms digitālajiem datoriem?


A: Pirms digitālajiem datoriem datu glabāšanai izmantoja kartotēkas, drukātas grāmatas un citas metodes.

J: Kas ir datubāzes sistēma?


A: Datu bāzu sistēma ir datorprogramma elektronisko datu bāzu pārvaldībai. To var izmantot, lai kādā veidā organizētu datus.

J: Kā izskatās "kartīte" vecmodīgā kartotēkā?


A: Vecmodīgā kartotēkā parasti katram darbiniekam bija viena kartīte, uz kuras bija norādīta tāda informācija kā dzimšanas datums vai vārds.

J: Kā izskatās šīs "kartītes" mūsdienu ekvivalents?


A: Mūsdienu "kartes" ekvivalents ir redzams uz ekrāna, nevis fiziskā formā.

J: Kas ir datubāzes modelis?


A.: Datu bāzes modelis attiecas uz dažādiem veidiem, kā datorā var saglabāt "kartē" esošo informāciju. Visplašāk izmantotais modelis tiek saukts par relāciju datubāzes modeli, kurā datu glabāšanai izmanto attiecības un kopas.

J: Kā parastie lietotāji, runājot par šiem modeļiem, tos dēvē? A: Parastie lietotāji, runājot par šiem modeļiem, parasti tos dēvē par "datubāzes tabulām", nevis lieto tehniskus terminus, piemēram, attiecības vai kopas.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3