You are on page 1of 13

Bases de Datos Libres Ricardo Di Pasquale Dijo John Maynard Keynes Todo el mundo sabe que es mejor, para

la reputacin, errarle como todos, que salirse de la norma. Parece una norma para los IT Managers la compra obligatoria de software propietario. Sobre todo en el caso de las bases de datos. Esto no invalida la posibilidad de que en algunos casos se trate de una decisin apropiada. Pero todo Manager parece abrir el paraguas ante eventuales desastres con la frase No echaron a nadie por comprar x siendo x alguno de los grandes vendedores de software (IBM, Microsoft, Oracle, etc.). Si se analiza la lgica de este argumento, parece tener un arraigo conservador (bajo la forma compro lo que otros compran en todo el mundo), pero no parece estar focalizado en una solucin particular para un tema tambin particular. Otra norma que parece inviolable, adems de la marca del DBMS1, es la tecnologa. En el ambiente IT cuando hablamos de DBMS se lee entre lneas que estamos hablando de RDBMS2. Parece no haber otro paradigma. Pero claramente los hay. Lo mismo sucede con el lenguaje de consulta, parece no haber otro lenguaje que el SQL. Pero claramente los hay. En atencin a los prrafos anteriores, hemos decidido focalizar nuestra exposicin no en el hecho de dirimir si las bases de datos libres son mejores o peores que los productos privados, sino en sacarlas de la invisibilidad a las que las somete el sentido comn del ambiente de los IT Managers y tambin exponer las falacias ms comunes demostrando que slo pueden sustentarse por prejuicios, sometindolas a un somero proceso de deconstruccin. Intentaremos rastrear algunos desatinos. Por lo tanto presentamos un breve Manual de Zonceras sobre Bases de Datos Libres mientras introducimos algunas tecnologas impulsadas por bases de datos libres.

1 2

Data Base Management System Relational Data Base Management System

Manual de Zonceras sobre Bases de Datos Libres

El dinero es el nico Dios sin ateos en la Tierra. Muy callado sera el bosque si slo cantaran los pjaros amigos del guardabosque Aforismos de Ernesto Esteban Etchenique Roberto Fontanarrosa

La madre de todas las zonceras o El modelo relacional es lo suficientemente flexible como para modelar cualquier dominio. Zonceras por razones de inseguridad psicolgica o No me da ninguna tranquilidad. o Y quin me da soporte? o Y quin me garantiza que anda? o Ms vale comprar algo de marca. o Te parece que va a andar ese programita? Zonceras por ignorancia o En cuanto al desarrollo tecnolgico, el software libre no hizo ningn aporte a las bases de datos. o Nadie lo usa. En los pases serios no se usa

Zonceras de ndole econmica o Nuestra base de datos es de bajo mantenimiento. No necesita DBA. o Lo barato sale caro o Es muy caro capacitar a alguien.

La madre de todas las zonceras El modelo relacional es lo suficientemente flexible como para modelar cualquier dominio El modelo relacional ha sido la norma en el mercado de bases de datos por casi cuarenta aos. Ha habido modelos alternativos como los jerrquicos y de redes, que tuvieron su pequeo nicho de mercado. Durante ese desarrollo las bases de datos orientadas a objetos emergieron como una solucin natural para las aplicaciones orientadas a objetos, aunque no lograron ubicarse en un lugar central en la industria por motivos que exceden este trabajo, pero que van desde los ms endogmicos (no hay an hoy un standard fuerte de lenguaje de consulta de una base de datos orientada a objetos) a los ms exgenos (no lograban competir con el rendimiento de las bases de datos relacionales). El modelo relacional est centrado en un modelo matemtico que lo hace consistente y flexible al mismo tiempo. Permite el modelado Entidad-Relacin (no es lo mismo modelo relacional que modelado Entidad-Relacin) que consisti en una metodologa de anlisis de sistemas data-cntrica de vital importancia para la ingeniera del software. El modelo relacional admite un conjunto de operaciones procedimentales llamada Algebra Relacional que nos permite operar con este modelo. En el marco del anlisis estructurado surge SQL (como consecuencia del desarrollo de Codd, el modelo relacional, a principios de la dcada del 70) como un lenguaje estructurado de consultas. Rpidamente se convirti en el standard para las bases de datos relacionales y ms adelante fue impensable hablar de bases de datos relacionales sin hablar de SQL. Hasta los nombres de los RDBMS suelen contener estas tres letras (MySQL, SQL Server, Postgre SQL, etc.). Rpidamente surgieron crticos del lenguaje SQL que fueron acallados por el xito del mismo en la industria, aunque sus argumentos, en gran medida, eran vlidos. Si bien SQL es un lenguaje relacionalmente completo (todo lo que se expresa en Algebra Relacional puede expresarse en SQL), presenta problemas de representacin. Solo para ilustrar este punto vamos a decir que una sentencia correcta de SQL admite dos maneras de representar una junta interna (inner join), a saber, va el operador Inner Join y via el operador =. Esto que parece trivial introduce un problema de representacin, se confunde la semntica de la operacin de Seleccin y de Junta del lgebra relacional. Pero el principal problema es la confusin entre el modelo y la representacin. Cuando modelamos un dominio (hablando en trminos de datos, en otra oportunidad hablaremos en trminos de objetos) hacemos una abstraccin de la realidad que debemos plasmar en un modelo. Ese modelo tiene las reglas intrnsecas del modelo relacional, y admitimos una representacin SQL

