2010-07-23 12 views
10

Me pregunto cómo escalar una base de datos. Actualmente usa PostgreSQL. ¿Sería útil cambiar a Oracle a pesar del dolor y el gasto de codificación? ¿O es PostgreSQL + más cajas un enfoque mejor/más barato?¿Cuán grande es la diferencia de rendimiento entre Oracle y PostgreSQL?

+3

Imagino que el postgres sería más barato. – miku

+1

¿Cuánto dura un trozo de cuerda? Hay tantos factores involucrados que no hay una respuesta correcta aquí. – Oded

+0

¿Eso no depende mucho de la carga de trabajo y las consultas? Quizás incluso sea posible optimizar sus consultas actuales. Creo que PostgreSQL tiene un buen analizador de consultas. Más cajas podrían ser más baratas, pero la complejidad de la fragmentación tampoco debe subestimarse. – extraneon

Respuesta

12

IME no hay mucho entre los principales DBMS en cuanto al rendimiento que puede lograr al ajustar el rendimiento. No es solo mi experiencia Open Source PostgreSQL Trails Oracle In Benchmark, But Not By Much

No hay substición para encontrar problemas de rendimiento y solucionarlos tanto en términos de optimización del lado del cliente como de la base de datos.

+0

+1 para enfocarse en los problemas existentes en lugar de crear un montón de nuevos e interesantes. – APC

+0

Después de trabajar a tiempo completo con Oracle y Postgres y ejecutar cargas similares, si hay una diferencia, simplemente no parece mucha diferencia. +1 por no abrir un desastre completamente nuevo. – rfusca

+0

Tenga en cuenta que los resultados de referencia que Richard vinculó aquí utilizaron PostgreSQL 8.2; la versión 8.3 tuvo una ganancia de rendimiento muy grande en comparación con las versiones anteriores, en casi todos los sentidos. Oracle también puede haber mejorado algo, pero PostgreSQL es comúnmente 30 o 50% más rápido ahora que la versión 8.2. –

5

Creo que lo que estás sugiriendo es lógicamente equivalente a Things You Should Never Do, Part I. Este tipo de conversión es efectivamente una reescritura, y la conversión de una base de datos a otra (o de un idioma a otro, etc.) es una gran manera de matar una gran cantidad de tiempo y dinero que de otra manera se podría gastar en la mejora real de su producto. Una mejor opción, como lo dijo @Richard Harrison más arriba, sería dedicar un tiempo a resolver los problemas de rendimiento que lo llevan a considerar mudarse a Oracle. Como dijo Fred Brooks hace muchos años, hay No Silver Bullet.

Comparte y disfruta.

0

Voy a admitir desde el principio que estoy parcial, pero tengo que decirte PostgreSQL es un producto increíble! Admitiré que no tengo ninguna experiencia directa con Oracle, pero todo lo que he leído coloca a PostgreSQL dentro de un rango tan cercano que, incluso si es un poco más lento, no tengo ninguna duda de que gastar cualquier cantidad que pueda En cambio, gastar en licencias para Oracle en hardware o tiempo de desarrollo adicional (para mejorar el rendimiento) aún debería dejarlo a la vanguardia tanto en dólares como en rendimiento.

Por supuesto que estipulo como otros han dicho que esta es una pregunta que es demasiado subjetiva a menos que hablemos de una situación particular o un entorno instalado.

5

No sería una actualización para ir a Oracle. Solo una migración Si desea actualizar Postgresql, le sugiero encarecidamente que se mueva a Postgres Plus de EnterpriseDB. Han creado una versión compatible con Oracle de Postgres que ejecutará todo el código existente, cualquier nuevo código centrado en Oracle. Casi todas las características para las cuales alguien compraría rdms de Oracle están en él. También es muy rápido.

Si está celoso de RAC, no lo haga. RAC es muy costoso de mantener y no es realmente eficiente por cada nueva caja agregada. Puede obtener el rendimiento adicional sin el costo de postgres. Mire en PGPOOL como una solución para el crecimiento horizontal sin el costo.

Cuestiones relacionadas