From: | Gunnar Wolf <gwolf(at)gwolf(dot)org> |
---|---|
To: | Edwin Quijada <listas_quijada(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Muchos usuarios conectados |
Date: | 2007-05-06 00:04:42 |
Message-ID: | 20070506000442.GB4295@gwolf.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Edwin Quijada dijo [Thu, May 03, 2007 at 02:31:32PM +0000]:
> Hola!
> Tengo una duda sobre una app que estoy desarrollando. Mi app la usaran
> alrededor de 400 usuarios via web como en un desktop ,y una alta rotacion,
> me preguntaba cual seria la mejor manera de usar esto si creando un usuario
> por cada perosna en la BD o crear un usuario de conectividad y manejar todo
> de esa forma. Siempre lo he usado creando usuarios reales dentro de la BD
> pero no se si esto puede ser perjudicial o no o si perderia ciertas
> ventajas.
>
> Una de las cosas principales es que no se si pueda "tumbar" algun usuario
> en especifico usando el concepto de un unico usuario.
Esto depende por completo del modelo que hayas seguido para el
desarrollo de tu aplicación - Postgres te da la capacidad para
manejarlo como te guste. En mi caso, he preferido manejar usuarios por
tipo de tarea a realizar - En la mayor parte de mis sistemas tengo
únicamente un usuario; en unos pocos sistemas tengo dos usuarios, uno
para las tareas de un uso normal y uno para la administración. Claro,
podrías dar acceso mucho más granular si lo manejaras realmente por
usuario separado... Pero depende de qué tanto quieras meterte. ¡Ah! Un
par de puntos a favor de hacerlo como te comento: Muchas aplicaciones
que corren bajo servidores Web (especialmente Apache, que es con el
que más he trabajado) manejan conexiones persistentes - Abren una sola
conexión (o un conjunto de n conexiones) a la BD al inicializarse, y
por medio de esta conexión sirven a todas las instancias que son
invocadas, ahorrando el tiempo que toma establecer nuevas
conexiones. Entiendo que, para funcionar correctamente este esquema,
las conexiones deben ser idénticas - A la misma BD y con el mismo
usuario. Si tienes 400 usuarios concurrentes, este último punto puede
serte importante.
Respecto a cómo botar a uno de esos usuarios: Claro, si manejas los
usuarios en otra capa, matar las sesiones también se va a otra
capa. En este caso en específico, en vez de matar a una conexión entre
un usuario y la BD, lo que harías es eliminar -por decir algo- la
entrada en tu tabla de sesiones que identifique al usuario al que
quieres desconectar.
Saludos,
--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
From | Date | Subject | |
---|---|---|---|
Next Message | Victor Lopez | 2007-05-06 00:08:15 | Re: funciones y ROLLBACK |
Previous Message | Jaime Casanova | 2007-05-05 18:33:08 | Re: funciones y ROLLBACK |