(dado que la industria nunca implement el lgebra relacional). El problema se da cuando nuestros analistas confunden modelo y representacin. Es comn ver como muchos analistas entran en problemas al intentar resolver problemas relacionales (que finalmente son problemas de conjuntos) directamente sobre la representacin (SQL), sin recordar el isomorfismo que debe existir entre el modelo y la representacin. Confundir modelo con representacin constituye un problema grave y es ms frecuente de lo que parece. Volviendo al hilo principal de este punto, muchos problemas admiten soluciones relacionales, pero que por diversas circunstancias obligan a la implementacin fsica a ir salindose del modelo relacional (denormalizacin, utilizacin de herramientas no transaccionales en bases de datos transaccionales, etc.) dejndonos en una situacin en la que estamos obligados a utilizar un modelo relacional a travs de una representacin (que muchos piensan que es un modelo en s) para una solucin que se aleja cada vez ms del modelo relacional. Eso es atentar contra la mantenibilidad del software. Tomar un problema y darle martillazos hasta que encaje en un patrn de diseo, es en s, un antipatrn. Hay modelos que encajan mejor con determinados problemas. Hay modelos de bases de datos que encajan mejor con el entorno y ciclo de vida del proyecto, como por ejemplo las bases de datos orientadas a objetos encajan mejor con el desarrollo orientado a objetos3. Existe un movimiento desde fines de la dcada del 90 llamado No SQL4 que principalmente se centraron en los problemas de escalabilidad horizontal de las bases relacionales, y estn muy relacionados con el desarrollo de la Web 2.0. Los desarrollos dentro de esta iniciativa tienen la particularidad de no cumplir con alguna de las cuatro propiedades ACID5 que s cumplen las bases de datos relacionales, adems de que muchos de los proyectos se origin en el mbito de la computacin distribuida, por lo que no es casual que en el ao 2002 se haya presentado una demostracin formal del teorema de Brewer6. Dentro de esta iniciativa hay desarrollos de todo tipo, no slo abiertos, incluso de licencias duales. Vamos a explorar algunos modelos y desarrollos Open Source de dicho movimiento: Orientacin a grafos: Admite una ascendencia de los antiguos modelos en red, pero en la prctica trabajan ms integrados con los lenguajes de programacin. Este tipo de bases de datos almacena la informacin en grafos, una de las estructuras de datos ms flexibles existente. Si lo que modelamos tiene muchas relaciones, con un nivel de multiplicidad

Cabe destacar que la industria impuso las bases de datos relacionales, por lo que en los ltimos 15 aos han surgidos especificaciones de ORM (JPA de Java) y herramientas Open Source como Hibernate (la ms popular) que pueden disimular las diferencias de modelos. 4 Que a veces es interpretado como Not Only SQL y que a veces se sugiere que debiera ser No Rel. Y que segn sus integrantes vino a compartir como ellos haban logrado derrocar la tirana de las lentas y caras bases de datos transaccionales a favor de una manera ms eficiente y barata de manejar datos. 5 Atomicidad, Consistencia (Integridad), Aislamiento y Durabilidad. 6 Tambin conocido como Teorema CAP, establece que es imposible que un sistema distribuido pueda dar simultneamente estas tres garantas: Consistencia (todos los nodos ven la misma informacin), Disponibilidad (la falta de un nodo no impide al resto seguir funcionando) y Tolerancia a Fallos (Partition Tolerance, el sistema sigue funcionando a pesar de prdidas arbitrarias de informacin o fallas parciales del sistema). Segn el teorema slo se pueden satisfacer dos simultneamente de las tres.

