| OCR Text |
Show 22 PosLgres has a pro cess call ed t he Postmaster which runs along with the Postgres hctckcucl ou the database server. There is one Postmast er p er machine. \,Yh en a user requires Postgres servi ces, the Postm as ter does most of the network initi alization and connection activities. After thi s, it forks a Postgres backend and goes back to waiting for connection requests from new user applications. There is one Postgres prucess for <c~ ac h active user. !-\II these processes share the Postgres code, buff<~r fl (HJ I ctJJcl lock table bu t !J <lve private data. segments . F\Jstg res al so supports knowl edge management via rules which describe various const rai nts . 2 .5.12 Versant Versant [3] was developed by Versant Object Technology Corporation. It provides persisten ce to C++ classes and objects. It is implemented in C/C++. Versant objects have a logical object identifier (LOID) (LOID is unique across multiple d atabases), a class identifi er , and a storage object identifier containing the physical location of the object. It maintains an object cache table which con t air1s t he LOID , memory pointers, lock statu s and a cached obj ed df~ scriptor which points to tlw physical location of the object in the memory. Ve rsaut a.llows the in star1ces of' dirTe r<-' nt classes to be clust ered togethe r. !3y default, all in stances of a class are cluste red together. It supports two types of tran saction s: long and short. The long transactions are persistent (the lo cks survive crashes) and span multiple short tra nsactions whi ch are not persistent. Appli cations can issue a "ch cckpoinL" to make changes pern1anent and a "savepoint" to record a state where th ey can return later. Versant provides four types of lo cks: read, writ e, snapshot (creates a copy of the object regardless of the lock status of the obj ect ), and monitor (allows events to be specified on which the user is notified via e- mail , e.g., release of a lock by anot her user). Locks can b<:w e two priority levels , soft and |