Oracle datubāzes vēsture

Nesen vienā no forumiem piedalījos kārtējā diskusijā par SQL Server vs Oracle (visnotaļ kulturālā bez apvainojumu mētāšanas) un tur panesās mazliet arī kas kuram bijis pirmais. Tad nu pašizglītošanās un intereses nolūkos veltīju pāris stundas googlei un vēstures lasīšanai. Pirmais interesantais novērojums radās par pašiem rakstiem kā tādiem – SQL Server vēsture pārsvarā bija stāsti (interesanti, mazāk interesanti, bet stāsti) par vēsturi, stāstījuma formā ar versijām, dažām iesaistītajām personām, sastaptajām problēmām utml., bet ar relatīvi minimālu un neuzsvērtu iespēju (features) uzskaitījumu. Savukārt ar Oracle vēsturi bija krietni savādāk, jau otrajā saitē es atradu nosacītu vēsturi, kur visa vēsture bija versiju un to iespēju uzskaitījums smuki saformatēts, bez nekādiem stāstījumiem. Skatoties uz to man radās tāda interesanta doma – vai tik tas zināmā mērā neatspoguļo to cilvēku iezīmes, kas ar šim DBVS darbojas – vieni vairāk orientēti uz stāstījumu, otri vairāk uz sausu pārskaitījumu? 🙂

Bet tagad pie lietas – došu ieskatu par versijām, to izlaišanas gadiem un dažām sniegtajām iespējām -, ja kādu interesē sīkumos, tad lasiet materiālus zemāk dotajās saitēs.

Oracle

  • 1. versija oficiāli netika izlaista, tā bija eksperimentāla. Neatceros kur, bet esmu lasījis baumas, ka Oracle vispār neko nevēlējās izlaist ar versijas numuru 1, lai izskatītos, ka produkts ir nobriedušāks 🙂
  • 2. versija izlaista 1979. gadā, uzrakstīta assemblerī, tajā bija vaicājumi un savienojumi un arī rekursīvie vaicājumi.
  • 3. versija izlaista 1981. gadā, pārrakstīta iekš C, parādījās tranzakciju mehānisms un lasītāji vairs nebloķē pārējos DBVS lietotājus.
  • 4. versija izlaista 1984. gadā, konsistents skats uz datiem (read consistency) un DBVS jau var izmantot uz vairākām platformām.
  • 5.0 un 5.1 versijas izlaistas attiecīgi 1985. un 1986. gadā, parādījās klienta-servera arhitektūra atbalsts (klients uz personālā datora, datubāze uz servera) un sadalītie vaicājumi (distributed query).
  • 6.0 un 6.2 versijas izlaistas 1988 gadā. Parādījās tādas lietas kā ierakstu līmeņa bloķēšana, rezerves kopiju veidošana laikā, kamēr datubāze darbojas, b-koku indeksi un pl/sql aizmetņi datubāzē.

