¿Por qué usaría la base de datos Oracle? [cerrado]

97

Tengo curiosidad por las razones técnicas por las que elige la base de datos Oracle frente a las últimas versiones de:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL

Qué características o funcionalidades justifican el costo adicional. Me interesan los argumentos técnicos, no una guerra religiosa. Un amigo me preguntó esto y siempre he usado uno de los 3 que enumeré. No sabía lo suficiente sobre las bases de datos Oracle para dar una opinión.

Gracias.

BuddyJoe
fuente

Respuestas:

48

Nadie parece hablar sobre el costo del tiempo de los desarrolladores trabajando con Oracle. La mayoría de los desarrolladores que conocen cualquier otra base de datos odian a Oracle, aquellos que no asumen que todo el código de base de datos y / o las herramientas de ORM son difíciles de usar.

Si comencé un negocio que creía que iba a escalar a las proporciones de Amazon, podría considerar las soluciones NoSQL; de lo contrario, elegiría PostgreSQL, SQL Server (o incluso Sybase ahora) en lugar de Oracle cada vez. Digo esto después de haber trabajado (como desarrollador) con Oracle durante 2 años, ¡es terrible trabajar con él!

usuario1016765
fuente
3
¡Estoy en desacuerdo! Oracle es definitivamente una de las mejores implementaciones de RDBMS. Administra la memoria de manera muy eficiente y puede manejar operaciones complejas de JOIN que paralizan fácilmente MySQL y MsSQL. Oracle tiene una gran arquitectura, lo hace sólido como una roca porque es muy fácil organizar muy bien los datos de diferentes aplicaciones. Creo que la mejor ventaja para mí es el motor SQL que posee Oracle, es muy avanzado, ¡lo que la convierte en la única base de datos que opera un almacén de datos! Ejecutar consultas complejas en Oracle es simplemente fácil. Otras características como Vistas materializadas, PL / SQL, etc. hacen que Oracle tenga una buena relación calidad-precio.
Muzaaya Joshua
7
También estoy de acuerdo: después de haber trabajado con Oracle 11gR2 y SQL Server 2008 R2 durante los últimos años, es absolutamente ridículo cuántas veces me he encontrado con el modelo de seguridad roto de Oracle, las herramientas de ajuste de rendimiento poco intuitivas y el optimizador meticuloso. Cualquier ahorro que obtenga al renunciar a una licencia de servidor MS Win se verá inmediatamente consumido por la pérdida de productividad.
engil
3
Como usuario principal de SQL Server y he desarrollado una base de datos utilizando Oracle: Oracle es una molestia en el a * se. Como mencionó @Jasmine, está tan limitado a lo que puedes hacer. Odio especialmente cómo funcionan las variables y el hecho de que tienes que crear desencadenadores y secuencias para incrementar automáticamente las ID. SQL Server es la definición de cómo debería funcionar una base de datos. Diablos, incluso MySQL es mejor que Oracle. Por supuesto, ambas bases de datos tienen sus limitaciones, pero nada comparado con lo que tiene Oracle.
RoyalSwish
4
Además, PLSQL es torpe y molesto.
RoyalSwish
1
Oracle tiene soporte de fragmentación limitado, soporte de escalamiento limitado, funciones de administración limitadas, ayuda de soporte limitado, soporte de agrupación en clúster algo limitado (sin envío de registros maestro-maestro) y mucho bloqueo de proveedores. Actualmente están intentando ponerse al día, pero nunca había visto tantos errores. He trabajado con varias versiones alfa, beta y sistemas declarados no aptos e inestables. Todavía nunca he visto tantos errores claros que deberían haber sido obvios antes del lanzamiento o, a veces, incluso antes de la compilación.
jbo5112
32

Solo Oracle y SQLServer de Microsoft son de código cerrado, y cuando algo sale mal y tiene un problema, la respuesta es solo una llamada telefónica (y en efectivo, si es así). De todos modos, MySQL y PostGre tienen varios servicios de consultoría empresarial, pero al final estos consultores no son realmente responsables del producto, porque el producto es de todos. Lo cual es genial porque puede entrar y corregir el código si es bueno con C y con una programación de nivel relativamente bajo, pero si no encuentra la solución, podría convertirse en una búsqueda inútil.

Ahora que no todo el mundo tiene la habilidad suficiente, y las empresas con dinero prefieren la seguridad (en el sentido comercial) de las bases de datos de código cerrado, es la razón por la que estas soluciones no han cerrado, además del hecho de que sus implementaciones son sólidas. y vale la pena el dinero si lo tienes.

Ok, finalmente, la diferencia más importante es entre SQLServer y Oracle y esa diferencia es el sistema operativo, la mayoría de las personas que usan Windows se quedarán, lo adivinó, SQLServer, pero si se ejecuta en versiones de Unix, Oracle es su solución de código cerrado. De todos modos, uso Oracle en Solaris, pero si nuestro objetivo fuera Windows, probablemente usaría SQLServer porque ambos productos son sólidos como una roca, pero confío en que Microsoft tiene algunos trucos especiales bajo el capó para obtener el mejor rendimiento en Windows.

