PostgreSQL vs SQLserver ¿cual es mejor?

Este es un articulo muy interesante sobre  PostgreSQL vs SQLserver que compara ambos motores de base de datos relacionales desde varias puntos de diferentes. Tratare de resumir (y traducir)  los puntos mas relevantes de dicha comparación.  http://www.pg-versus-ms.com/

 

Facilidad de uso

Cualquier analizador de datos puede hacer lo que otro analizador puede hacer. El “puedo hacer X en la plataforma A y no puedo hacer X en la plataforma B” no existe como tal, puedo hacer lo mismo en la base de datos  postgresql y en mssql. Ambas cumplen bien las reglas de álgebra relacional. La diferencia es que las buenas herramientas hacen las cosas fáciles, la malas herramientas hacen las cosas difíciles.

PostgreSQL is clearly written by people who actually care about getting stuff done. MS SQL Server feels like it was written by people who never have to actually use MS SQL Server to achieve anything. Here are a few examples to back this up:

 

Esto anterior es algo que necesitaba dejar intacto por que es la mayor realidad del desarrollo de software, las cosas bien echas están creadas por personas que las necesitan de verdad, ejemplo.

Postgres tiene “DROP TABLE IF EXISTS”  que es bastante lógico. “Si no existe, no lo hagas” con diferencia de mssql.

Parece solo una linea mas, pero notemos el parámetro innecesario N’V’ que nos indica que elimina una vista,  y N’P’ para un procedimiento. ¿Por que tenemos que aprendernos distintas combinaciones de letras para distintos objetos de la base de datos?

Mas ejemplos en la URL de referencia.

 

Multiplataforma

PostgreSQL puede correr en Linux, BSD y windows. Por lo contrario MSSQL solo corre en windows. La política de Microsoft siempre a sido atrapar al cliente en sus productos, esto protege sus ganancias pero no es necesariamente bueno para los programadores.

Si, ahora “.NET “es “OpenSource”,  pero  históricamente tenemos el ejemplo de el estándar “Office Open XML”. Microsoft jugo todos los trucos sucios que existen para no perder su poderío de Office y hoy en día admitamoslo Libre office no es realmente una opción para oficinistas serios. Lo mismo pasa y pasara con .NET

 

Programar con otros lenguajes

PostgreSQL es  muy fácil de conectar y utilizar en entornos de programación, su librería libpq y su API externa están muy bien diseñadas y documentadas por el contrario MSSQL  es solo plug and play en entornos de desarrollo Microsoft, todo lo que este fuera de esto necesita instalaciones fastidiosas de drivers (en el caso de linux) y librerías que solo la mamá del programador aventurado (que escribió la librería) conoce.

La documentación de postgres en relación a su uso con un lenguaje podríamos decir que esta fragmentada por todo Internet, sin embargo eso no es necesariamente malo. no  podemos usar documentación genérica  para el uso de cada librería de X lenguaje. Toda esta documentación esta escrita por programadores para programadores  y no nos toparemos con que 2/3 de la documentación no toca ni un detalle técnico.

Para Microsoft su documentación es un negocio y esta tiene que ser  aburrida, seca, extremadamente categorizada y debe comenzar con aspectos que pueda interesarle al gerente para lograr la compra de sus servicios.

 

PostgreSQL es mas lento que MSSQL

A more accurate rephrasing would be “MS SQL Server is slightly more forgiving if you don’t know what you’re doing”.

Para ciertas operaciones postgres es mal lento que mssql. El ejemplo mas sencillo es el Count(*) donde es mssql es prácticamente instantáneo debido a la distinta forma de resolver la concurrencia en cada plataforma.

Postgres es lento “out-of-the-box” por que sus configuraciones son mínimas, cualquier desarrollador serio  puede configurar en poco tiempo para usar mas recursos. por otro lado postgres cuenta con mayor tipo de indexación de datos que pueden hacer a una consulta mas rápida si se sabe lo que se esta haciendo.

 

the argument about speed is never only about computer time; it is about developer time too. That’s why high-level languages like PHP and Python are very popular, despite the fact that C kicks the shit out of them when it comes to execution speed. They are slower to run but much faster to use for development. Would you prefer to spend an hour writing maintainable, elegant SQL followed by an hour of runtime, or spend three days writing buggy, desperate workarounds followed by 45 minutes of runtime?

 

Martin Quinta

Crecí con una computadora desde el kinder. Empece a programar a los 14 y hoy, mas de una década después… realmente odio estar frente a una computadora. Pero programar es en lo que soy bueno, por lo tanto me desahogo en este blog mientras bebo cerveza artesanal y pienso en un mundo bonito donde Java no existe.

Facebook Twitter LinkedIn  

Entradas relacionadas:

2 comentarios en: “PostgreSQL vs SQLserver ¿cual es mejor?

  1. buen post
    realmente confirma mucho de lo que aprendí de mssql
    que no sabía antes de usarlo y que ahora se por experiencia propia, por qué no recomendarlo

Leave a Reply to m93developer Cancel reply

Your email address will not be published. Required fields are marked *