miércoles, marzo 01, 2006

Almacenamiento eficiente ?

Como desarrolladores de soluciones, la base de datos que utilicemos siempre esta en función de el dinero para adquirirla y mantenerla. Si los datos que se van a almacenar son ínfimos, podemos hacer nuestro propio gestor. Pero, si como es común, tenemos un volumen que oscila de tamaño mediano a considerable, debemos hacer uso de una base de datos robusta. Tengo fobia a Microsoft Access, así que no dire más al respecto.

La base de datos debe soportar la mayor cantidad de las siguientes características:

  • SQL 92 ó SQL 99

  • Cliente/Servidor

  • Transacciones

  • Procedimientos Almacenados (store procedures)

  • Disparadores (triggers)

  • Funciones definidas por el usuario

  • Algún mecanismo estándar para consultarla desde nuestro entorno de desarrollo y/o producción

  • Bajo o nulo mantenimiento por parte del usuario.

  • Más de un sistema operativo

  • Multiusuario


En otras palabras una base de datos real.

Vamos ahora por los competidores:

  • Oracle Express

  • Sybase ASE Express

  • SQL Express 2005

  • DB2 Express

  • PostgreSQL

  • Firebird

  • MySQL


Oracle siempre a presentado precios prohibitivos sobre sus productos, ni que decir de los cursos de capacitación… Ahora que paso al mundo free tiene un punto a su favor; pero en contra: sigue siendo una base de datos complicada y muy pesada. Megas y megas para solo poder utilizar una instancia, lenta para cargar en cada inicio de sesión del sistema operativo…

Sybase es más razonable, ¿o no?, bueno, también limita las capacidades de su Sybase ASE Express Edition for Linux, un CPU, 5GB de almacenamiento de datos y 2 GB de RAM. En el nombre se ve otro detalle… que la versión es únicamente para Linux.

SQL Express 2005 posee un pequeño inconveniente: es de Microsoft y funciona por lo tanto sobre Windows, nada más, ya que es la evolución de SQL Server 2000 MDSE. Los otros detalles que me desalentaron: 300 MB en la instalación, que con los 240 GB que tengo de disco duro… si como no… para lo que hace… una de las características más destacadas es algo que otra base de datos a tenido desde que fue creada hace 20 años. Siguiendo con el mismo tenor: Un CPU, 1 GB de RAM y 4 GB de tamaño máximo de almacenamiento. Fuera de lo de la plataforma, un producto a considerar.

IBM DB2 Express tiene versión para Windows o para Linux, en 32 o 64 bits, hasta 2 CPUs y 4 GB de memoria. Nada mal para una base de datos que siempre a sido segunda. Tome nota, producto destacado.

PostgreSQL no sufre de limitaciones como las otras bases de datos… tiene sus orígenes en el mundo Linux que es donde precisamente se ha hecho de un buen nombre. Existe una versión para Windows que francamente no he utilizado… pero lo haré, lo prometo.

Firebird, mi favorita hasta hoy, menos de 3 MB del instalador, fácil de administrar y la instancia se carga de inmediato. Uno de los aspectos que más agradezco es que no impone bloqueos a los datos (Arquitectura Multigeneracional). Trabajando en Windows y Linux sin problema…

MySQL es por mucho la base de datos más utilizada en la Web por la velocidad y facilidad de uso, precisamente el no contar con transacciones le hacen poseedora de tal velocidad. Existe una versión más avanzada que si posee las especificaciones que necesitamos, pero es de pago (lo lamento, así es la vida). A manera de nota, ellos mismos proveen MaxDB en licencia dual, una con costo y otra libre de el, bajo GNU.

Es tiempo de concluir, la mejor es... según sus necesidades, por supuesto, yo le recomiendo Firebird, pero seguro Usted quiere experimentar en carne propia je je je.