Robert Gould
fuente
6
+1. Buena respuesta. Siempre trabajé con el lema "Me gusta lo mejor de la raza, pero lo gratis es genial". Siempre trato de encontrar un equilibrio al elegir una solución. Para mi trabajo diario utilizo SQL Server. En mis propias cosas MySQL ahora mismo.
BuddyJoe
3

La verdadera pregunta es qué tipo de aplicación se utilizará para hacer uso de un RDMS. Ciertamente no necesitas Oracle para tu blog de wordpress o clon de twitter. Pero si desea hacer una gran inteligencia empresarial, Oracle podría tener algunas características que pueden ayudar a hacerlo de manera más eficiente que las demás.

Ms sql server también es muy bueno, tiene toneladas de características. Si está interesado en Linux y necesita una base de datos con las características que ofrece ms sql, entonces Oracle sería una buena elección.

TomHastjarjanto
fuente
3

Sólo para nombrar unos pocos:

  • Oracle Real Application Cluster: proporciona funciones avanzadas de agrupación en clústeres
  • Oracle Data Guard : en resumen, proporciona funciones de reserva físicas y lógicas.
  • Oracle Exadata: implementa el almacenamiento consciente de la base de datos (que puede realizar filtrado de predicados, filtrado de proyección de columnas, procesamiento de uniones, acelera la creación de espacios de tabla). La solución viene con servidores HP, garantía completa 24/7 y otras cosas interesantes. Es bastante bueno para aplicaciones con una carga de datos muy intensiva (por ejemplo, gracias a la creación de espacios de tabla independientes).
  • Virtualización de Oracle

Y por supuesto la magia de la marca;)

¿Y cuando se trata de elegir RDBMS? Por lo general, la elección es bastante obvia: Oracle o el resto del mundo. Después de eso, puede limitar la elección por:

  • plataforma (solo para Windows o no)
  • peso (sqlite, MySQL, PostgreSQL, ...)
  • presupuesto (costo inicial de licencia, costo de mantenimiento + soporte)
  • perspectivas de evolución, por ejemplo:
    • Oracle Express -> Oracle
    • SQL Server Express -> MSSQL
  • perspectivas comerciales: "producto seguro y bien conocido" o producto de código abierto (tenga en cuenta la cita alrededor de la primera frase). Otras publicaciones tienden a profundizar en este aspecto.
Anónimo
fuente
14
Sería bueno si pudiera agregar un poco sobre lo que hacen estas características ... para aquellos de nosotros que no lo sabemos, simplemente suena como un bingo de palabras de moda. ;)
Nik Reiman
6
No solo eso, sino que muchas de estas cosas no son necesarias para las pequeñas y medianas empresas, y ciertamente no justifican (para ellas) el gran costo.
Dave Markle
1
Pagas por lo que usas ... Los ejemplos que di son interesantes para organizaciones bastante grandes. Y como dije, la primera opción suele ser decidir si optar por Oracle u otra cosa.
Anónimo
Oracle RAC no es un clúster avanzado (y no lo era en 2009), es un clúster llave en mano. Debido a que requiere almacenamiento compartido, no escalará IO. No escalaría a niveles de nube en 2009, y en la última década, las cosas solo han empeorado para Oracle.
jbo5112
3

Creo que es porque Oracle fue el primer RDMS que admitió la " fragmentación "

iChaib
fuente
2
-1 ¿Qué significa esto? * Se necesita una cita. * Existen varios métodos para implementar la fragmentación, que incluyen, entre otros, la implementación de la fragmentación en la capa de aplicación.
Jeeyoung Kim
Oracle no tuvo fragmentación nativa hasta 12.2 (2016/2017). IIRC, MySQL los venció por más de una década (diferentes motores de almacenamiento).
jbo5112
1

Los costos de SQL Server y Oracle no están tan separados, ya lo sabe.

De hecho, para sistemas pequeños, el costo de Oracle vs Your Favorite Free Database es entre cero (Oracle Express Edition) y no muy grande (procesador de $ 5,800 perpetuo para Standard Edition One).

Aquí hay un enlace a las capacidades de las distintas ediciones en 11g: http://www.oracle.com/database/product_editions.html .

Los precios de lista están disponibles para todos los territorios en http://store.oracle.com ; normalmente, las grandes empresas no pagan al por menor, por supuesto;)

David Aldridge
fuente
2
los costos de PostgreSQL / MySQL y Oracle son sin embargo ... (no es que yo estoy por cualquiera de aquellos especialmente)
annakata
+1 David, ¿puedes ampliar tu respuesta para incluir quizás algunas de las limitaciones de la Express Edition?
BuddyJoe
@ annakata - XE es gratis. SE1 es muy barato.
David Aldridge
2
Las limitaciones principales de Express (XE) son 4 GB de datos, 1 GB de RAM, 1 CPU.
Gary Myers
4
Esto no representa el costo mucho más alto de mantener una instalación de base de datos de Oracle en comparación con MSSQL o sus otros competidores.
Monty Wild