PostgreSQL a budoucnost
Karel Zak
zakkr na zf.jcu.cz
Středa Listopad 14 14:22:19 CET 2001
On Wed, Nov 14, 2001 at 12:20:15PM +0100, Ing. Pavel PaJaSoft Janousek wrote:
> Karel Zak wrote:
> > Pochopitelne mnoho veci :-)
> >
> > - dukladnejsi system prav
>
> Toto jsem bohuzel v TODO na blizke obdobi nenalezl, skoda, ja jsem
> narazil u par veci jiz u 6.0, ale da se to obejit...'-) Myslim, ze pouhe
> GRANT/REVOKE pripadne autentizace pres pg_hba.conf neni dostatecna.
> (navic nekdy opravdu podivne musim pridelit prava pro obycejny SELECT
> apod. - viz archivy)
Uz existuji nejake navrhy (vim o dvou) a jednu dobu to vypadalo, ze
se do toho nekdo (Peter Eisentraut a mozna ja) pusti, ale nejak to
usnulo. Ocekaval bych, ze se to bude resit po implementaci schemat.
Jde o to, ze soucasny system je tezko rozsiritelny a pouziva hrozne
stringy na popis prav. Nejsou zde prava na funkce apod. Dalsi vesi je
to co u Oracle je zname jako "GRANT ... WITH ADMIN OPTION", tedy
moznost umoznit dalsimu userovy menit prava k danemu objektu.
Mne by se take libilo neco jako CREATE PROFILE (viz. Ora) kam je
mozne k danemu profilu nastavovat veci jako max. delku spojeni,
idle time apod. Ale o tomto asi zatim nikdo neuvazuje.
Uf.. ted jsem se podival do TODO a u tohodle bodu ("Improve control
over user privileges") je me jmeno. To je zajimave, asi jsem do toho
moc kecal :-)
>
> > - tablespace
>
> Vim, ze je ma treba Oracle, nevim k cemu je to dobre a jak to vyuzit...
> Napovi nekdo?
Urci se nejaky prostor kam se davaji data. A da se na to nabalit
mnoho dalsich veci jako treba quota :-)
> > - schema
>
> Neco ve stylu pohledu nebo pomoci nejakeho, rekneme derivatu UML sdelis
> DB storu svoji predstavu datove konzistence (nejen ve smyslu relaci,
> trigeru, checku, klicu) - tedy v podstate cely DB model a on si z toho
> sam udela referencni integritu a datovou konzistenci?
Ne. SQL92 celkem povrchne neco jako SQL-schema definuje. Jde v
zakladu o to mit spojeni "nejaka skupina objektu" + vlastnosti (napr.
prava). Vice viz. TODO. Ja jsem se o todle nejak moc nezajimal.
Problem je treba soucasna nemoznost nastaveni prav u DB.
Obecne Oracle je na tom co do administrace a prav lepe (ale zase
nema podporu PAM, 7.2 PostgreSQL ano:-)
> > - database link
Mit moznost z jedne DB pristupovat do jine, ktera je treba i na jinem
stroji. Z pohledu tvorby datoveho modelu je to uchylka, ale mozna by
to nekdo ocenil. Uvedl jsem to jako priklad toho co chybi. Nejsem si
jist jak moc se tim bude v soucasnosti nekdo zabyvat.
> > - replikace
>
> Jak jsem psal, na implementaci se horecne pracuje (nebo aspon keca v
> pghackers;-))
Myslim, ze tech implementaci bylo vice.
> > - jeste lepsi storage manager
>
> Jaka je snaha?
Uplne todle nesleduji, ale je tam co zlepsivat ohledne nutnosti co
nejvice potlacit nutnost pouzivat VACUUM. Dale pak nejake finalni
redo-logy. Predpoklada se implementace SAVEPOINTu (nested transakce)
-- uvnitr transakce se urci misto kam se ma pri rollback vratit.
> > - cache
>
> Cachovani na urovni dotazovani nebo co?
Ano, tady jsem experimentalne "oral (kratke 'a' please:-) na zelene trave"
ja. Nejsem si, ale jist nakolik vyvoj dozral k reseni techto problemu.
Nejake uvahy existuji. Jde o to cachovat casove narocne parsovani
dotazu.
> > - urychleni startu backendu (poz. MySQL ma jeden z nejrychlejsich
> > connectu coz je treba u prumernych zpusoby implementaci webu
> > skvela vec)
>
> Tiny PostgreSQL uz nebude PostgreSQL, ale optimalizaci se nebranim.
O to nejde. Jde o pre-forked backend. Tedy neco jako u apache kde
hned po startu vznikne nekolik serveru a pri connectu klienta se
netravi cas forkem a startem serveru. Dost by to pomohlo vecem jako
je web.
> BTW Karel vynechal RAW devices. Myslim, ze 2.4. kernel v Linuxu jiz ma
> raw device rozumne implementovany, uvazuje Tom o tomto v souvislosti se
> storage managerem?
Nemyslim, ze zrovan Tom Lane (PostgreSQL neni projektem jednoho boha
jako to je treba "nekde" jinde:-) by resil veci okolo storage managmentu.
Co se tyka RAW tak zadne snahy nejsou a asi hned tak nebudou (mizerna
portovatelnost apod.)
Dalsi vec, ktera treba mne znacne stve (nekdy i ser..) je hlaseni
erroru. Pokud ma byt PostgreSQL pouzitelny v nejakych solidnich
oblastech je nutne, aby existovaly kody chyb a aplikace mohla dle
kodu neco udelat. Dnes vetsinou jen trapne vypise string errorove
hlasky.
Dale pak treba LOCALE-per column, UPDATE na view, pouzivat indexy u
max(), min() (viz rychlost tohodle u MySQL), psani serverovych
funkci v Jave.
Atd.. atd. TODO ma 15 stranek :-)
http://developer.postgresql.org/todo.php
Karel
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Další informace o konferenci Test