alto, las bases de datos orientadas a grafos pueden ser una solucin. Suelen, adems ser embebibles, es decir, correr en forma nativa en nuestra plataforma de programacin. Las reas de aplicacin son mltiples, ya que a veces son utilizadas como bases de datos orientadas a objetos por su facilidad de utilizacin, en inteligencia artificial y modelado del conocimiento y en web semntica. Algunos proyectos interesantes: o Neo4J: Es una base de datos orientada a grafos (y multigrafos7) que puede correr como server (a partir del segundo server tiene licencia dual) o ser embebida dentro de nuestra solucin (GPL). Es transaccional (ACID). No requiere un schema o metadata para estructurar la informacin que almacena. En cuanto a la estabilidad hay implementaciones de 2003 24x7. En un hardware comn tiene una tasa de iteracin de 1.000.000 de relaciones por segundo. En una prueba de benchmark se ha generado un grafo con 20.000.000 de nodos representando lugares, 62.000.000 de arcos representando caminos entre los lugares, en promedio encuentra un camino promedio en 100ms, y en el peor de los casos probado, el camino ptimo tena 5500 tramos y fue encontrado en menos de 3 segundos. Admite varias maneras de hacer consultas: La API SPARSQL Gremlin: Lenguaje de consultas especialmente diseado para el anlisis y manipulacin de multigrafos de propiedades de tipo key/value.

Tiene la habilidad de simplificar algunas operaciones sobre grafos que seran inmensamente complejas sobre bases de datos relacionales, como los algoritmos de grafos: Clausura transitiva Camino ms corto Routing o HyperGraphDB: Es una base de datos orientada a grafos (multigrafos e hipergrafos8) extensible, distribuible, portable y embebible en entornos Java. Orientacin a objetos: o Db4o: Es una base liviana de licencia dual embebibles para entornos Java y dot Net. Admite el uso de Linq (dot Net) como lenguaje de consulta as como la utilizacin de la API en los contextos embebidos. Posee esquemas de replicacin complejos utilizables para la extraccin de datos a esquemas Business Intelligence. Es ampliamente utilizado en dispositivos mviles. Orientadas a columnas (Wide Column Stores): Son bases de datos optimizadas para procesar en forma distribuida. No poseen una metada como en el caso de las relacionales,

7 8

Un multigrafo es un grafo que admite ms de un arco entre dos nodos. Un hipergrafo es un grafo que admte hiperarcos, es decir, arcos que pueden unir ms de dos nodos.

