Hoy regreso a escribir después de unas cortas vacaciones, vamos a comentar sobre las bases de datos, siempre los informáticos han buscado la forma con argumentos sólidos y no tan sólidos de responder a la pregunta de ¿cuál es la mejor base de datos?, primero el panorama es complicado, yo trataré de dar algunos argumentos validos y ver si podemos llegar a una conclusión al tema, primero mencionare que en el mercado tenemos muchas alternativas de bases de datos, como por ejemplo ORACLE, SQLServer, Postgres, Informix, DB2, MySQL entre las que recuerdo, y citaré que en la mayoría de los casos los finalistas terminan siendo ORACLE VS SQLServer.
Mencionaré que ORACLE le pertenece a “ORACLE Corporation” y SQLServer a la empresa “Microsoft”; algunos analistas también suelen poner como finalistas a Postgres y DB2 contra ORACLE, a simple vista podríamos concluir que si siempre el finalista es ORACLE, entonces esta debería ser la mejor; y es que debo decir que efectivamente ORACLE no es malo, pero solo está presente en empresas grandes, porque medianas y pequeñas empresas será mucha base datos y los costos de licenciamiento son altos para ellas, por otro lado siempre se ha defendido a ORACLE en el tema de la Granularidad de los datos donde se destaca, las unidades de asignación de espacio en la base de datos son los bloques de datos, extents y segmentos. El nivel más fino de granularidad en que Oracle almacena los datos es el bloque de datos (también llamados bloques lógicos, bloques de Oracle o páginas), si se que soné bastante técnico, pero son temas técnicos, los Administradores de Datos o también llamados DBA tienen a este factor como unos de los más importantes pero no el único existen otros tales como escalabilidad, seguridad, administración, Integridad, las herramientas entre otros.
En el caso de SQLServer también posee granularidad casi al mismo nivel que ORACLE, en ciertos aspectos destaco su sistema de bloqueo y jerarquías; pero siempre existirán detractores al tema; siempre existirán administradores “PRO” una base datos, es decir preferencias hacia una y otra.
Así que yo utilizaré otro argumento quizás para mi mas valedero que la granularidad; y es saber que empresas informáticas de renombre usan una o la otra; cuantificarlas y sacar conclusiones, pero no es fácil, así que me plantee una pregunta ¿Qué base de datos usará el motor de búsquedas GOOGLE y todos sus otros servicios?, ¿será ORACLE? ¿Será SQLServer?, pues eso me daría una respuesta concluyente, así que mis estimados lectores, aquí les va la respuesta “Ninguna de las dos”, incluso ninguna de las que mencione al principio del artículo, San Google usa una base de datos llamada Berkeley DB que es una base de datos incrustada con API para C, C++, Java, Perl, Python, Ruby, Tcl y muchos otros lenguajes. Soporta múltiples datos para una misma clave. además permite miles de hilos de control manipulando bases de datos de hasta 256 terabytes en muchos sistemas.
Esta base fue diseñada por la Universidad de Berkeley actualmente pertenece y es desarrollada por la compañía Sleepycat Software. Está disponible con código fuente y licencia de libre distribución (free software). Los desarrolladores que quieran redistribuir con aplicaciones propietarias deberán pagar una licencia a Sleepycat Software.
Ahora el tema a la pregunta podría estar casi respondida, pero algunos me dirán, sólo porque Google la usa no necesariamente será la mejor, pues aquí les listo otras empresas pesadas del mundo informático que la usan
Empresas que utilizan Berkeley DB en sus productos:
- Airbus: compañía europea aeronáutica y aeroespacial.
- Amazon: empresa líder mundial en B2C.
- AOL
- Cisco Systems
- eBay: web de subastas on-line.
- EMC
- Google: compañía de búsquedas en la Internet.
- Hitachi
- HP
- Motorola
- Nortel: compañía de telecomunicaciones.
- RSA Security
- Sun Microsystems
- TIBCO
- VERITAS
He puesto en negritas para resaltar las empresas que llamaron mi atención, y creo que ya podemos hacer conclusiones, efectivamente Berkeley DB sobresale y no creo que estas empresas no hayan tomado factores importantes en su decisión, aunque la base si tiene criticas como por ejemplo que Berkeley DB no soporta SQL ni esquemas. A pesar de esto tiene un tamaño superior al de otras alternativas incrustadas, así que con estos argumentos donde asumo las empresas citadas por su seriedad tuvieron que haber hecho un benchmarking, costo, beneficio, seguridad entre otras ganó Berkeley DB como la mejor alternativa.
En Google uno de los máximos responsables de la infraestructura de sistemas es Jeff Dean, desde el 2004 Jeff y su equipo en Google comenzaron a trabajar en su propia base de datos llamada BigTable para el motor, el sistema que tiene la compañía para almacenar enormes cantidades de información de una forma semi-estructurada y poder reemplazar a Berkeley DB y trabajar en conjunto.
Bigtable es una tecnología desarrollada dentro de la propia compañía, que funciona sobre ‘commodity hardware’ (sencillos y baratos PCs con procesadores Intel), y que funciona sobre otras herramientas propias, como MapReduce o ‘Google File System’.
Técnicamente BiGtable trabaja almacenando en las filas de las tablas URLs, y en las columnas términos como «contenidos» (con los datos HTML del documento web), «idioma» (con textos como «EN», referente a ‘English’), o «anchor:dominio.com/pagina» (que contiene el texto del enlace a la URL de cada fila desde la página web ‘dominio.com/pagina’). Para poder manejar tal cantidad de información, las tablas se dividen por columnas, y son almacenadas como ‘tabletas’ de unos 100-200 Mbytes cada una. Cada máquina almacena 100 tabletas, mediante el sistema ‘Google File System’.
No podré concluir sin darles un dato más, Berkeley DB ha sido comprado por ORACLE Corporation , asi que le pertenece, aunque fue desarrollada por la Universidad de Berkeley de California como parte de los esfuerzos para lograr eliminar el código de AT&T de BSD 4.3 para la versión 4.4. En 1996 Netscape pidió que los autores de Berkley DB que mejorasen y ampliasen su biblioteca, en su versión 1.86 por entonces, para satisfacer los requisitos de Netscape para un servidor LDAP y utilizarla en el navegador Netscape. La petición llevó a la creación de Sleepycat Software, que fue adquirida en febrero de 2006 por Oracle Corporation, mundo de locos.
Fuente: google.dirson.com, Microsoft, Oracle y Wikipedia.
Muy bueno tu aporte, gracias estoy realizando un curso de sql y siempre se muy bueno ver otros conceptos ya que todo el mundo repite lo mismo sin saber de fondo por que.
Malisimo tu articulo.
Basado en quien lo usa… de hecho no se de donde sacaste que Google use Berkeley, de todas formas da lo mismo.
Un articulo serio, se basaría en que, donde y cuando.
«Que» database es mejor «Cuando» la aplicación sea de X tipo y «Donde» es mejor (Empresa grande, mediana, chica) y a esto súmale todos los benchmarks técnicos.
Ciertamente a groso modo, tienes todas estas variable para combinarlas y buscar soluciones optimas (Tamaño Empresa, Lugar Geográfico, Presupuesto fijo y Presupuesto Variable destinado, Tipo de Aplicación, Tipo de Concurrencia, Seguridad, Mantención y Todos los tecnicismos que estimes importantes a considerar)
Por tanto y en conclusión, tu título es una pregunta mal planteada y errada.
Ya que no existen respuestas cerradas sino respuestas optimas.
Saludos Christian