Nßvody
-
Adabas - I
Adabas - I
Miniserißl o relaΦnφm databßzovΘm systΘmu, kter² z∙stal ve stφnu Oracle.
O co jde
Adabas je v²tvor firmy Software AG a jednß se o jeden z t∞ch
propracovan∞j╣φch relaΦnφch databßzov²ch systΘm∙, kterΘ si m∙╛ete opat°it.
Adabas je vyvφjen od roku 1971, kdy byl navr╛en pro podporu business
aplikacφ a asi vinou malΘ podpory a rozdφlnosti trh∙ z∙stal ve stφnu
Oraclu. V²hodou oproti n∞mu m∙╛e b²t jednoduchß instalace a malß nßroΦnost
na pam∞╗ a mφsto (instalaci si zkusφme v dal╣φch kapitolßch).
Adabas je navr╛en na dvouprocesnφ struktu°e - jßdro Adabasu b∞╛φ jako
proces odd∞len∞ od aplikaΦnφch utilit, tak╛e v╣echny databßzovΘ aktivity a
u╛ivatelskΘ processy jsou spravovßny centrßln∞. PoΦet u╛ivatel∙ paraleln∞
p°ipojen²ch k databßzi nenφ limitovßn (samoz°ejm∞ pouze v rßmci licenΦnφ
politiky). Pro zajφmavost uvßdφm ceny a podporu pro platformu Linux:
Produkt Licence / RoΦnφ podpora
- Adabas D Linux Desktop Edition 80,- EUR / neposkytovanß
- Adabas D Linux Entry Edition (licence pro 10 u╛ivatel∙) 225,- EUR /
neposkytovanß
- Adabas D Linux TwentyFive Edition (licence pro 25 u╛ivatel∙) 1 102,-
EUR / 220,- EUR
- Adabas D Linux Business Edition (neomezenß licence na jeden server)
2254,- EUR / 450,- EUR
(v p°φkladech dßle uvßd∞n²ch se budeme bavit o bezplatnΘ verzi Adabas D
Personal Edition v12)
Jinak jsou ze strany Software AG nabφzeny r∙znΘ partnerskΘ modely
vztahujφcφ se na produkt Adabas D jako je bezplatnß v²vojß°ska verze,
╣kolenφ, p°φstup do systΘmu elektronickΘ podpory. Maximßlnφ velikost
databßze na Open systΘmech je 128 TB (tak╛e omezenφ je prakticky pouze na
hardwaru) a p°itom uplat≥uje pro uklßdßnφ dat kompresnφ mechanismus (udßvß
se komprese cca 50%). Adabas pou╛φvß systΘm transakcφ (transakce je
definovßna u╛ivatelem a nezm∞nφ obsah databßze dokud ji u╛ivatel
nepotvrdφ), co╛ umo╛≥uje v p°φpad∞ krachu databßze, Φi systΘmu zajistit
konzistenci dat - p°i startu se provede zrestaurovßnφ pr∙b∞hu
transakcφ.
P°φtup k databßzφm je umo╛n∞n standartn∞ p°es ODBC, Φi JDBC, umo╛n∞no je
spojenφ p°es SQL klienta a nßstroje fy SoftwareAG (Bolero,..). Na obrßzku
uvedenΘm nφ╛e je vid∞t struktura p°φstupu k dat∙m databßze.
DatabßzovΘ disky se sklßdajφ z prostoru obsahujφcφho samoz°ejm∞ samotnß
data a dal╣φ "pomocn²ch" jako jsou logovacφ, pracovnφ a prostor p°φkaz∙.
Nad touto Φßstφ pracuje jßdro(-a) databßze, kterΘ uvedenΘ prostory
zpracovßvß a pou╛φvß. Cel² proces prßce jßdra nad databßzov²mi disky je
slo╛it∞j╣φ, ale umo╛≥uje n∞kterΘ vymo╛enosti, kterΘ u "lehΦφch" databßzφ
nenaleznete.
Poslednφ dobou se Abadas sna╛φ zam∞°it na podporu www server∙,
spoluprßci s XML databßzemi. V²voj m∙╛ete poznat i na utilitkßch standardn∞
dodßvan²ch s Adabasem, v∞t╣inou duplicitnφch, z nich╛ grafickΘ funkΦn∞
nahradily textovΘ. Adabas je multiplatformnφ aplikace, transakce mohou
probφhat v r∙zn²ch SQL dialektech (Adabas, Ansi, Oracle), podporuje
databßzovΘ procedury a funkce, temporary tabulky a subtransakce. Podrobn∞ji
se s administracφ a s utilitami seznamφme v dal╣φch kapitolßch.
LicenΦnφ politika je vedena p°es poΦet simultßnnφch u╛ivatel∙ databßze,
kdy omezenφ se provßdφ ji╛ p°i vytvß°enφ databßze. Pro studijnφ a
seznamovacφ pot°eby je poΦet t∞chto u╛ivatel∙ omezen na 3.
┌vod do DB s p°ihlΘdnutφm k Adabasu
Databßze ovlßdajφ sv∞t - ka╛d² se jist∞, aΦ v∞domky Φi nev∞domky, setkal
s n∞jakou tou databßzφ. TΘm∞° v╣em Linuxßk∙m hned vyskoΦφ p°ed oΦi mysql,
ORACLE. Tento serißl se mß zab²vat ADABASem, jednou z t∞ch mΘn∞ znßm²ch
databßzφ, o kterΘ je t°eba sly╣et, ale v praxi u╛ mßlokdy vid∞t.
┌vodem bude vhodnΘ pro ty, kte°φ o databßzφch sly╣eli n∞co zpovzdßlφ a
cht∞jφ si vyzkou╣et instalaci a n∞kter² p°φklad uveden² dßle, napsat, o co
jde, a co se t²kß i ADABASu: Databßze (podobn∞ jako file systΘm) obsahuje
urΦit²m zp∙sobem uspo°ßdanß data a toto uspo°ßdßnφ se musφ dßt popsat
souborem urΦit²ch pravidel (u "lep╣φch" databßzφ i popisem restrikcφ a
dal╣φch v∞cφ). Pro u╛ivatele je d∙le╛itß ta druhß Φßst, tj. znalost t∞ch
pravidel, proto╛e teoreticky je jedno, kde a jak jsou data ulo╛enß, ale na
zßklad∞ pravidel musφ b²t tato data dostupnß (tzn. s mo╛nostφ v²b∞ru,
aktualizace, smazßnφ atd.). Tato dostupnost by se m∞la t²kat r∙zn²ch
mno╛in dat, kterΘ jsou popisovßny t°eba logick²mi operßtory.
N∞kterΘ z databßzφ si vystaΦφ s v²╣e uveden²m principem uklßdßnφ dat.
Databßze "vy╣╣φho" typu navφc uplat≥ujφ dal╣φ pravidla a majφ dal╣φ
mo╛nosti: mezi n∞ pat°φ i o╣et°enφ duplicit ve sloupcφch (restrikce zvanß
unique key constraint) Dal╣φ restrikce primary key
constraint je v podstat∞ kombinace restrikcφ not null a
unique constraint. Nßzev not null restrikce napovφdß, ╛e
hodnota v danΘm sloupci nesmφ b²t prßzdnß. Restrikce foreign key je
vztahovß (╛e by od slova relation?) a umo╛≥uje existenci ve sloupci
tabulky pouze t∞m hodnotßm, kterΘ jsou uvedeny v jinΘm sloupci (jinΘ
tabulky). Mo╛nß to vypadß jako zbyteΦnost, ale v p°φpad∞ databßzφ s vφce
ne╛ jednou tabulkou se tyto restrikce hodφ a m∙╛ou udr╛et smysluplnost dat
pohromad∞. Je╣t∞ jednou p°ipomφnßm, ╛e tyto restrikce hlφdß sama databßze
a nenφ nutno je n∞kde v PHP programovat extra.
Pro v∞t╣φ tabulky (asi se vßs to nebude t²kat, ale pro ·plnost dopl≥uji)
se dajφ definovat p°i nßvrhu r∙znΘ indexy, kterΘ umo╛≥ujφ pracovat s
tabulkou mnohem rychleji. Setkßte se s v²sledky m∞°enφ rychlosti
vyhledßvßnφ v tabulce s a bez indexovanΘ polo╛ky, ale sami se m∙╛ete o tom
p°esv∞dΦit v praxi (pokud mßte Φas, chu╗ a n∞jakΘ to mφsto na disku).
StaΦφ vlo╛it cca 1M zßznam∙ do tabulky a zkusit vyhledat n∞kter² z nich.
Bez indexovanφ polo╛ky podle kterΘ jste vyhledßvali se zaΦnete shßn∞t, jak
tu "pomalou" databßzi zrychlit.
Jak jsem ji╛ zmi≥oval, n∞kterΘ "lep╣φ databßze" umo╛≥ujφ vylep╣it sv∙j
chod r∙zn²mi indexy, zajistit bezporuchovost (integritu) dat vΦetn∞
managementu databßze (definovßnφ prostor∙, zßloh, dohled proces∙, prßce s
domΘnami, vzdßlenß sprßva) a mo╛nost vyu╛itφ PL-SQL (Jazyk, kter²
se neomezuje pouze na selecty, updaty, inserty a dal╣φ zßle╛itosti jazyka
SQL, ale blφ╛φ se u╛ vy╣╣φm programovacφm jazyk∙m. Hlavn∞ umφ cykly,
podmφnky a podobn∞.). Mezi n∞ pat°φ, podobn∞ jako ORACLE, i ADABAS a to
m∙╛e b²t jeden z hlavnφch d∙vod∙, proΦ se u╛ivatel rozhodne prßv∞ pro
ADABAS, namφsto v╣eobecn∞ oblφbenΘho mysql (podrobn∞ji se tabulkßm a
p°φklad∙m m∙╛u v∞novat v p°φpad∞ zßjmu v samostatnΘm dφle o prßci s daty v
databßzφch).
V p°φ╣tφm dφle si ADABAS nainstalujeme a nakonfigurujeme.
Diskuse k tomuto Φlßnku
Je, to jsem si hezky zavzpominal. To uz bude tak 6 let co jsem zahledl akci firmy Software AG, ze prodavaji neomeznou verzi za asi 3000. Premluvil jsem lidi co jsem pro ne delal a db mi koupili.Byla to jeste libc5 vreze a ja mel linux s jadrem 1.2.13.
Ale nejak to chodilo, ale mozna to bude tim, ze jsem tomu moc nerozumel, ale nikdy jsme si do oka nepadli. Dokumentace byla dost uboha proti tomu co znam u OS projektu.
No jen udelat dump db a vratit ji zpatky byl porod.
Ale je to uz dlouho dneska asi je vse jinak.
Prave me ceka ukol dostat z ADABASu do neceho jineho (informix). ADABAS bezi na stroji, ke kteremu nemame pristup a jedine, co jsme k tomu dostali jsou ODBC drivery pro vsechny operacni systemy (ale jen od firmy Microsoft). Potreboval bych se nejak dostat k tabulkam v ADABASu treba z PHP. Jde to nejak treba pres projekt http://www.unixodbc.org ? Dodavatele nam v tomto nejak nepomuzou. Take me v clanku zaujala moznost 4GL - 4GL provozujeme na AIX/Informix, pokud by nekdo mel informace o tom, jak pristupovat ze 4GL nebo PHP k ADABASu, byl bych mu velmi vdecny (linux, aix) Pripadne i mailem na daemon(zavinac)svoboda(tecka)cz, diky moc za kazdou pomoc.
z Linuxu se da nadherne pracovat s ADABAS pomoci Perl. V PHP je to jiste v blede zelenem to same?
modul Adabas.pm je - tedy doufam - i u kazde personal edition napr. v suse
hodne zdaru
PS: asi jsem uz 150-ty, ale presto se zeptam - da se rozumne psat i bez HTML-tags - pozn. starsi semestr.
|