Pregunta

He trabajado en una variedad de sistemas como programador, algunos con Oracle, otros con MySQL.Sigo escuchando a gente decir que Oracle es más estable, más robusto y más seguro.¿Es este el caso?

Si es así, ¿de qué manera y por qué?

A los efectos de esta pregunta, considere una base de datos de producción pequeña o mediana, quizás unos 500.000 registros.

¿Fue útil?

Solución

Sí.Oracle es un software de nivel empresarial.

No estoy seguro de si realmente es más estable que MySQL, no he usado mucho MySQL, pero nunca recuerdo haber tenido un error de MySQL.He tenido una falla de Oracle, pero cuando ocurre, me brinda más información sobre por qué falló de la que podría desear, y el soporte de Oracle siempre está ahí para ayudar (por una tarifa).

Es muy, muy robusto, Oracle DB hará prácticamente todo lo que pueda antes de romper sus datos, he tenido servidores MySQL que hacen cosas realmente raras cuando se quedan sin espacio en disco, Oracle simplemente detendrá todas las transacciones y eventualmente se apagará si puede. No escriba los archivos que necesita.Nunca he perdido datos en Oracle, incluso cuando hago cosas estúpidas como olvidar la cláusula dónde y actualizar cada fila en lugar de una sola, es muy fácil hacer que la base de datos vuelva a ser como estaba antes de estropearla.

No estoy seguro de la seguridad, ciertamente Oracle le ofrece muchas opciones sobre cómo conectarse a la base de datos y autenticarse.Ofrece muchas opciones sobre qué usuarios tienen acceso a qué, etc.Pero como ocurre con la mayoría de las cosas, si desea tomarse la seguridad en serio, necesita que un experto lo haga.Oracle ciertamente tiene mucho más que perder si no logran la seguridad adecuada.Pero, como ocurre con todo, ha habido hazañas.

Al menos, considere esto...Cuando Oracle se llena, tienen clientes que pagan $ 40 mil por licencia de CPU (si son tontos y pagan el precio de lista) + tarifas de mantenimiento anuales.Esto les da un intenso trabajo para asegurarse de que los clientes estén contentos con el producto.

Para una base de datos pequeña, recomendaría seriamente Oracle XE mucho antes que MySQL.Tiene las características importantes de mysql (Gratis), es muy fácil de instalar, viene con una buena interfaz web y un marco de aplicación (Application Express), si su base de datos se ejecutará en una sola CPU, 1 GB de RAM y 4 GB de datos, entonces XE es el camino a seguir en mi humilde opinión.

Mysql tiene sus usos, muchas personas han demostrado que se pueden crear grandes cosas con él, pero está muy por detrás de Oracle (y SQL Server y DB2) en términos de características...Pero también es gratis y muy fácil de aprender, lo que para muchas personas es la característica más importante.

Otros consejos

Hice que Oracle creara una base de datos corrupta cuando el disco se quedó sin espacio.Es difícil de depurar, utiliza muchos recursos y es difícil trabajar con él sin que un DBA seriamente capacitado lo tome de la mano.Oracle incluso reemplazó los binarios del sistema (p. ej.gcc) en /usr/bin/ cuando lo instalé en una ocasión.

Trabajar con PostgreSQL, por otro lado, ha sido mucho más agradable.Proporciona mensajes de error legibles y actúa de una manera más comprensible si está acostumbrado a trabajar con sistemas *nix de código abierto.Es bastante fácil configurar la replicación, lo que hace que sus datos estén bastante seguros.

Probablemente se pueda ejecutar una base de datos de registros de 500.000 en su teléfono móvil.En serio, es tan pequeño que tanto Oracle XE como MySQL serán más que suficientes para gestionarlo.

  • para bases de datos pequeñas (unos pocos millones de registros), Oracle es excesivo
  • necesita un DBA experimentado para instalar y administrar adecuadamente un sistema Oracle
  • Oracle tiene un "gasto general base" mayor, es decirnecesitas una máquina más robusta para ejecutar Oracle
  • la experiencia "lista para usar" de Oracle solía ser atroz (no he instalado un sistema Oracle en años;No tengo idea de cómo se comporta actualmente), mientras que MySQL es muy bueno.

