El 24/01/2010 6:36, Jaime Casanova escribió:
2010/1/23 Terry Yapt<y...@technovell.com>:
A PostgreSQL le falta:

- Bloques anónimos.
viene en la siguiente version (la 9.0)

Que alegria...  :-)

- Paquetes (Packages)  -muy útiles-.
- Transacciones autónomas  (pragma autonomous_transaction).
aun no se cual es la utilidad de estas

Es la de poder crear bloques transaccionales INDEPENDIENTES dentro de otros bloques transaccionales. Por ejemplo, entro en una transacción que hará COMMIT o ROLLBACK, dependiendo de algún factor (por ejemplo que haya saldo en la cuenta), pero quiero tener conocimiento de qué sucedió. Para ello, llamas a una transacción que guarda un registro de lo que ha pasado y que se hace COMMIT independientemente de lo que suceda con la principal. Muy usado en LOGs.

Añadir, además, que en Oracle se puede iniciar una transacción DESPUÉS de otra. Es decir, esto se puede hacer (creo que en PostgreSQL, esto no se puede hacer):

BEGIN
   COMMIT;
END;

BEGIN
   IF FALSE THEN ROLLBACK;
END;

BEGIN
  COMMIT;
END;

El rollback intermedio, no afectará a los otros dos bloques de transacciones, ni aun estando dentro del mismo bloque/procedimiento PL/SQL.


- CUBE (y algunas otras funciones de oracle).
cube, rollup y grouping sets no son de oracle, sino del estandar...
se que hay alguien trabajando en grouping sets, no estoy muy seguro de
cube y rollup

Ok, me referia a que Oracle ya las tiene implementadas.  :-)

- RAC (Real application Cluster).  Ejecutar tu motor de base de datos en
varios servidores simultáneos contra las mismas bases de datos.
te refieres a tener dos servidores contra el mismo conjunto de discos
en modo activo-activo? aun no entiendo como puede ser una ganancia
mantener como unico punto de contencion (y el mas lento), el conjunto
de discos

Alvaro alguna vez me dijo que si es util si se tiene una san con una
cantidad insana de discos, pero no creo que todo el mundo pueda
costear eso y en un conjunto de discos normales no veo la ganancia

Habitualmente instalo SAN's para las bases de datos y no es necesaria una cantidad insana de discos. La propia base de datos "decide" que servidor del cluster ejecuta la consulta y esto lo hace en función de un buen número de factores. Usuarios conectados, carga del servidor, datos en cache, etc... Te garantizo (porque lo he visto) que el rendimiento es, comparado con el MISMO servidor pero sin RAC, impresionante. Además de que si un servidor se cae, el otro sigue funcionando, etc.. etc...
También es cierto que se complica la gestión.

En cualquier caso debo decir que el uso que estoy haciendo de PostgreSQL ultimamente se ha quintuplicado. Creo que YA uso más PostgreSQL que Oracle (incluso en clientes). Lo que sucede es que los clientes de Oracle, suelen ser muy grandes.

Saludos.
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a