ORACLE v/s PostgreSQL
Distancias importantes:
a. PostgreSQL es una base de datos Objeto Relacional, mientras que
Oracle es sólo una base de datos Relacional. Oracle no tiene la
infraestructura OR y la simula con productos adicionales.
b. Oracle tiene consultas en paralelo, que PostgreSQL aún no tiene.
c. PostgreSQL tiene cinco lenguajes de programación procedurales,
algunos sumamente especializados y avanzados como PL/perl y PL/R,
mientras que Oracle sólo tiene uno.
d. PostgreSQL amplía el concepto de programación procedural para
soportar funciones en cualquier parte (como procedimiento, como tabla,
como operador, como selector, como filtro), mientras que Oracle sólo
permite usarlas como procedimiento. Oracle simula parcialmente el
comportamiento proveyendo paquetes, pero no tienen el alcance de
PostgreSQL.
e. PostgreSQL soporta nativamente tipos de datos no escalares, con sus
operadores, y ofrece la posibilidad de crear tus propios tipos de datos
y operadores. Oracle requiere comprar software adicional y no puedes
desarrollar tus propios tipos.
f. PostgreSQL puede crear índices lineales (B-Tree), presenciales (Hash)
y espaciales (R-Tree). Oracle sólo puede los dos primeros, se recomienda
que no uses el segundo, y si quieres el tercer tipo tienes que comprar
software adicional. En PostgreSQL tienes la posibilidad de escribir tus
propias rutinas para construcción de índices, con Oracle no.
g. Oracle tiene muchísimos más parámetros de configuración que
PostgreSQL, muchos de ellos son secretos, no están documentados, y sólo
los conoce la gente de soporte de Oracle que los utiliza para ayudarte
solamente si tienes el contrato de mantenimiento al día.
Más aún, PostgreSQL es software libre, Oracle es privativo y caro
(fíjate lo que significa Oracle al revés).
Por lo demás, ambos tienen soporte para las mismas cosas (SQL, métodos
de conexión desde el cliente), son capaces de manipular bases de datos
de dimensiones enormes y tienen excelente robustez y escalabilidad
transaccional ya que ambas aplican mecanismos que no están basados en
locks.
a. PostgreSQL es una base de datos Objeto Relacional, mientras que
Oracle es sólo una base de datos Relacional. Oracle no tiene la
infraestructura OR y la simula con productos adicionales.
b. Oracle tiene consultas en paralelo, que PostgreSQL aún no tiene.
c. PostgreSQL tiene cinco lenguajes de programación procedurales,
algunos sumamente especializados y avanzados como PL/perl y PL/R,
mientras que Oracle sólo tiene uno.
d. PostgreSQL amplía el concepto de programación procedural para
soportar funciones en cualquier parte (como procedimiento, como tabla,
como operador, como selector, como filtro), mientras que Oracle sólo
permite usarlas como procedimiento. Oracle simula parcialmente el
comportamiento proveyendo paquetes, pero no tienen el alcance de
PostgreSQL.
e. PostgreSQL soporta nativamente tipos de datos no escalares, con sus
operadores, y ofrece la posibilidad de crear tus propios tipos de datos
y operadores. Oracle requiere comprar software adicional y no puedes
desarrollar tus propios tipos.
f. PostgreSQL puede crear índices lineales (B-Tree), presenciales (Hash)
y espaciales (R-Tree). Oracle sólo puede los dos primeros, se recomienda
que no uses el segundo, y si quieres el tercer tipo tienes que comprar
software adicional. En PostgreSQL tienes la posibilidad de escribir tus
propias rutinas para construcción de índices, con Oracle no.
g. Oracle tiene muchísimos más parámetros de configuración que
PostgreSQL, muchos de ellos son secretos, no están documentados, y sólo
los conoce la gente de soporte de Oracle que los utiliza para ayudarte
solamente si tienes el contrato de mantenimiento al día.
Más aún, PostgreSQL es software libre, Oracle es privativo y caro
(fíjate lo que significa Oracle al revés).
Por lo demás, ambos tienen soporte para las mismas cosas (SQL, métodos
de conexión desde el cliente), son capaces de manipular bases de datos
de dimensiones enormes y tienen excelente robustez y escalabilidad
transaccional ya que ambas aplican mecanismos que no están basados en
locks.

