server protocol used by Postgres

Поиск
Список
Период
Сортировка
От Peter Korsgaard
Тема server protocol used by Postgres
Дата
Msg-id Pine.GSO.4.21.0011021104370.12802-100000@brille.control.auc.dk
обсуждение исходный текст
Ответы Re: server protocol used by Postgres  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi!

I'm working on a SQL proxy for distributing load as a project at
university. The idea is to have a system, which can transparently be
inserted between an existing database and its clients, to allow the
system performance (selects) to scale by adding more databases as the
load increases. This way we don't need to recode the clients.

Below is a diagram of the system.
 Client 1                                    Database 1
 _____                                         _____
 |   |                                         |   |
 |   |<-----         Proxy (distributor) ----->|   |
 |___|     |     SQL     _____     SQL   |     |___|
           ------------->|   |<-----------
   .                     |   |                   .
   .       ------------->|___|<-----------       .
           |     SQL               SQL   |
 Client n  |                             |   Database m
 _____     |                             |     _____
 |   |     |                             |     |   |
 |   |<-----                             ----->|   |
 |___|                                         |___|

All databases contain a replicate of the same data. From the clients'
point of view the proxy looks like a normal postgres database.

The job of the proxy is to look at the querys: If the query is a
select it can be transmitted to only on of the databases, but if it is
an update/insert it has to go to all of them. Furthermore it should
monitor the set of databases, and exclude databases that stop working,
and update them when thay again become available.

I have been browsing a bit around the develop corner at postgresql.org
and looking at the c client library, but I haven't been able to find
any information about the protocol used between the postgres database and
the clients, Is such information available anywhere, or could anyone
point me to areas of interest in the postgres server code?

Thanks in advance!

--
Bye, Peter Korsgaard


В списке pgsql-general по дате отправления:

Предыдущее
От: Igor Roboul
Дата:
Сообщение: Re: Large objects
Следующее
От: "Tamsin"
Дата:
Сообщение: RE: Increasing Table Column Size in 7.0 Syntax