por lo que cada entrada puede tener una estructura completamente diferente a la anterior. Se basan sobre mapas (3-uplas) que contienen una clave, un valor (una coleccin de columnas) y un timestamp. o Hadoop/HBase: Hadoop es un framework del proyecto Apache pensado para el procesamiento distribuido de grandes volmenes de datos. HBase es la base de datos dentro del framework Hadoop. Ms adelante se desarrollarn caractersticas de la misma. o Cassandra: Es una base de datos distribuida del proyecto Apache utilizada por Facebook. Ms adelante se desarrollarn caractersticas de la misma. o BigTable: Es el proyecto de Google con las mismas caractersticas. Key-Value Stores: Son bases de datos que poseen un modelo muy sencillo en forma de mapas (o diccionarios) y que son fcilmente distribuibles. Deben ser pensadas como un hashing gigantesco distribuido de alta disponibilidad. o Voldemort: Es un proyecto desarrollado para LinkedIn en Java con licencia Apache basado en los principios de Amazons Dynamo. No pretende cumplir las propiedades ACID. Posee un potente esquema de caching en memoria que le otorga un alto desempeo. Como particularidad vale aadir que posee un esquema de versionado automtico, que sirve tanto como para versionar datos, como para suplir consistencia. o Riak: Tambin basada en los principios de Amazons Dynamo, es un proyecto Open Source de la empresa Basho. Especialmente orientada al procesamiento en la nube. Posee una ventaja notable sobre otros productos: en la declaracin de principios de la empresa enumera en qu casos no debera usarse. Fue escrita en Erlang y C. Una particularidad de Riak es que posee implementaciones Masterless, es decir, ningn nodo del cluster funciona como Master de la implementacin. Orientadas a Documentos: o MongoDB: Es una implementacin Open Source de una empresa (10gen inc) que da servicios relacionados con MongoDB. Consiste en una base de datos documental implementada en C++. Es utilizada por SourceForge, The New York Times y la red social Dispora. Majea esquemas de replicacin. Tiene un soporte dinmico para clusterizacin lgica. No tiene un esquema de multiversionado nativo, en pos de una mejor performance y simplificacin del desarrollo. Posee un soporte nativo para tipos de datos geoespaciales (en dos dimensiones) habilitando la posibilidad de consultas de cercana. o CouchDB: Proyecto Apache de una base de datos documental desarrollada con Erlang9. Admite un antecedente en Lotus Notes, dado que parte del equipo que desarroll para IBM ha constituido la base de este proyecto. Ubuntu One est implementado con CouchDB. Lgicamente es una extensin de las bases de datos

Erlan es un lenguaje de programacin utilizado para construir software en tiempo real con requerimientos de alta disponibilidad. Originalmente impulsado por Ericsson.

tipo key-value pair. El manejo de versiones es un punto destacable dentro de CouchDB. Posee un esquema de replicacin comparable con Lotus Notes. Y para su interfaz, implementa Web Services ResfFul vis HTTP.

En cuanto al desarrollo tecnolgico, el software libre no hizo ningn aporte a las bases de datos. Las empresas fabricantes de bases de datos como Oracle le deben bastante (econmicamente hablando) al software libre. De hecho el 40% de las instalaciones de la base de datos Oracle corre sobre Linux. La maximizacin de la ganancia hizo que el paradigma reinante en bases de datos (relacional) no acompae al paradigma de desarrollo (orientacin a objetos) durante fines de la dcada del 80 y principios de los 90. Tanto as, que la solucin a dicha situacin (una diferencia de impedancia entre los modelos) se zanjara con ORM10. Pensado desde la ciencia, un ORM no tiene razn de ser, pero en la prctica de la industria fueron enteramente necesarios para poder desarrollar software realmente orientado a objetos. En estos momentos de concentracin econmica, claramente las bases de datos libres tensionan para mejorar la tecnologa. En particular las bases de datos libres NO SQL11 son las que obligan a las privadas a mejorar continuamente. De hecho la batalla cambi de paradigma cuando Oracle comenz a disponer de Sun. Con el hardware de Sun, Oracle desarrollo una caja de base de datos (montada sobre Linux) llamada Exadata (cuya versin ligth cuesta medio milln de dlares) que por fuerza bruta de pilas de tecnologa corre la barrera de lo No Procesable ms all de las fronteras existentes. Computacionalmente no es un mrito, es un mrito desde el punto de vista ingenieril. El mrito computacional corresponde a las bases No Rel que permiten que plataformas como Twitter o Facebook puedan correr prcticamente en tiempo real, bajando el orden de complejidad del procesamiento de datos.

Zonceras por ignorancia Nadie las usa. En los pases serios no se usan. Esta es una falacia que tiene tanto que ver con ignorancia como con coloniaje mental. Siempre que alguien cite contradicciones entre pases serios y no serios hay que preguntar dnde funcionan los tribunales del universo. No hay tales pases serios y no serios, hay otras categoras de pases, pero esa es inadecuada. Por otro lado, es tambin falso que no se usen bases de datos abiertas. Las principales redes sociales tienen en el centro de su estrategia IT bases de datos abiertas, vamos a explorar someramente el ejemplo de Twitter.

10 11

Object-Relational Mappers. Que en realidad debieran llamarse NO Rel.

