MySQL vs SQL Server vs Oracle [cerrado]


Siempre he usado MySQL y ningún otro sistema de base de datos.

Una pregunta surgió en una reunión de la empresa hoy y me sentí avergonzado de no saber: Para un desarrollador, ¿qué funcionalidad conmovedora ofrecen MS u Oracle que MySQL carece y que permite a MS y Oracle cobrar por sus sistemas?

Author: skaffman, 2009-12-16

12 answers

Creo que otros comentaristas tienen razón al resaltar todas las habilidades adicionales de RDBMS no centrales que se incluyen con las soluciones comerciales.

Aquí hay una matriz de las ediciones y características de Oracle que valdría la pena navegar solo para comprender las características "adicionales", particularmente en el contexto de lo que costaría desarrollar y soportar su propia versión de ellas (si eso es posible) en un producto como MySQL: http://www.oracle.com/us/products/database/product-editions-066501.html

Por ejemplo, si tuviera un requisito que dijera: "Los usuarios podrán recuperar cualquier versión anterior de datos que hayan eliminado/actualizado hasta una semana después de que se hayan confirmado los cambios", eso implica una cierta sobrecarga de desarrollo que creo que sería mucho mayor en un sistema que no tenía una función incorporada como la consulta Flashback de Oracle.

 36
Author: David Aldridge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-27 08:58:01

Las capas RDBMS puras de Oracle y MSSQL ofrecen principalmente un entorno programable más maduro que MySQL e InnoDB. T-SQL y PL / SQL aún no pueden ser emparejados por los procedimientos y disparadores almacenados de MySQL.

Las otras diferencias son sintácticas y ligeras diferencias semánticas que hacen las cosas más fáciles o más difíciles (como top 500 versus límite/desplazamiento).

Pero el verdadero asesino es que hay un montón de herramientas y servicios integrados en la parte superior de las capas RDBMS de MSSQL (Informes Servicios, Servicios de Análisis) y Oracle (Data Warehousing, RAC) que MySQL no tiene (todavía).

 22
Author: Vinko Vrsalovic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-04 22:54:41

MySQL no es gratis!

Se entiende ampliamente que es libre, pero usted está vendiendo o distribuyendo paquetes de software que incorporan MySQL, lleva restricciones bastante severas. En estos casos, es gratuito solo para proyectos de Código Abierto u organizaciones sin fines de lucro. Si puede lograr separar completamente la base de datos y los controladores del resto de su aplicación, y obligar a su cliente a descargar e instalar MySQL por su cuenta, probablemente esté bien.

De lo contrario, se cuesta 2 2,000 / año para la edición "estándar", que es aproximadamente comparable al costo de licenciar SQL Server.

Ambas son muy buenas bases de datos, pero entre las ventajas de SQL Server están:

  • Un lenguaje de procedimiento rico y expresivo (T-SQL)
  • Un mejor optimizador de consultas y un mejor rendimiento en entornos de escritura intensiva
  • Un sólido conjunto de herramientas y capacidades auxiliares, incluido un entorno de programación, una herramienta ETL( SSIS), modelado dimensional (SSAS), un entorno de informes (SSRS) y un programador de tareas razonablemente sofisticado.
  • Depuración interactiva de procedimientos almacenados y UDFs.
  • Una herramienta de administración basada en ventanas relativamente fácil de usar que le permite hacer la mayoría de las tareas de administración de una manera "clicky".

Muchas personas se oponen ideológicamente al uso de herramientas de Microsoft, o a estar encerradas en un entorno Windows, y puedo entenderlo. Pero MySQL NO es gratuito para uso empresarial, y eso no parece para ser ampliamente entendida.

Para revisar la política de licencias de MySQL, échale un vistazo a su sitio web: http://www.mysql.com/about/legal/licensing/index.html

 13
Author: Curt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-09 23:38:45

Algunas otras cosas que oracle tiene sobre mysql.

  • Colas
  • programación interna de trabajos
  • lenguaje maduro de procedimientos almacenados
  • mesas paticionadas
  • control de acceso y auditoría de grano fino
  • características de recuperación fuertes (por ejemplo, flashback, rman, dataguard)
  • enlaces a bases de datos remotas
  • application express
 9
Author: Matthew Watson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 11:39:15

Hasta que administré RDBSes de otros proveedores Oracle a menudo repetía: "los lectores no bloquean a los escritores, los escritores no bloquean a los lectores. Realmente no sabía mucho sobre el manejo de problemas de bloqueo en 8 años como Oracle DBA. 2 años de Informix y 3 o SQL Server y confía en mí sé mucho más sobre el bloqueo.

