From: Goran Thyni <goran@kirra.net>
To: mail-list@molnir.com
Cc: pgsql-interfaces@postgreSQL.org
Cc: pgsql-hackers@postgreSQL.org
Subject: Re: [HACKERS] CORBA STATUS
Date: Tue, 09 Nov 1999 18:15:06 +0100
Message-ID: <3828569A.3BE41F94@kirra.net> (raw)
References: <001401bf2a53$23d22510$dea993c3@tosh3>
I have done some research into slapping
a CORBA interface onto the PgSQL server.
I have looked at ORBit but my findings
seems to apply to most CORBA implementations.
I found that there is a fundamental problem
concerning the difference in process models
in pgsql and the POA (Portable Object Adaptor)
in CORBA implementations.
AFAICS, POA assumes a threaded server while
PgSQL uses a traditional forking model.
I see 3 ways to resolve this:
1. Adapt the PgSQL server to use threads instead of forking.
I am not sure we want to do this since it is a major
undertaking and will not help the rock solid stability
we expect from a professional RDBMS.
2. Write a Forking Object Adaptor (FOA).
Would be a big job but it would benefit other similar
projects. A FOA would have to be rewritten for every
ORB. If you want to do this I suggest starting with
ORBit since it is all C and thereby easier to slap
onto PgSQL.
3. Extend postmaster to proxy CORBA requests.
Postmaster could fork of postgres processes
on incoming connections. Postmaster will keep
listening and proxying request and responses
to/from the postgres process through some kind
of IPC. This will make the postmaster multithreaded
and the postgres processes still singlethreaded.
It is doubtful if the gains:
- standard-based protocols
- less code to maintain (?)
justifies the amount of work required.
An easier way out is to, as suggested by others,
implement the CORBA-service outside the server
itself. It will in some cases give some latency
related performance degrading compared to a
in-server implementation.
One effort to do something like that
(and more) is gnome-db. Check out
http://www.gnome.org/gnome-db/
regards,
-----------------
Göran Thyni
On quiet nights you can hear Windows NT reboot!
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: goran@kirra.net, mail-list@molnir.com, pgsql-hackers@postgreSQL.org
Subject: Re: [HACKERS] CORBA STATUS
In-Reply-To: <3828569A.3BE41F94@kirra.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox