Siempre he usado MySQL y ningún otro sistema de base de datos.
Hoy surgió una pregunta en una reunión de la empresa y me sentí avergonzado de no saber: Para un desarrollador, ¿qué funcionalidad revolucionaria ofrecen MS u Oracle que MySQL carece y que permite a MS y Oracle cobrar por sus sistemas?
mysql
sql-server
oracle
Kshitij Saxena -KJ-
fuente
fuente
Respuestas:
Creo que otros comentaristas tienen razón al destacar todas las capacidades adicionales de RDBMS no centrales que se incluyen con las soluciones comerciales.
Aquí hay una matriz de ediciones y características de Oracle que valdría la pena explorar solo para comprender las características "adicionales", particularmente en el contexto de lo que costaría desarrollar y respaldar 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 tenía un requisito que decía: "Los usuarios podrán recuperar las versiones anteriores de los datos que hayan eliminado / actualizado hasta una semana después de que se hayan confirmado los cambios", entonces eso implica una cierta sobrecarga de desarrollo que creo sería mucho más alto en un sistema que no tuviera una función incorporada como Flashback Query de Oracle.
fuente
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 igualados por procedimientos almacenados y disparadores de MySQL.
Las otras diferencias son diferencias sintácticas y semánticas leves que hacen las cosas más fáciles o más difíciles (como top 500 versus límite / compensación).
Pero el verdadero asesino es que hay un montón de herramientas y servicios integrados además de las capas RDBMS de MSSQL (Reporting Services, Analysis Services) y Oracle (Data Warehousing, RAC) que MySQL no tiene (todavía).
fuente
¡MySQL no es gratis!
Se entiende ampliamente que es gratis, pero usted vende o distribuye paquetes de software que incorporan MySQL, tiene restricciones bastante severas. En estos casos, es gratuito solo para proyectos de código abierto u organizaciones sin fines de lucro. Si puede 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, cuesta $ 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 se encuentran:
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 comercial, y eso no parece entenderse ampliamente.
Para revisar la política de licencias de MySQL, échale un vistazo en su sitio web: http://www.mysql.com/about/legal/licensing/index.html
fuente
Algunas otras cosas que Oracle tiene sobre mysql.
fuente
Hasta que administré RDBS de otros proveedores, Oracle solía repetir "los lectores no bloquean a los escritores, los escritores no bloquean a los lectores" significaba poco para mí. Realmente no sabía mucho sobre cómo manejar problemas de bloqueo en 8 años como DBA de Oracle. años de Informix y 3 o SQL Server y créame, sé mucho más sobre bloqueo.
Así que diría que, además de los comentarios sobre el soporte y las funciones que no son RDBMS, agregue el comportamiento de bloqueo.
fuente
Hay demasiadas funciones para enumerarlas. Consulte la referencia de Wikipedia en el mensaje de nullptr. Pero supongo que la pregunta que se hace en la reunión es: "Para un desarrollador, ¿qué funcionalidad trascendental ofrecen MS u Oracle que MySQL se retrasa y que permite a MS y Oracle cobrar por sus sistemas y que nuestra empresa puede utilizar de manera eficaz? ?"
Todas las ventajas son realmente ventajas si se combinan con sus necesidades ...
fuente
Clústeres de tablas de Oracle y clústeres de hash de una sola tabla (que tampoco encontrará en SQL Server).
fuente
NOTA: No puedo decir nada sobre Oracle, por lo que responderé solo para SQL Server.
Bueno, por supuesto, diferencias menores en el motor de la base de datos, como la declaración MERGE, BULK INSERT, GROUPING SETs, etc.
Pero creo que la mayor parte son cosas como Integration Services, Analysis Services y Reporting Services. Esas son tecnologías importantes que, en mi opinión, valen absolutamente el dinero que cuestan.
fuente
MySQL no ofrecía el entorno de programación más rico que ofrecían Oracle y MSSQL, especialmente en las primeras encarnaciones, cuando ni siquiera tenía procedimientos almacenados. Desde mi perspectiva, tiendo a poner la mayor parte de mi lógica de negocios en la aplicación, a través de mapeadores DAO u ORM, etc. Por lo tanto, el motor de base de datos subyacente 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 facilitan mucho la tarea de poseer la base de datos. Microsoft también proporciona el excelente y ligero SQLExpress para el desarrollo, con el que he encontrado fácil de trabajar y se integra muy bien en Visual Studio.
fuente
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 económico 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 mucho sentido usar otra cosa que no sea el RDBMS más simple, y las mejoras y ventajas que Oracle y Microsoft han brindado no cuentan para nada.
Se necesita muy poco para romper la verdadera independencia de la base de datos, y mi filosofía es que debe dedicarse de todo corazón a aprovechar todas las funciones por las que ha pagado: mejoras de SQL, PL / SQL, etc.
Otros pueden diferir, por supuesto.
fuente
Creo que la pregunta tiene la suposición implícita de que son las características de desarrollo las que permiten que SQL Server / Oracle se cargue. Sospecho que es más la implementación / soporte.
La copia de seguridad en caliente es una característica importante por la que vale la pena pagar, al menos para la mayoría de las instalaciones.
Para Oracle, un gran valor agregado es RAC: múltiples servidores que golpean los mismos datos (es decir, los mismos discos) sin ninguna replicación complicada. (Generalmente) no es evidente para el desarrollador.
fuente
Algunas características de Oracle que realmente me gustan son
Hasta donde yo sé, ninguno de estos está disponible en MySQL. Y hay muchas más funciones útiles, especialmente en la edición empresarial y sus opciones.
fuente