Sakaru Pasaule - Žurnāls par
modernām komunikācijām

  
  


Atpakaļ Jaunais numurs Arhīvs Par mums Meklēšana

Datubāzes

   

Datubāzes

Jebkurš mūsdienu cilvēks tādā vai citādā veida ir saskāries ar datubāzēm. Ja viņam ir piešķirts personas kods vai viņš kaut santīmu ir samaksājis nodokļos, tad viņa dati ir saglabāti Iedzīvotāju reģistrā un VID datubāzē. Iegādājoties mobilo telefonu un saglabājot numuru tajā, viņš ir kļuvis par datubāzes tiešu lietotāju.

Katra datubāze, gluži kā teksta dokuments, tiek izveidota un uzturēta, izmantojot speciālu programmatūru – datubāzu vadības sistēmu (DBVS), kas itin bieži tiek saukta vienkārši par datubāzi.

DBVS izvēles kritēriji

Pasaulē ir daudz un dažādas DBVS, gluži tāpat kā ir daudz un dažādu mašīnu modeļu. Tāpat kā nav vienas pašas vislabākās mašīnas pasaulē, tieši tāpat nav arī vienas vislabākās DBVS. Pirmais solis DBVS izvēlē ir saprast vārda labāks nozīmi katrā konkrētajā gadījumā.

Vienam vārds labāks nozīmēs galvenokārt lētāk, savukārt cits galveno nozīmi piešķirs drošībai un uzticamībai. Bez tam ļoti nozīmīga loma ir darbaspēkam, kas pietiekami labi pārzina katru konkrēto DBVS. Atgriežoties pie analoģijas ar mašīnām – tāpat kā mašīnas nav vienādas un jebkuru mašīnu jūs neuzticētu jebkuram mehāniķim, tā arī katra DBVS ir citāda un, pārzinot vienu DBVS, nevajadzētu akli pieņemt, ka visas citas strādās tieši tāpat.

Tātad DBVS izvēli konkrētā projektā vispirms būtu jāsāk ar vārda labāks jēgas noskaidrošanu. Pietiekami daudziem projektiem, tai skaitā Latvijā, labāks apstājas kāda nepārvarama šķēršļa priekšā – izmantojamo DBVS nosaka iestrādes, tehniski ierobežojumi vai politiski iemesli. Ja tomēr ir dota lielāka vai mazāka izvēles brīvība, tad daži no nozīmīgākajiem DBVS izvēles kritērijiem ir šādi.

  • Prasības un uzdevumi, kas izvēlētajai DBVS būs jāveic. Datu apjoms, vienlaikus lietotāju skaits, datubāzes pieejamība, mērogojamība un drošība – tas viss ir jāņem vērā pirmkārt. Kādas papildu vairāk vai mazāk eksotiskas iebūvētās iespējas jūs no datubāzes noteikti vēlaties vai labprāt sagaidītu?
  • Iepriekšējā pieredze darbā ar dažādām DBVS. Kādas ir jūsu zināšanas, kādi ir noalgojamie resursi Latvijā?
  • Situācija projektā. Ja jūsu projekts ir jauns tukšā vietā, tad izvēles iespējas ir daudz lielākas nekā tad, ja jums ir jāsadarbojas ar jau esošām DBVS.
  • Tiešās izmaksas. DBVS licences, uzturēšanas izmaksas, atjaunināšanas iespējas, DBVS papildu iespējas, kas ir par atsevišķu samaksu, operētājsistēmas licences un uzturēšanas izmaksas, tas viss ir relatīvi vienkārši saskaitāms.
  • Netiešās izmaksas. Darbaspēka apmācība, jaunu DBVS apguve un līdz ar to mazāka darbinieku atdeve ir tikai dažas no pozīcijām.
  • Pieejamā informācija. Vai ir pietiekami daudz interneta resursu (forumi, e-pasta listes, konferences un semināri) par konkrēto produktu?

Lielais trijnieks