Sākot ar 7. versiju izmaiņas ir tik nozīmīgas, ka katru laidienu ir vērts pieminēt atsevišķi.

  • 7.0 versija izlaista 1992 gadā. Ieviesti datubāzes integritātes ierobežojumi, saglabātās procedūras (stored procedures), funkcijas un pakotnes, trigeri, izmaksu bāzētais optimizators (cost based optimizer, CBO) un vēl daudz citi.
  • 7.1 versija izlaista 1994 gadā. Replicēšana (Advanced Replication), Dinamiskais SQLs un paralēlie vaicājumi un vēl citi jaunumi šai versijā.
  • 7.2 versija izlaista 1995 gadā. Lielākās izmaiņas – datu failus iespējams palināt gan automātiski, gan manuāli, apakšvaicājumi FROM klauzā, PL/SQL kursoru mainīgie, periodiski procesi datubāzē – DBMS_JOB pakotne.
  • 7.3. versija izlaista 1996 gadā. Lielākie jaunumi – bitmapu indeksi, konteksta un spatial (ģeogrāfisko datu) glabāšanas iespējas, treisošana u.c. daudzas mazākas iespējas.
  • 8.0 versija izlaista 1997 gadā. Jaunumi – objektu tipi, dažādas lietas particionēšanai, Recovery manager (RMAN, rīks jebkuram DBA, kam rūp datubāzes drošība), indeksu organizētās tabulas u.c.
  • 8.1. arī 8i (i – internet) versija, 1999 gads. Šeit nu jauno iespēju klāsts ir vienkārši biedējošs, bet svarīgākās no tām ir:
    •  java datubāzē,
    • virtuālā privātā datubāze – veids kā nodrošināt pieeju tikai noteiktiem datiem neatkarīgi no aplikācijas,
    • atkal jaunas particionēšanas iespējas,
    • pagaidu tabulas (temporary tables),
    • transportējamās tabultelpas (transportable tablespaces) – tabultelpu kopēšana no vienas db uz otru,
    • funkciju bāzēti ineksi,
    • analītiskās funkcijas u.c.
  • 9.0 (9i versijas pirmais laidiens), 2001. gads. Iespējas atkal ir krietni daudz:
    •  automātiskā undo pārvaldība, iespēja aizmirst atrites segmentus (rollback segments) un to pareizu izmēru izveidi.
    • Flashback vaicājumi – iespēja skatīties datus pagātnē pat pēc Commit veikšanas,
    • paralēlais serveris ieguvis jaunu vārdu Real Application Clusters un tam tiek izmantots speciāls kešs, tādējādi ļoti būtiski uzlabojot tā ātrdarbību,
    • dinamiska atmiņas pārvaldība,
    • XML datu tipi datubāzē,
    • Oracle Standby pārsaukta par Oracle Data Guard, nodrošina loģisko un fizisko rezerves (standby) datubāzi u.c.
  • 9.2 (9i versijas otrais laidiens), 2002. gads. Jaunās iespējas:
    • Oracle Streams – jauna datu kopēšanas/replikācijas iespēja,
    • XML DB,
    • datu kompresija tabulu un indeksu datiem,
    • dažādi drošības uzlabojumi.
  • 10.1 (10g versijas pirmais laidiens, g – grid), 2004. gads. Jaunās iespējas:
    • model klauza,
    • Automatic Workload Repository (AWR) un Automatic Database Diagnostic Monitor (ADDM) – informācijas krātuve un automātisks analīzes rīks ātrdarbības problēmu risināšanai – pagaidām vēl bērna autiņos, bet sākums ir,
    • Flashback operācijas ierakstu, tabulu un datubāzes līmenī – tai skaitā iespēja atjaunot dzēstu (drop) tabulu un visu datubāzi atgriezt stāvoklī, kāds tas bija pirms kāda laiciņa – bez rezerves kopiju pielietošanas,
    • tabultelpas izmēros līdz 8 eksabaitiem,
    • datapump – rīks datu pārnešanai no vienas db uz otru, daudz ātrāks nekā oriģinālais eksports/imports,
    • pakotne dbms_scheduler ar milzīgām iespējām periodisko procesu organizēšanā,
    • rezerves kopiju kompresēšana,
    • Automatic Storage Mangement (ASM) – speciāla instance, kas nodrošina failu vadību, tai skaitā, automātisku IO balansēšanu, spoguļošanu, vietas pievienošanu, nav vairs nepieciešams norādīt tabultelpu faila vārdus, pietiek norādīt, ka tie glabājas ASM diskgrupā,
    • regulārās izteiksmes utt.
  • 10.2 (10g versijas otrais laidiens), 2005. gads. Jaunās lietas:
    • Rules Manager – notikumu apstrāde un darbību izpilde, ja izpildās noteikti nosacījumi,
    • XQuery,
    • iespēja tabultelpas pārvietot starp dažādām (piemēram, windows, linux) operētājsistēmām,
    • Transparent Data Encryption – tabulu kolonas var šifrēt neatkarīgi no aplikācijas,
    • ātrdarbības un funkcionāli uzlabojumi ļoti daudzām DBVS iespējām.
  • 11.1 (11g versijas pirmais laidiens), 2007. gads. Atkal vesels bars ar pilnīgi jaunām iespējām un, protams, uzlabojumi jau esošajām:
    • Total Recall – norādītām tabulām ierakstu vēsture tiek automātiski saglabāta drošā arī administratoram nepieejamā vietā (vismaz datu mainīšanai) un pieejama vienkāršiem datu atlases vaicājumiem no bāzes tabulām ar speciālu sintaksi,
    • Advanced Compression – datu kompresija, kam iestrādes jau bija iepriekšējās versijās iznesta atsevišķā pakā un nodrošina kompresiju tabulām, rezerves kopijām, DatPump eksporta failiem un atsevišķām tīkla operācijām,
    • Real Application Testing (RAT) – iespēja ierakstīt visas veiktās darbības vienā datubāzē un izpildīt to vēlreiz citā vidē, pēc jaunas versijas, ielāpa, servera vai kā cita maiņas un analizēt ātrdarbības izmaiņas,
    • Virtuālas kolonas,
    • tabulas var uzstādīt tikai lasāmas,
    • jaunas PIVOT un UNPIVOT operācijas,
    • SQL, PL/SQL vaicājumu un funkciju vērtību kešošana atmiņā,
    • OCI klienta puses SQL vaicājumu kešošana,
    • dažādi PL/SQL uzlabojumi – iespēja norādīt trigeru kārtību, salikti trigeri, iespēja referencēt tieši sekvences utt.,
    • tabultelpu šifrēšana,
    • iespēja pilnībā automātiski pārvaldīt operatīvo atmiņu,
    • un vēl vairāk kā 300 dažādu uzlabojumu.

11g pirmais laidiens pašlaik arī ir pēdējā versija. Par otro laidienu klīst baumas, ka tas būšot nu jau kaut kad šogad, kā arī pēc tam varētu parādīties 11 versija Express Edition (bezmaksas) datubāzes redakcijai.

Tie, kuriem nenormāli interesē vēsture, var gūt plašu un sīku ieskatu visās izmaiņās sākot no 7.0 versijas Oracle dokumentācijā:

Tālākā lasāmviela

Komentēt