jueves, abril 23, 2009

Mi experiencia con los DBMS

Hace algunos años empecé a trabajar con DBMS, como mucho de ustedes empecé mi mundo en la informática bajo plataformas propietarias, lo que a mi modo de ver me limitó mucho el aprendizaje, en aquellos años desarrollaba en lenguaje Basic con un IDE de Microsoft por lo que el primer "DBMS" (si se puede llamar DBMS) que utilicé fue el que ofrecen en el paquete de ofimática Office llamado Access, con el paso de los años y los requerimientos de los desarrollos, me ví en la necesidad de empezar a utilizar otros manejadores (gracias a dios!) como por ejemplo MySQL, PostgreSQL, SQL Server y Oracle, pero siempre alguien y hasta uno mismo en determinado momento se pregunta: ¿Cuál es mejor?

Primero que nada, pienso que este tipo de preguntas están relacionadas al modelo de negocios al que nos han llevado las empresas que venden software propietario, porque particularmente pienso que cada software puede ser muy bueno en determinados casos y muy malo para otros, pero de todos modos aqui expondré unas características que he observado en cada uno de ellos (ojo: es mi humilde opinión)

  • MySQL: primero que nada es Sofware Libre, por tanto es gratis, ya esto supone una gran ventaja para la gran mayoría, por otro lado es multiplataforma lo que nos permite utilizarlo en un sistema operativo libre y ahorrarnos muchísimo dinero en costos de licencia para servidores. Muy bueno en los casos de alojar páginas web con CMS y todo ese tipo de casos, ya que es excelente al manejar data que cambia con poca frecuencia, ya que fue destinado para realizar muchas consultas más no para inserciones y/o actualizaciones, en su versión 5 se incluyeron disparadores y procedimientos almacenados pero aún no están completamente bien implementados, administración sencilla.
  • PostgreSQL: al igual que MySQL es libre y multiplataforma. Muy estable, en sus últimas versiones han mejorado el rendimiento, ya que anteriormente comparado con MySQL las pruebas arrojaban un mejor rendimiento de MySQL, full soporte de disparadores y procedimientos, administración sencilla.
  • SQL Server: Es propietario y sólo puede ejecutarse en plataformas Windows, las licencias se venden tomando en cuenta cantidad de procesadores, cantidad de estaciones a conectar, etc. el hecho de estar disponible sólo para Windows no sólo nos incrementa los gastos sino que nos deja a merced de la poca estabilidad que nos ofrece este SO, administración sencilla, lo he utilizado para pequeñas cosas pero sinceramente teniendo MySQL y PostgreSQL no veo porque pagar por ese producto.
  • Oracle: Es propietario y multiplataforma, no sé muy bien como funciona el licenciamiento. Muy estable y extensible, compleja administración.
En definitiva pienso que si vamos a montar una página web CMS, foro, chat, etc... elegiría MySQL y para sistemas medianamente importantes, críticos, etc usaría PostgreSQL ¿y ustedes que opinan?