Así que diría que, además de los comentarios sobre el soporte y las características que no son RDBMS, agregue un comportamiento de bloqueo.

 8
Author: Karl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-18 04:05:00

Hay demasiadas funcionalidades para enumerarlas. Ver referencia de Wikipedia en el mensaje de nullptr. Pero supongo que la pregunta que realmente se hace en la reunión es " Para un desarrollador, ¿qué funcionalidad temblorosa ofrecen MS u Oracle que MySQL se queda en la que permite a MS y Oracle cobrar por sus sistemas y que puede ser utilizado eficazmente por nuestra empresa?"

Todas las ventajas son realmente ventajas si se combinan con sus necesidades ...

 5
Author: ThinkJet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 11:45:18

Oracle clústeres de tabla y clústeres hash de tabla única (que tampoco encontrará en SQL Server).

 5
Author: Nils Weinander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 12:17:31

NOTA: No puedo decir nada sobre Oracle, así que responderé solo para SQL Server.

Bueno, por supuesto pequeñas diferencias en el motor de base de datos, como la instrucción MERGE, BULK INSERT, conjuntos DE AGRUPACIÓN, etc.

Pero creo que la mayor parte son cosas como Servicios de Integración, Servicios de Análisis y Servicios de Informes. Esas son tecnologías importantes que, en mi opinión, valen absolutamente el dinero que cuestan.

 4
Author: Maximilian Mayerl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 10:02:29

MySQL no ofrecía el entorno de programación más rico que Oracle y MSSQL ofrecían, especialmente en encarnaciones tempranas, cuando ni siquiera tenía Procedimientos Almacenados. Desde mi perspectiva tiendo a poner la mayor parte de mi lógica de negocio en la aplicación, a través de DAO o mapeadores OR, etc. Por lo tanto, el motor de base de datos debajo es menos importante y en teoría la aplicación es transportable. Desde una perspectiva de gestión MSSQL ofrece una serie de beneficios (muchos ya enumerados) que hacen que la tarea de poseer la base de datos mucho más fácil. Microsoft también proporciona el excelente y ligero SQLExpress para el desarrollo, que he encontrado fácil de trabajar con y se integra muy bien en Visual Studio.

 4
Author: Andy Monis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 12:02:14

Inspirado por la respuesta de ThinkJet, creo que otro factor que entra en juego es: "¿Hasta qué punto estamos dispuestos a renunciar a la independencia de la base de datos para proporcionar un desarrollo más rápido y más barato de aplicaciones de mayor rendimiento?"Si el énfasis de la compañía es que todo el código debe ser portátil entre bases de datos, entonces no tiene sentido usar nada más que los RDBMS más simples, y las mejoras y ventajas que Oracle y Microsoft han proporcionado cuentan Nada.

Se necesita muy poco para romper la verdadera independencia de la base de datos, y mi filosofía es que debe lanzarse de todo corazón a aprovechar todas las características que ha pagado enhancements mejoras SQL, PL/SQL, etc..

Otros pueden diferir, por supuesto.

 3
Author: David Aldridge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 15:58:15

Creo que la pregunta tiene la suposición implícita de que son las características de desarrollo las que permiten cargar SQL Server/Oracle. Sospecho que es más la aplicación / apoyo.

La copia de seguridad en caliente es una característica importante que vale la pena pagar, al menos para la mayoría de las instalaciones.

Para Oracle, un gran valor añadido es RAC: varios servidores golpean los mismos datos (es decir, los mismos discos) sin ninguna replicación complicada. (generalmente) no es evidente para el desarrollador.

 3
Author: Gary Myers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 22:15:19

Algunas características de Oracle que realmente me gustan son

  • Clústeres de aplicaciones reales, una forma bastante poderosa de hacer clústeres de bases de datos
  • Vistas materializadas rápidamente actualizables, una forma muy eficiente de almacenar y actualizar los resultados de las consultas
  • Funciones analíticas (también conocidas como funciones de ventana) que permiten agrupar funciones en un subconjunto de los resultados de la consulta de una manera eficiente. Esto puede evitar auto-joins en la mayoría de los casos.

Por lo que yo sé, ninguno de estos está disponible en MySQL. Y hay muchas más características útiles, especialmente en la edición enterprise y sus opciones.

 1
Author: Karl Bartel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-16 10:11:26