Me he permitido compilar esta pequeña comparación entre esos dos gestores de bases de datos, he elegido esos dos por que de alguna manera son los mas distribuidos por la red, también una de las razones ha sido absolver las dudas que frecuentemente se presentan a la hora de desarrollar aplicaciones con acceso a base de datos.
De ambas partes podemos leer mucho en favor de ellos mismos, pero esta comparación esta resumida en puntos que nos interesan a los desarrolladores, podría decir que es una comparación imparcial.
Importante: Ambos gestores son totalmente diferentes entre si tanto en arquitectura, forma almacenar los archivos, etc., todo es diferente en cada uno. Éste artículo se enfoca en características fuera del ámbito de los internals que tienen que ver más con puntos de propósito general para el usuario final (nosotros).
MySQL
Sin lugar a dudas MySQL es uno de los gestores de base de datos mas populares de la red. Sin embargo desde sus inicios su objetivo ha sido ser el gestor de base de datos libre mas rápido posible pero sacrificando muchas características como el ser compatible con ACID, tener procedimientos almacenados y otras características que los desarrolladores agradecemos mucho (por que ahorran cientos de lineas de código).
Una de las razones por la que MySQL es permanentemente comparado frente a SQL Server es por que ambos son populares en la misma plataforma (ver siguiente gráfico). También debo resaltar que MySQL tiene herramientas mejoradas principalmente para Windows, muchas están disponibles también para Linux pero no siempre están actualizadas o tienen las mismas prestaciones.
SQL Server
Microsoft ha desarrollado este gestor de base de datos que soporta y es compatible con casi todo, por el mismo hecho de que fue concebida para venderse y ganar dinero a diferencia de MySQL. SQL Server no tiene mucho en contra salvo el precio, pero para combatir la popularidad de MySQL hace algunos años también tiene una versión libre y redistribuible incluso en aplicaciones comerciales (bajo algunas condiciones que no tienen que ver necesariamente con el precio).
La tabla comparativa
He aquí la tabla comparativa, si hacemos una comparación punto por punto la tabla sería de varias paginas es por eso que he obviado a propósito algunos puntos. Si tienen alguna sugerencia importante para agregar a esta tabla por favor hagan saber en los comentarios más abajo.
Característica | MySQL | SQL Server Express | SQL Server |
---|---|---|---|
Costo | Libre y suscripción con soporte | Libre con limitaciones | De pago |
Open Source | Si | No | No |
Plataformas | Linux, Windows y muchas otras | Sólo Windows | Sólo Windows |
Limite de tamaño de la base de datos | Limitado por el sistema operativo | 10Gb | Limitado por el sistema operativo |
Compatibilidad ACID | Depende del motor de almacenamiento | Si | Si |
Transacciones | Si | Si | Si |
Servicio de reportes | No | Si | Si |
Posibilidad de elegir diferentes formas de almacenamiento | Si | No | No |
Claves Foráneas (Foreign Keys) | Depende del motor | Si | Si |
Vistas | Si | Si | Si |
Procedimientos almacenados | Si | Si | Si |
Triggers | Si | Si | Si |
Cursores | Si | Si | Si |
Sub consultas | Si | Si | Si |
Replicación | Si | Limitado | Si |
Funciones definidas por el usuario (UDF) | Si | Si | Si |
Creo que esta todo lo que necesitamos saber. Hay otros detalles mas avanzados en los que cada uno tiene lo suyo, MySQL ha evolucionado mucho, ha recorrido un largo camino para llegar a donde está. Esperemos que Oracle continúe con este proyecto y no lo deje aislado.
He aquí una gráfica que muestra la evolución de uso de cada uno de los gestores.
Espero sus comentarios.
SQL Server ya es compatible para linux
El lenguaje es el mismo entre mysql y sql server? Una linea de codigo que uso en uno se puede usar en el otro? Gracias.
Hay algunas similitudes que van con los estándares de SQL, pero en sí la sintaxis difiere mucho, por ejemplo:
Puedes ejecutar la siguiente consulta en ambos:
select campo1,campo2 from tabla;
Pero si quieres los primeros 10: SQL Server
select top 10 campo1,campo2 from tabla;
MySQL:select campo1,campo2 from tabla limit 10;
Buen aporte. muchas gracias por compartirlo. Saludos
en cuanto a uso veo muchas similitudes, pero en algo q veo q SQL es superior es en el tema de los respaldos, la facilidad y velocidad de respaldo/restauración es significativa con respecto a MySql con su forma de hacerlo.
Hola.. en la actualidad existe SQL Server Express y funciona muy bien.. yo tengo una base de datos con 11 millones de registros en una maquina virtual con 4 gb de ram y 2 nucleos xeon
hola ,estoy haciendo un sistema web service con JSON en android,mysql y php , tengo la idea de utilizar asp.net pero estoy notando que tengo que cambiar todo el esquema de ambos lados , la idea es tener un buen rendimiento , mysql ahora maria db , ha cambiado mucho al ser mas optimo , pero claro mi idea con asp.net y sqlserver es tener un sistema distribuido en diferente nodos
Me parece interesante, pero por ejemplo yo se que SQL Server maneja Transact-SQL pero y MySQL que maneja?
T-SQL es solamente el nombre del grupo de sentencias soportadas por SQL Server, básicamente es un super-lenguaje que contiene al SQL.
Pasa lo mismo con MySQL, pero no tiene nombre específico, algunos simplemente lo nombran como MySQL procedural language, pienso que lo correcto es nombrarlo como MySQL Stored Procedures
hola , ing , entonces se puede confiar para entorno laboral mysql , hablamos de un trabajo continuo de mas de 9 horas y claro mucha demanda
Excelente comparación!
este ranking de donde extraes, podrias adicionar si se puede hacer ETL con MYSQL?
Gracias Iván por la información!, se aprecia el contenido, es claro y didáctico =)
Gracias por hacer las aportaciones de los Servers. He obenido u enriquecimiento de información.