En diciembre de 2010 Twitter gener una gran cantidad de datos que estaba en el orden de los 12 terabytes diarios. Al principio utilizaron para recolectar informacin el protocolo Syslog12 a travs de la herramienta syslog-ng (licencia dual). Syslog funciono correctamente al principio pero a medida que iba aumentando la demanda, en situaciones de sobrecarga comenz a perder informacin. Facebook tambin tuvo este problema, y para solucionarlo crearon un sistema llamado Scribe. Scribe es un servidor para la acumulacin o coleccin de datos. Est diseado para que sea escalable a una gran cantidad de nodos y ser lo suficientemente robusto para soportar fallas en la red y en los nodos. A pesar de este cambio, hay casos particulares en los que Scribe puede sufrir una prdida de datos, por lo que tuvieron que tomar ciertas decisiones de diseo, como mejorar la confiabilidad de la infraestructura con la disposicin de los servidores en forma de grafo dirigido. Una vez solucionado el problema de la recoleccin de datos surgi otro diferente. Como se hace para almacenar 12TB de datos cuando un disco rgido tiene una velocidad de escritura de 80MB/s? Linealmente implica 43 hs para almacenar los datos recolectados en un solo da. Por este motivo necesitaron un cluster, y cuando se tiene un cluster se agregar nuevas capas de complejidad, ya que los datos se empieza a escribir en diferentes lugares, que datos se van a guardar en cada lugar, como se van a particionar estos datos, que pasa si las maquinas se caen son algunos de los problemas que hay que solucionar. Con el fin de mejorar estos puntos, el equipo ha utilizado Hadoop, que es un framework open source para escribir y correr aplicaciones distribuidas que procesan grandes cantidades de datos. Hadoop corre en clusters de gran tamao en mquinas comunes y corrientes sin necesidad de ningn hardware especfico, es por eso que la arquitectura de Hadoop asume que van a haber muchos problemas de hardware. Hadoop permite escribir cdigo que corra de manera paralela muy fcilmente. Est formado por una coleccin de subproyectos relacionados entre s, que tienen como objetivo comn crear una infraestructura para la computacin distribuida: Abro: Es un sistema para serializar datos que permita realizar de manera eficiente RPC entre diferentes lenguajes y el almacenamiento de datos. MapReduce: Es un modelo de procesamiento de datos distribuido introducido por Google que corre en clsteres de mquinas comunes y corrientes. La mayor ventaja que posee es la facilidad de escalar el procesamiento sobre mltiples nodos. Bajo el modelo MapReduce las primitivas para el procesamiento de datos son llamadas mappers y reducers. Descomponer un problema en mappers y reducers puede no ser algo trivial, pero una vez que la aplicacin fue escrita es muy fcil escalarla para que corra en miles de nodos o incluso ms. Cada operacin Map es independiente del resto y por lo tanto pueden ser realizadas en paralelo. Lo mismo sucede con el Reduce, es realizado en paralelo, lo nico que se necesita para que suceda esto es que las respuestas a todos los sub-problemas sean devueltos de forma simultnea.

12

estndar utilizado para el almacenamiento de mensajes que permite separar el software que genera los mensajes del que los almacena y del que los analiza

HDFS: (Hadoop Distributed FileSystem) Es un file system distribuido diseado para correr en hardware comn. Las diferencias con el resto de los DFS son significativas. Tiene una gran tolerancia a fallas y no se necesita hardware especial ni costoso, tiene un muy buen rendimiento para la lectura y escritura y es excelente para aplicaciones que manejan grandes cantidades de datos. Est diseado para almacenar de manera confiable archivos grandes a lo largo de diferentes maquinas en un cluster. Las aplicaciones que corren en un HDFS tienen grandes conjuntos de datos. Un archivo tpico almacenado en un HDFS est entre los gigabytes y los terabytes. Por este motivo el file system est ajustado para soportar grandes archivos. Pig: Es un lenguaje y ambiente de ejecucin para la exploracin de grandes cantidades de datos. Pig corre en HDFS y en clusters MapReduce. HBase: Es una base de datos no relacional. HBase usa para el almacenamiento de datos HDFS. ZooKeeper: Es un servicio para la coordinacin de sistemas distribuidos. Hive: Es un data warehouse distribuido. Los datos estn almacenados utilizando HDFS y provee un lenguaje para realizar consultas, basado en SQL (que luego es traducido a jobs de MapReduce). Chukwa: Es un sistema distribuido de coleccin y anlisis de datos. Chukwa corre colectores de datos que los almacenan en HDFS y luego utiliza MapReduce para generar los reportes.

Adems de Twitter, Hadoop es usado por: Yahoo: Ms de 100.000 CPUs en ms de 36.000 computadoras o El cluster ms grande tiene 4.000 nodos. o El 60% de los trabajos de Hadoop son programados con Pig. Facebook: Actualmente tienen dos clusters o 1.100 mquinas con 8.800 ncleos y 12 PB de almacenamiento. o 300 mquinas con 2.400 ncleos y 3 PB de almacenamiento.

Respecto a la performance, Hadoop logr ordenar un Petabyte de datos en 16,25 horas y un Terabyte en 62 segundos. Para entender la velocidad que tiene esto se podra comparar contra lo que se tardara en acceder a todo un Terabyte de datos sin hacer ningn tipo de ordenamiento, solo leer. Los discos SATA I tienen una velocidad de lectura de aproximadamente 150 MB/s, a esta velocidad se tardara prcticamente dos horas en solamente leer el disco.

HBase es la base de datos de Hadoop, ambos estn escritos en Java. Es una base de datos orientada a columnas que est construida sobre HDFS. Esta aplicacin debe ser utilizada cuando se requiere realizar escrituras/lecturas en tiempo real sobre grandes conjuntos de datos. Fue pensado con la idea de la escalabilidad, la posibilidad de que el sistema crezca simplemente agregndole nodos. Es una base de datos no relacional y no soporta SQL, pero aplicndola al problema adecuado es capaz de hacer lo que una base de datos relacional no puede: capaz de guardar grandes tablas con datos esparcidos en clsteres hechos de hardware comn y corriente. Paralelamente cabe destacar el caso de Cassandra, una base de datos utilizada por Facebook y Twitter, que es un proyecto de Apache diseado para manejar grandes cantidades de datos separados por varios servidores mientras provee con alta disponibilidad de servicio sin ningn punto de falla. Es una solucin NoSQL que fue inicialmente desarrollada por Facebook para el buscador de mensajes. De hecho, en Twitter, Cassandra reemplaz a la instalacin de MySQL13. Como en todo sistema NoSQL, cada uno tiene sus ventajas y desventajas. Actualmente en Tweeter conviven ambos sistemas donde cada uno cumple un rol diferente. HBase se encarga de los anlisis y la generacin de las bases de datos, y Cassandra se encarga de los sistemas online. Actualmente Microsoft piensa delegar varias funciones de la base de datos SQL Server 2012 en Cassandra.

Todos los productos mencionados anteriormente no lograban solucionar el problema real que Twitter tena que enfrentar en el momento de guardar, procesar y mostrar los datos que produca el sistema online. Por esta razn crean como producto propio el FlockDB, el cual es una base distribuida en tiempo real de un grafo social. FlockDB no est optimizado para hacer minera de datos (DM). Pero en cambio, est construida para solucionar un problema especfico, que son los clculos con el grafo de un nivel. El problema ms grande de este tipo es buscar una solucin ptima para todos los nodos, sean nodos (usuarios) con 8 conexiones (8 followers), o nodos con 6 millones de conexiones. Tambin sus intersecciones ya que en tiempo real y baja latencia tiene que solucionar la interseccin de dos nodos sin importar la cardinalidad de cada uno.

Zonceras por razones de inseguridad psicolgica o o o o o No me da ninguna tranquilidad. Y quin me da soporte? Y quin me garantiza que anda? Ms vale comprar algo de marca. Te parece que va a andar ese programita?

13

MySQL solo permite particiones verticales y horizontales. Casandra tiene un esquema descentralizado lo cual permite particionar las tablas donde sea necesario y a prueba de fallos.