Oracle es una bestia que realmente necesita conocimientos de DBA.Estoy de acuerdo con quienes dicen que los discos de 500.000 no son nada.No vale la pena la complejidad de Oracle si se trata de datos numéricos/de texto simples.

Por otro lado, Oracle es extremadamente eficiente con los blobs.Si cada uno de sus registros fuera un archivo binario de 100 MB, necesitaría una fortuna para ejecutarlo en Oracle (recomendaría un clúster RAC de 3 nodos con una buena SAN).

Tengo un proyecto que envía datos (~10 millones de filas, 1,2 GB de datos) a tres bases de datos diferentes, 2 Oracle y 1 MySQL.No he tenido problemas trabajando con ninguno de los sistemas, ni he visto ventajas importantes en ninguno de los lados.Si se encuentra en un lugar que ya utiliza Oracle para otros proyectos, agregar una nueva base de datos no debería ser un gran problema, pero si está pensando en configurar un nuevo servidor de base de datos y no tiene nada en lugar ya, MySQL le ahorrará dinero.

Oracle Enterprise supone que existe una empresa que lo respalda, es decir, un DBA de Oracle real.Un DBA novato (pero competente) debería poder proteger MySQL mucho más fácilmente que Oracle, simplemente porque Oracle es inherentemente más complejo.Por supuesto, Oracle tiene herramientas de monitoreo empresarial más allá de las que MySQL presenta actualmente (hasta donde he visto), pero el DBA debe poder usarlas para que sean efectivas.

Una base de datos tan pequeña como la que usted describe podría ser manejada por casi cualquier cosa, por lo que no veo que Oracle esté justificado a menos que la infraestructura ya esté implementada.Ambos tienen replicación, transacciones y copias de seguridad en caliente, por lo que cualquiera de los dos funcionaría bien.

La respuesta depende enteramente sobre cómo configurar cada DBMS.Ambos son capaces de manejar 500.000 registros muchas veces.

Oracle es mucho más robusto.Muchas de sus características sólo se buscarían en una empresa más grande o en un entorno de alto rendimiento.Son principalmente características relacionadas con el escalado, la replicación y el equilibrio de carga.

Para bases de datos pequeñas, considere SQLite.Para empresas pequeñas y medianas, mire MySQL o PostgreSQL.Para los más grandes, mire MSSQL, Oracle, DB2, etc.

Editar:Habiendo leído la otra respuesta, agregaré que si sus datos son realmente, en realidad crítico, querrá una configuración replicada y probablemente querrá buscar en uno de los grandes proveedores de bases de datos algo así.

Si puedes sacrificar el potencial (extremadamente raro) pérdidas de datos y preferiría un rendimiento mejorado, mire algunas de las opciones más livianas.

Es cierto que Oracle es una bestia.

También es cierto que Oracle es ampliamente considerada la base de datos principal más segura.

El problema es que los desarrolladores de Oracle no parecen comprender los conceptos críticos de seguridad.Oracle es el servidor de bases de datos menos seguro del mercado (según investigadores de seguridad independientes)

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database-since-2002/

MySQL es en realidad bastante seguro según estos investigadores.No sé mucho sobre las herramientas disponibles para ello.Lo más divertido de esta investigación es que a las mismas personas que llamarían juguete al servidor Microsoft SQL les robarían sus datos atacantes que MSSQL frustraría porque están usando una bestia que tiene un modelo de seguridad terrible en lugar de un "juguete" que es seguro.

Estoy usando Oracle/SQL Server/MySql para diferentes aplicaciones y sitios.

Ninguna base de datos puede superar a Oracle en muchas áreas diferentes, pero es la base de datos que requiere un conocimiento profundo para la administración.

y si encontró un problema con Oracle, es posible que dedique algunas veces a resolverlo incluso con buenos administradores de bases de datos.

Puede utilizar MySql para 500 000 millones de registros, es más liviano que otras bases de datos, no requiere trabajo de administración y no consumirá muchos recursos de su computadora. Siempre lo tengo en mi PC de desarrollo y nunca me había enfrentado a ninguno. problema grave con ello.

Le pediría que utilice MySql o PostgreSQL si no necesita las funciones avanzadas de Oracle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top