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