En IT, el sentido comn plantea lugares seguros e inseguros sobre datos aportados, no por la realidad, sino por las publicaciones que hace la industria, que obviamente sesgan de imparcialidad la cuestin. Respecto al soporte, las mismas organizaciones que construyen los proyectos viven de dar soporte y capacitar (o hacer consultora), es por eso que si dan un mal soporte, directamente desaparecen del mercado. La lgica extrada de la realidad nos dice que una empresa que vive del soporte debiera dar un mejor soporte de una que vive de las ventas de licencias y terceriza el soporte. Respecto de las garantas, un IT Manager se queda tranquilo si viene un funcionario de una multinacional y le dice Quedate tranquilo, mi software funciona. Lo que debiera hacer es leer la letra chica de los contratos, en donde se dan garantas absolutamente limitadas y legalmente discutibles del producto que se est licenciando. En este caso, estn en igualdad de condiciones con las bases open source. Hay algo que el software privativo no puede superar: Veamos el ejemplo de una base de datos SQL in Memmory: HSQLDB. Gran cantidad de software open source redistribuye HSQLDB, por tanto los testers (directos o indirectos) de HSQLDB son exponencialmente superiores a los que posee una base privativa. Vale decir, los commiters de HSQLDB no se pueden permitir introducir un error al cdigo de HSQLDB, sin que millones de testers directos o indirectos sufran sus consecuencias. Respecto al Ms vale comprar algo de marca, hay que recordar que en muchas organizaciones un IT Manager no compra una base de datos, se hace socio tecnolgico de su explotacin. Esto implica no solamente comprar, sino contar con el personal idneo para desarrollar y operar los negocios. Hay un sentido despectivo cuando un IT Manager habla de programita refirindose a un software. Llegado el caso, el software open source est en igualdad de condiciones que el software privativo. En tales casos uno debe rechazar los trminos y condiciones de la pregunta: No puedo responder esa pregunta porque sus trminos son falaces14. No es exclusivo de los IT Managers, ocurri a lo largo de toda la historia occidental: Los europeos tienen religiones, en cambio los habitantes originarios del continente americano poseen creencias o supersticiones. Los europeos desarrollaron el arte, en cambio los habitantes originarios del continente americano hacen artesanas.

14

Sirva como ilustracin una ilustracin a una pregunta con cuyos trminos no podemos acordar: Usted, en tanto estpido qu opina del desempeo de SQL Server?

Zonceras de ndole econmica Lo barato sale caro Lo barato sale caro es una frase que deja entrever que por amarretes hemos comprado algo de mala calidad y que hemos tenido que suplementarlo, o tirarlo directamente a la basura. Pero, en este caso, est nicamente comparando costos de licenciamiento. Cero contra x miles siempre es ms barato, pero no siempre de peor calidad. Recordemos que mucho software libre no tiene costo de licencia porque los autores consideran que es cobrar por humo, pero los mismos autores o colaboradores suelen ser autores de libros, capacitadores, consultores o socios estratgicos de calidad. El hardware y la infraestructura sobre la que corre software libre no es gratis. Muchas empresas que no escatiman en gastos de licenciamiento (a veces literalmente humo) de software, restringen su presupuesto de hardware, dndole una experiencia al usuario de muy baja calidad. Pero los IT Managers no van a decir Lo barato sale caro en cuanto al hardware que compran para sus usuarios, pero s en el caso del software libre.

Nuestra base de datos es de bajo mantenimiento. No necesita DBA. Esta zoncera tiene origen en la estrategia de Marketing de Microsoft, que para hacer competitivo SQL Server frente a Oracle enarbol la bandera del costo bajo de mantenimiento y de configuracin. Esto, sumado a los fanticos, que todava hoy estiman que no es estrictamente necesario un DBA, generaron el sentido comn de que determinadas bases de datos no necesitan administrador. Esto es completamente falso. Cualquier sistema productivo montado sobre bases de datos que se precie de ser estable y confiable necesita de la intervencin de un DBA aunque sea PartTime.

Es muy caro capacitar a alguien El sentido comn de la direccin de IT dicta que el software open source (encabezado por Linux) es ms difcil que el software privativo. Veamos el caso de los DBA, todo DBA debe tener un nivel de conocimiento compatible con una carrea universitaria del rea informtica. Debe adems adquirir conocimiento de administracin de bases de datos en el rea prctica y debe especializarse en un producto especfico. Es decir, si hablamos de 5 aos de carrera, ms 2 aos de experiencia con bases de datos, estamos en el orden de los 7 aos. Si a eso le agregamos la especializacin en un motor especfico, hablamos de un par de meses (segn el programa de carrera de los motores comerciales). Ahora, en el caso de las bases Open Source, ese par de meses se sigue

manteniendo. No hay una diferencia significativa. Y si la hubiese sera del orden de meses, que en siete aos no tiene relevancia.

You might also like