neco jineho nez relacni DB stroj? (dlouhe)

Vaclav Ovsik zito na i.cz
Čtvrtek Prosinec 7 14:34:02 CET 2000


Mate nekdo zkusenost s necim rozumnym, co nemusi byt nutne relacni
databazovy stroj (Mozna nejaky sitovy model databaze.),
ale co bude mit nejak rozumny pohled na data.
Zacinam byt vuci relacnim databazim se SQL rozhranim skepticky.
Sice urcitou tridu problemu zjednodusuji, ale poradny abstraktni
pohled na data v podstate znemoznuji. 

Cekal bych, ze jiz mozna existuje nejake API v OOP jazyce,
ktere bude schopno instance nejake tridy, kterou si nadefinuji
strkat do nejakeho datoveho prostoru. Bude umet data indexovat.
Bude umoznovat transakcni zpracovani. (Pozadavek mechanismu zalohovani
si netroufam polozit.) ...

Kdyz clovek sahne po nejake relacni stroji, je asi jedno jakem,
jde cela abstrakce do prcic. Musim utrhnout data od funkci nad nimi
a strkat je do DB (pouzit typy a funkce, ktere se mi vubec nelibi
a je to ukrutna pakarna).
V DB zase nejsem schopen rozume s daty nakladat
bez tech mych obalujicich funkci. Stored procedury? S tema toho clovek
moc neporidi a nebudu preci svuj kod duplikovat, jednou v aplikaci,
jednou v DB - fuj. Jeste nejdal je na tom PostgreSQL, kde muzu psat
procedury na serveru v C, Dopsat typy a operatory nad nimi v C.
Mozna to je ten spravny smer.
Obecne je mi cely "uzasna" sila DB stroje na nic, pokud do nej
neprotlacim potrebne funkce (funkce komparace apod.).
Vubec nemluvim o tom, ze co DB stroj to rozdily v jazyce v datovych
typech ...

<ODBOCKA K DBI>
Casto si laik mysli, ze DBI v Perlu sjednocuje zpusob prace s databazi.
To IMHO nejde.
Troufam si tvrdit, ze vyhoda DBI je
v tom, ze ma na urcite urovni stejny pohled na DB
(connection, prepare, execute, fetch ...). Takze jako programator
to mam na tehle urovni stejne u ruznych DB.
Vubec uz neni pravda, ze bych snad mohl DB pod DBI zamenovat.
To jsem si uz nabehl. S tak uzkou mnozinou SQL,
ktere by alespon dva ruzne DB podporovaly
se neda v konkretnich pripadech pracovat. (vyjma skolni pripady)
Bezpochyby v tom co se v soucasnych databazich dalo sjednotit
je DBI rohrani Perlu asi spicka.
</ODBOCKA K DBI>

Nevi tedy nekdo o databazi, ktera by mela interface v podobe API
dejme tomu v C++ nebo Java a dovolovala primo manipulace s objekty?

Za namety dekuji.

-- 
	Vaclav Ovsik		email: Vaclav.Ovsik na i.cz
	ICZ a.s.		phone: +420 19 7488511
				fax:   +420 19 7488506

PS: Pokud si nekdo mysli, ze jsem ujel a chce mi ukazat, ze relacni
    DB stroj zvladne vsechno elegantne. Tak vezmeme muj konkretni
    pripad. Mam netrivialni schema (vice entit) provazanych
    a pozaduje se po me, abych zaznamenal kompletni historii dat.
    Kdo co kdy zmenil (z ceho na co).
    Chce se po me, abych zajistil pristupova prava na urovni
    operaci nad daty (pristupova prava zavisi na hodnote dat
    a dynamicky - jsou definovana daty).
    Strkam do DB binarni data o jejichz strukture nema DB potuchy,
    ale mela by mit.
    (Ta aplikace je jakasi certifikacni autorita :-)
    Ja to nejak vyreseno mam, ale moc se mi to nelibi.



Další informace o konferenci Test