Uz kopējā fona gribētu izcelt trīs DBVS, kuras saskaņā ar Gartner pētījumu par 2006. gadu (http://www.gartner.com/it/page.jsp?id=507466) aizņēma vairāk nekā 85 procentus no kopējā DBVS tirgus daļas – Oracle, DB2 un SQL Server, ko izstrādā attiecīgi Oracle, IBM un Microsoft. Šie DBVS izstrādātāji nepārtraukti sacenšas, kas mums kā lietotājiem ir ļoti noderīgi. Kaut vai tā iemesla dēļ, ka, pateicoties šai konkurencei, ir pieejamas visu trīs datubāzu bezmaksas versijas. Protams, tām visām ir ierobežojumi, bet vienlaikus ir iespējams izstrādāt programmatūru, ko pēc tam bez problēmām var lietot uz šo pašu datubāzu maksas versijām, kurām ierobežojumu nav. Šajā rakstā sīkāk tiks apskatītas divas DBVS no lielā trijnieka.

Oracle

1979. gadā Oracle bija pasaulē pirmā oficiālā komerciāli pieejamā SQL bāzētā DBVS. 1992. gadā tikai izlaista 7. versija ar integritātes ierobežojumiem, saglabātajām procedūrām un trigeriem. Deviņdesmito gadu beigās uzsvars tiek likts uz interneta attīstību un 8. versijas galā tiek pielikts burtiņš i. 2003. gadā burtiņš tiek mainīts uz g (grid – režģis), ar ko ir zināma arī mūsdienu pamatversija 10g.

Oracle DBVS, tāpat kā to konkurentiem, ir vairākas redakcijas (editions), kur vienkāršākā un pieejamākā ir jau iepriekš minētā bezmaksas versija, tad Standard edition One (ne vairāk kā 2 CPU), Standard Edition (ne vairāk kā 4 CPU) un visbeidzot Enterprise Edition ar daudzām iespējām un papildu maksas opcijām, tai skaitā

  • bagātu SQL sintaksi un intelektuālu vaicājumu optimizatoru, iespēju glabāt datus dažāda veida fiziskajās tabulās datubāzē;
  • iespēju datubāzi izmantot daudziem vienlaikus lietotājiem un milzīgu datu apjomu, tai skaitā arī datu noliktavām;
  • bagātu procedurālo valodu, tai skaitā arī objektorientētām iespējām;
  • daudzām iebūvētām papildu iespējām, piemēram, ierakstu versijas laika gaitā, ziņojumu rindu (queue) un paziņojumu (alert) apstrādi, periodisku procesu atbalstu, replikāciju, klāsterēšanu, XML atbalstu utt.;
  • DBVS uz vairāk nekā desmit dažādām operētājsistēmām.

Jaunākā Oracle versija 11g tika izlaista pagājušā gada augustā. Tā satur simtiem uzlabojumu un jaunu iespēju, tai skaitā:

  • uzlabotas testēšanas iespējas (real application testing) – produkcijas vidē tiek saglabātas veiktās darbības pie reālas noslodzes speciālos failos. Pēc tam šos failus pārnes uz testa sistēmu ar veiktām izmaiņām vai nu aplikācijā, vai arī pēc Oracle datubāzes atjaunināšanas (upgrade). Tad, palaižot šos failus, ir iespējams simulēt produkcijas noslodzi mainītajā testa sistēmā un pētīt vai funkcionāli viss izpildīsies,vai sistēma spēs šādu noslodzi izturēt;
  • nav vairs nepieciešamība veidot žurnalēšanas tabulas – iespēja izmantot total recall, kas norādītai tabulai automātiski veido vēstures versijas atsevišķā norādītā tabultelpā (tablespace). Tā kā šīs versijas automātiski veido fona process, tiek minimizēta resursu noslodze, kā arī ir otrs ļoti noderīgais ieguvums – šādus vēsturiskus datu nevar koriģēt pat administrators, ne tā kā parastas žurnalēšanas tabulas, kuras vajadzības gadījumā var arī piekoriģēt;
  • dažādas papildu šifrēšanas iespējas – papildus jau esošajām transparent data encryption iespējām atsevišķas kolonas ir iespējams gan šifrēt visas tabultelpas, gan veidot šifrētas datu izmetes (dump), ārējās tabulas (external tables), gan datu rezerves kopijas (backup). Ir iespējams šifrēt Oracle NET sūtījumus. Šifrēšanas atslēgu var glabāt gan operētājsistēmas datnē, gan arī izmantot aparatūras drošības moduļus (hardware security module);
  • datu kompresijas iespējas – lielus datu daudzumus iespējams kompresēt un vienlaikus veikt gan datu atlasi, gan modificēšanu;
  • uzlabojumi .NET izstrādātājiem – ziņojumi par iekešoto datu izmaiņām datubāzē, vairāku ierakstu sūtīšana reizē no .NET uz datubāzi, tādējādi samazinot tīkla noslodzi utt.;
  • PL/SQL uzlabojumi – salikti trigeri, kam dažas daļas izpilda uz līdzšinējiem notikumiem, bet visam trigerim var būt kopīgi mainīgie, PL/SQL funkciju rezultātu kešošana;
  • tikai lasāmas tabulas arī tabulas īpašniekam; SecureFiles – jauna veida lielie binārie objekti, kam ir iespējama kompresēšana un automātiska tikai vienas versijas glabāšana; vaicājumu rezultātu kešošana.

Microsoft SQL Server

SQL Server aizsākumi ir 1989. gadā, kad tas atdalījās no Sybase SQL Server. Deviņdesmito gadu vidū Microsoft un Sybase ceļi šķīrās un 7.0 versija 1999. gadā bija pastāvīgs produkts, kas bija ļoti ērti administrējams, salīdzinot ar citām DBVS. Pašreiz pieejamā versija ir 2005, kas nodrošina:

  • gan relacionālo, gan XML datu glabāšanu un apstrādi, intelektuālu vaicājumu optimizatoru;
  • Snapshot isolation level – rakstītāji nebloķē lasītājus un otrādi;
  • procedurālo programmēšanas valodu;
  • Service broker – rindošanas un ziņojumu atbalstu;
  • tabulu particionēšanu;
  • klāsterēšanu, replikāciju;
  • integrētu atbalstu .NET.;
  • darbu tikai uz Windows platformām.

Microsoft sola šogad izlaist jaunu SQL Server versiju 2008, kam jau ir zināmi arī daži potenciālie uzlabojumi:

  • jauns SQL teikums MERGE un papildināta GROUP BY klauzula ar ROLLUP, CUBE un GROUPING SETS, lietotāja definēti tabulu tipi;
  • iespēja samazināt bloķēšanas eskalāciju, lai tā nenonāk līdz tabulas līmenim;
  • Transparent data encryption – iespēja šifrēt visu datubāzi, nemainot aplikāciju, kā arī citas papildu šifrēšanas iespējas, lietojot arī aparatūras drošības moduļus;
  • particionēto vaicājumu uzlabojumi;
  • iespēja nestrukturētas lielas datnes glabāt failu sistēmā, izmantojot speciālu datu tipu;
  • rezerves kopiju kompresēšana;
  • resursu pārvaldnieks, kas nodrošina minimālos un maksimālos operatīvās atmiņas un CPU, ko var lietot konkrēts lietotājs, loma vai aplikācija.

IBM DB2

IBM vēsturiski bija viena no pirmajām DBVS izstrādātājām un teorētiskā pamatojuma radītājām. DB2 radās 1982. gadā un sākotnēji bija pieejama kā dažādi produkti pārsvarā uz IBM lieldatoriem. Deviņdesmitajos gados produkti uz atsevišķām operētājsistēmām tika apvienoti un radās DB2, kāda tā ir pieejama tagad. Jaunākā versija pašlaik ir 9., kas ir pieejama kopš 2006. gada, un dažas no tās iespējām ir:

  • gan relacionālo, gan īpaši uzlabotu XML datu glabāšana un apstrāde, intelektuālu vaicājumu optimizators;
  • procedurālā programmēšanas valoda;
  • atbalsts dažādām izstrādes vidēm, tai skaitā J2EE un .NET.;
  • sadalīta datubāze, Information Integrator (citu datubāzu maskēšana kā DB2 sastāvdaļa) replikācija;
  • dažādas papildu iespējas, tai skaitā particionēšana un datu noliktavu atbalsts.

Kopsavilkums

Novērtējot un mēģinot izvēlēties piemērotāko no iepriekš minētajām DBVS – Oracle un SQL Server –, papildus jau uzskaitītajām ir vēl dažas lietas, kas jāņem vērā:

  • Oracle ir funkcionāli bagātāka un tai ir vairāk papildu iespēju;
  • ja esat pieradis pie Windows platformas un rīkiem, tad pirmais diezgan loģiskais solis būtu skatīties SQL Server virzienā;
  • datubāzes administrēšanā ieguldāmās pūles būs ļoti atkarīgas no administratora zināšanām;
  • nevajadzētu tieši salīdzināt vienas DBVS redakciju ar otras DBVS tādu pašu redakciju (piemēram, Enterprise), bet paskatīties sīkāk katras nodrošinātās iespējas.

Gints PLIVNA, Rix Technologies sistēmanalītiķis

gints.plivna@rixtech.lv

 

Informācija par datubāzēm latviski ir pieejama arī vietnē

http://datubazes.wordpress.com.

http://www.rixtech.lv

 
Design and programming by Anton Alexandrov - 2001