Las bases de datos comerciales, ¿valen la pena?
Luego de trabajar con costosas configuraciones de SQL Server y Oracle la gran mayoría de mi carrera profesional, casi siempre defendiendo estas alternativas de forma “viciada” a capa y espada es difícil abrir los ojos y ver otras opciones, especialmente por esa “propaganda” que apoya la idea (ahora extinta) que: SQL Server y/o Oracle son (o fueron) las mejores elecciones o alternativas de base de datos para la organización. Y creo que muchos solemos ser los “abogados” de las bases de datos comerciales.
Tal vez, estas bases de datos nos han dado de comer durante muchos años, no hay duda, incluso seamos profesionales, tal vez no expertos, pero sí profesionales en el manejo de estos motores, que muchas veces hemos tratado a los demás como “herejes” por no aceptar “la verdad”. Y así como hay profesionales “adictos” a estas bases de datos también, están quienes les guardan distancia por distintas razones.
¿MySQL? Por favor, ¿se están burlando?. ¿PostgreSQL?, Gracias, aunque es en proyecto serio, necesitamos una base de datos de la que podamos depender y confiar.
Suenan familiares las frases anteriores, ¿verdad?.
¿Cuántas veces hemos llevado a cabo algún “análisis” para determinar si, de hecho, SQL Server y/o Oracle eran las mejores elecciones no para mí, sino para el equipo, el cliente, el empleador y la organización?
0
Y si hemos realizado con diligencia esos análisis, ¿Qué hemos aprendido? Dos cosas:
- SQL Server y Oracle son realmente bases de datos excelentes. (Está bien, eso ya lo sabíamos.)
- SQL Server y Oracle son una elección errónea para el 95% de las necesidades de almacenamiento de datos, incluso a nivel empresarial.
Hoy en día, es agradable pensar en SQL Server y Oracle como las Estrellas de la muerte del universo de las bases de datos relacionales (para decirlo en términos de la Guerra de las Galaxias), es decir, extremadamente poderosas, monolíticas, brillantes, complejas casi más allá de la comprensión que una simple mente humana pueda llegar a tener, y que significan un gasto monumental de dinero excepto en esas raras situaciones cuando se necesita destruir un planeta.
He podido ver (al menos) a una docena de compañías derrochando dinero en bases de datos que no necesitan, impactando y confundiendo sus balances finales con esquemas de licencias que adornan las oficinas, perpetuando así la Falacia del Software de Marca:
En igualdad de condiciones, y asumiendo que se tiene el presupuesto, generalmente se prefiere un costoso (por no decir caro) bien “ajustado” producto comercial como [inserte el producto comercial aquí] a análogos más económicos [inserte producto open-source o de precio razonable aquí]. Los desarrolladores del proyecto XYZ usaron [costoso producto comercial], nuestro XYZ interno usa [producto comercial costoso], ergo, nueva política de la compañía: se utiliza [producto comercial costoso]. Claro, a $89,000 por licencia, [producto comercial costoso] es un poco costoso, pero a quién estamos engañando? Gastamos [inserte un monto realmente ridículo de dinero solo disponible en Monopoly aquí] en IT cada año.
Está bien claro, se ha gastado una cantidad ridícula de dinero en IT. Alguna vez se ha preguntado por qué?
Veamos el siguiente ejemplo en este cuadro (Está inglés pero creo que es bastante claro):
Por qué comprometer su proyecto, su organización, su imperio, para construir y mantener una “Estrella de la Muerte” cuando lo que realmente necesita es una nave X-Wing, un AT-AT, o por mucho, un Destructor de Estrellas? Especialmente dado que:
- El rendimiento y desempeño de una instalación Firebird/PostgreSQL/MySQL puede perfectamente ser rival de SQL Server y Oracle.
- La gran mayoría de aplicaciones no necesita las capacidades de las últimas, grandes y majestuosas versiones de las base de datos de Microsoft y Oracle .
- Firebird SQL, PostgreSQL y MySQL son 100% gratis (en el caso de MySQL hay una versión comercial) lo que significa que, sí eso mismo, no más fatalidad económica a causa de licencias comerciales. (Claro, cabe mencionar que Oracle ahora es dueño de Sun y por ende controla a MySQL.)
Oracle y SQL Server tiene características más potentes que MySQL o PostgreSQL o Firebird o cualquier otra base de datos de código abierto. Tienen una funcionalidad más integrada. Nadie podría afirmar lo contrario. Pero son los desarrolladores y DBAs y las personas que toman las decisiones de compra totalmente conscientes (por ejemplo) tan solo de cuán ricas y poderosas son las características técnicas de PostgreSQL?
Una base de datos de clase empresarial, PostgreSQL cuenta con sofisticadas funciones como el control de concurrencia multi-versión (MVCC), puntos de restauración en el tiempo, tablespaces, replicación asincrónica, transacciones anidadas (savepoints), copias de seguridad en línea/en caliente, un sofisticado analizador/optimizador de consultas, y un sistema write ahead para la tolerancia a fallos. Es compatible con conjuntos de caracteres internacionales, codificación de caracteres multibyte, Unicode, y tiene en cuenta la configuración regional para el ordenamiento, sensibilidad a mayúsculas y minúsculas, y formateo. Es altamente escalable, tanto en la enorme cantidad de datos que puede manejar como en el número de usuarios concurrentes que puede gestionar. Hay sistemas PostgreSQL activos en entornos de producción que manejan 4 terabytes de datos sin problemas.
Dejando las configuraciones de PostgreSQL a un lado, están los desarrolladores conscientes de que MySQL tiene más 11 millones de instalaciones incluyendo gigantes tales como Facebook, YouTube, Flickr, y Wikipedia? Claro, Todo el mundo lo sabe. MySQL se ejecuta en la web, cierto? Entonces, realmente necesitamos el soporte de visualización hiper-cúbica cuatri-dimensional de las bases de datos comerciales cuando las necesidades en datos de la mayoría de organizaciones es modesta, y cuando las dos o tres bases de datos de código abierto han comprobado repetidamente sus capacidades y temple?
No.
No a menos que su necesidad pertenezca al 1% de los escenarios, aprovechando las características únicas de las bases de datos propietarias Oracle/SQL Server. (En tal caso, puede que tenga otro tipo de problema.)
De lo contrario la respuesta es simplemente: no.
Pero no permita que eso lo detenga! Por todo los medios, si usted está en un contrato gubernamental sobrecosteado donde desperdiciar dinero es fomentado, adelante y despréndase de ese dinero que le hace tanto estorbo y adquiera una de esas costosas bases de datos cerradas. Si cuando Microsoft o Oracle dicen “salte!” su organización dice “qué tan alto?”, prosiga y cierre el trato adquiriendo esa licencia costosa de plataforma “superior”. Si su organización está dominada por un montón de bocones aspirantes a evagelistas de tecnología que llevan a cabo una agenda personal, como generalmente es el caso, entonces probablemente no hay mucho que usted pueda hacer en este caso.
Pero si ud cuida el dinero, si cree que…
No! NO está bien desperdiciar una cuarto de millón de dólares al año en licencias de bases de datos a pesar de que el presupuesto IT esté en decenas de millones…
… y si tiene actualmente tiene el poder para influenciar sobre las decisiones de compra, entonces utilice bases de datos de código abierto siempre que le sea posible, y bases de datos comerciales cuando absolutamente deba hacerlo.
Su CFO (Director Financiero) se lo agradecerá.*
* – Bueno, probablemente no. Así es la vida.
Traducido y Adaptado de Coding The Wheel
