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?
Respuesta
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.
+1 para enfocarse en los problemas existentes en lugar de crear un montón de nuevos e interesantes. – APC
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
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. –
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.
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.
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.
- 1. ¿Cuán grande es la brecha de rendimiento entre std :: sort y std :: stable_sort en la práctica?
- 2. ¿Cuán grande es la diferencia de velocidad entre XPathNavigator y XmlReader, realmente?
- 3. ¿Cuán flexible es Oracle ADF?
- 4. ¿Cuál es la diferencia de rendimiento entre HttpModule y Global.aspx?
- 5. ¿Cuán bueno es el soporte de Rails y PostgreSQL?
- 6. Diferencia de rendimiento entre IIf() y Si
- 7. Diferencia entre SQL Server y Oracle 'Usuario'
- 8. ¿Cuán diferente es la semántica entre Python y JavaScript?
- 9. ¿Cuál es la diferencia entre una combinación hash y una combinación merge (RDBMS de Oracle)?
- 10. Diferencia de rendimiento entre VARCHAR2 a NUMBER
- 11. ¿Diferencia entre la integración de WebLogic y Oracle Service Bus?
- 12. ¿Cuál es la diferencia entre Cassandra vs Oracle Coherence?
- 13. Diferencia entre rendimiento en Python y rendimiento en C#
- 14. ¿Cuál es la diferencia entre "||" operador y función concat en Oracle?
- 15. ¿Cuál es la diferencia de rendimiento entre fetchall_hashref y fetchall_arrayref de DBI?
- 16. Oracle SQL Developer y PostgreSQL
- 17. ¿Hay alguna diferencia entre "! =" Y "<>" en Oracle Sql?
- 18. Diferencia entre DECIMAL y NUMERIC
- 19. ¿Cuál es la diferencia entre "commit" y "commit work"?
- 20. Cuál es la diferencia entre TopLink Essentials y EclipseLink
- 21. ¿cuál es la diferencia entre el tipo de datos decimal y numérico en postgresql
- 22. ¿Cuál es la diferencia entre los métodos de índice B-Tree y GiST (en PostgreSQL)?
- 23. ¿Cuál es la diferencia entre ADF y JSF?
- 24. ¿Cuál es la diferencia entre 'no en' y 'no existe'?
- 25. ¿Cuál es la diferencia entre dict() y {}?
- 26. Cuál es la diferencia entre = y: =
- 27. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 28. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 29. ¿cuál es la diferencia entre:.! y: r !?
- 30. ¿Cuál es la diferencia entre ".equals" y "=="?
Imagino que el postgres sería más barato. – miku
¿Cuánto dura un trozo de cuerda? Hay tantos factores involucrados que no hay una respuesta correcta aquí. – Oded
¿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