Los datos mueven al mundo. Toda la tecnología, aplicaciones y nuestra vida diaria está controlada por los datos. Por ejemplo, imagina que tienes 100 dólares en el banco, tú no quisieras que mañana, sin hacer ningún movimiento, esos 100 dólares se conviertan en 1, y el banco no quiere que se conviertan en 5000. Por lo tanto, los datos tienen que estar bien protegidos, asegurados y bien almacenados. Y el ejemplo del banco lo podemos aplicar a cualquier industria, a cualquier entorno: a nuestros estudios, nuestro historial médico, lo que compartimos o conversamos en redes sociales.
Por ejemplo, los relojes inteligentes marcan cuántos pasos das al día, tu ritmo cardíaco, cuántas horas y minutos duermes cada día, etc. Es increíble. Todos esos datos, este reloj los guarda para generar me reportes y que la persona que los usa, pueda estar más saludable.
Entonces, los datos no son solamente para guardarlos, tú los puedes interpretar y generar algún beneficio a través de ellos. Por eso se dice que los datos son el nuevo petróleo. Sin embargo, almacenar los datos y gestionarlos es un gran negocio. Es el gran negocio de las bases de datos.
Pero, ¿qué son las bases de datos?, son conjuntos organizados de información que tienen un fin determinado. Las bases de datos se gestionan a través de algo llamado sistemas gestores de base de datos, que es un software que se encarga de guardar los datos, de asegurar la integridad de esos datos y luego, consultarlos. El tipo de gestores de base de datos más comunes, son las bases de datos relacionales. Y de eso hablaremos en este blog: cómo se crearon y toda la historia de las bases de datos relacionales más importantes.
Modelo relacional
Toda la historia de las bases de datos comienza en los años 70, en la década del amor y paz. En 1970, el señor Edgar Frank "Ted" Codd, define el modelo relacional. Este modelo busca estructurar cómo se guarda la información, cómo se consulta y evitar redundancias en la información. ¿Qué es una redundancia?, que los datos se repitan.
Por ejemplo, vamos a suponer que un estudiante de la universidad lleva tres cursos. Entonces, lo tenemos en el curso A, en el curso B y en el curso C. No es buena idea. Debería estar en un único lugar, todos los estudiantes, y luego en otro lugar, todos los cursos. Entonces, poder relacionar esos datos.
Ese es el modelo relacional, que agrupa la información a través de tablas y las tablas, tienen registros y tienen campos. Por ejemplo, un registro es una entidad (Alexys Lozada sería un registro, un estudiante). Su nombre sería un campo, así como su edad, su dirección, el año que está cursando en la universidad, entre otros. Y de esa manera, se estructuran los datos en el modelo relacional.
Las bases de datos que siguen este modelo, se llaman bases de datos relacionales y es el primer tipo de base de datos que conocemos. Cuando esto aparece, se ve una gran oportunidad de negocio. De hecho, IBM crea un lenguaje llamado Structured English Query Language y sus iniciales eran SEQUEL. Sin embargo, años después, le cambiaron el nombre, quitándole solo las vocales y manteniendo SQL.
Es un lenguaje que nos permite consultar la información de una base de datos relacional. Por eso dice “estructurado”. Hay que darle una estructura a estos datos y luego consultarlos. Este lenguaje SQL nos permite, no solamente consultar los datos, sino también escribir (o poblar) los datos. Y también diseñar la estructura de la base de datos.
Y si quieres aprender SQL, diseñar sus bases de datos ya hacer consultas con este lenguaje, tenemos el curso Bases de datos desde cero. ¡Puedes comenzar las primeras clases gratis!
Oracle 1977
Cuando se define el modelo relacional, los ingenieros de la época se dan cuenta de que hay una gran oportunidad de negocios que están haciendo, porque las empresas necesitan estructurar su información. Por eso, es que IBM crea el lenguaje SQL y se empiezan a crear varias empresas relacionadas con este modelo de las bases de datos. La más importante de ellas es Oracle. Es más, no se llamaba Oracle, se llamaba relational software. Es decir, software relacional. El mismo nombre de la empresa estaba inspirado en este modelo. Ellos crean en 1977 Oracle, que es la primera base de datos relacional, o bueno, para ser específicos, el primer sistema gestor de bases de datos relacionales.
Recuerda que base de datos es la información y sistema gestor, es el software que gestiona y, dentro del sistema gestor, está el motor, que es el núcleo del sistema gestor, que se encarga de escribir y recuperar la información. Aunque, en el hablar popular, se suele hablar de motor y de sistema gestor como si fueran sinónimos. No son sinónimos, pero cuando dicen motor, a veces es normal entenderlo como sinónimos. Tenlo en cuenta.
Seguimos: Oracle, es el primer sistema gestor de base de datos relacional comercial del mundo. Se le adelantó incluso a IBM, que había creado SQL, pero se quedó atrás porque no pudo definirlo bien. Entonces Oracle fue el primero. Hasta ahora, es una de las empresas más importantes del mundo. Es la segunda empresa desarrolladora del software con mayor valuación. Ellos se encargan de desarrollar soluciones para empresas. Oracle es para el mundo corporativo. No solamente se encarga de hacer base de datos. Hoy en día, Oracle hace Cloud Computing, Machine Learning, soluciones con blockchain, etc. Incluso, tiene sus propias certificaciones.
Luego vamos a volver a hablar de Oracle, porque Oracle compra Sun Microsystems y en el paquete le vienen varias cosas interesantes. Pero eso es para después.
Los años 80
Ahora, pasemos a los años 80, los años de la computadora personal. Los años en que se jalan de los pelos Bill Gates y Steve Jobs, porque fue la guerra entre ellos dos. En estos años, Steve Jobs se va de Apple y deja en el trono a Bill Gates (en el trono de la computación personal). Microsoft lanza su respuesta a Oracle en el año 1989, llamada SQL Server.
SQL Server, así como Oracle, es un sistema de gestión de bases de datos relacionales pensada en empresas. No está pensada en el usuario final. No está pensada en que tú crees tu base de datos en tu máquina. Aunque luego también sacaron una versión express, que es una versión gratis (limitada), pero que puedes utilizarla para hacer algunas pruebas o proyectos pequeños.
Hoy por hoy, SQL server es el sistema de base de datos más usado en el mundo corporativo. Por encima, incluso, de Oracle. SQL Server ha sido siempre parte de Windows. Es decir, funciona en Windows y no funciona en Linux. Sin embargo, desde el año 2016, ya corre en Linux y desde el 2017, ya se puede instalar en Docker (en contenedores) para que lo uses en cualquier proyecto.
Así que, SQL server es una gran elección. Pero ten en cuenta que es comercial y sus licencias pueden ser un poco elevadas. Sin embargo, recuerda que las licencias comerciales vienen con soporte, mientras que el open source, el soporte te lo tienes que dar tu mismo. Ambos tienen ventajas.
Los años 90
Ahora llegan los años 90: los años de la explosión de la web, los años de la explosión del open source y a partir de ahora, vamos a tener sistemas de gestores de base de datos open source. Antes teníamos sistemas privativos y sistemas corporativos.
El primero de ellos es MySQL, que aparece en 1995 y lo más importante de este sistema en su época, es que se integra muy bien con PHP. Y como PHP es el lenguaje más importante de la web, también MySQL será la base de datos más importante en el mundo web. Sus principales características destacan porque es fácil para comenzar. Es decir, tiene una curva de aprendizaje sencilla y, además, es muy rápida en sus consultas. No requiere configurar demasiadas cosas. Y así como PHP, que es muy sencillo de utilizar, pero no era el lenguaje más puro o preferido de los puristas, igual lo era MySQL. Tampoco es el preferido por los puristas porque no cumple con ciertos estándares.
Por ejemplo, JavaScript ha sido uno de los lenguajes más criticados, también por los puristas, año tras año, y aun así, es el lenguaje más usado en el mundo. Así que una cosa no necesariamente tiene que ver con la otra.
Además, algo cosa peculiar de MySQL, es que, al día de hoy, MySQL tiene dos licencias: una open source y una licencia privativa. ¿Sabes por qué? Porque Sun Microsystems compró la empresa desarrolladora de MySQL y en el año 2009, Oracle compró a Sun Microsystems. Con lo cual, MySQL pasó a ser propiedad de Oracle. Y toda la comunidad de desarrolladores se jaló los pelos y le dio miedo, porque si hay una empresa tan temida como Microsoft, es Oracle. Les daba el temor de que lo pongan completamente privativo. Lo cual técnicamente no es posible, porque las licencias open source no lo permiten. Pero igual la comunidad se espantó.
Así que ahora, tenemos dos versiones de MySQL, una completamente libre y una privativa. Pero, como siempre, la privativa trae soporte empresarial y ese es su gran ventaja.
Y si quieres aprender a administrar base de datos MySQL, tenemos un curso en EDteam. Entra en este enlace y comienza a estudiar.
PostgreSQL
Siguiendo con la historia de las bases de datos, en el año siguiente, en 1996, aparece PostgreSQL, el sistema gestor de base de datos preferido de los puristas porque cumplen varios estándares y trae procedimientos almacenados, trigger, funciones y cosas que MySQL no tenía. Por otro lado, MySQL permitía una curva de aprendizaje más rápida porque no tenía todas esas cosas. Sin embargo, luego MySQL las fue agregando.
Además, PostgreSQL está inspirado en Oracle, por lo tanto, es bastante sencillo migrar base de datos de PostgreSQL a Oracle. Eso hace que sea una base de datos más poderosa y repito, preferida por quienes buscan más consistencia en los datos. Si quieres aprender PostgreSQL, tenemos un curso en EDteam, que te enseña desde cero, hasta crear tu primer proyecto.
Siguiendo con la historia de las bases de datos relacionales, llegamos a los años 2000, la década de las redes sociales, de los buscadores y de los smartphones. En esta década aparecen dos bases de datos importantes. La primera es SQLite.
Su mismo nombre nos dice algo interesante: light. Es decir, más ligera y más pequeña, para usos tal vez más específicos. Además, tiene una gran peculiaridad y es que no usa la arquitectura del cliente-servidor. Esta arquitectura significa que hay un cliente, que hace la petición a la base de datos (que es otra máquina diferente) un servidor, y ese servidor, devuelve la información que se ha consultado.
Entonces, la aplicación está en un cliente, el servidor está, por otro lado, y así se hacen las consultas a la base de datos. En cambio, SQLite no usa esa arquitectura, sino que guarda los datos en archivos, que están dentro del mismo programa (dentro de la misma aplicación). Es un paradigma diferente. Entonces, es base de datos en archivos.
¿Y para que quisieras tú guardar los datos dentro del mismo programa? El uso más común de SQLight, son las aplicaciones móviles. Si bien es cierto que en una aplicación móvil, lo más común es conectarte a un servicio web o a una API para de ahí traerte los datos, muchas veces (o casi siempre), vas a necesitar guardar información en el teléfono. Ya sea para trabajar en modo offline o guardar alguna información importante que tú necesites para que la aplicación funcione. Entonces ahí usas SQLight, para desarrollo móvil. Tiene otras aplicaciones, una versión open source y también una versión de pago, que como tú ya sabes, incluye soporte.
Y como te comenté hace un momento, en el año 2009, Oracle compra a Sun Microsystems, una de las empresas más importantes del desarrollo de software, pero que lamentablemente fue perdiendo fuerza hasta que Oracle la compró. Y en el paquete de compra les vino MySQL, la base de datos open source más importante, o más usada del mundo.
Como te imaginarás, a la comunidad open source, esto les cayó muy mal. No les gustó. Se preocuparon, porque Oracle nunca ha creado open source y el miedo era que lo vuelva privativo. Si bien es cierto que esto no es posible, porque las licencias lo prohíben, pero uno nunca sabe con estas corporaciones gigantescas. Así que ellos dijeron, vamos a salvar a MySQL y vamos a crear un fork. ¿Qué es eso?, es un proyecto derivado, que nace a partir de otro. Y a este proyecto le llamaron MariaDB.
MariaDB
MariaDB es prácticamente MySQL 100% libre. Tiene algunas mejoras, obviamente, pero en esencia, es un MySQL open source. Es 100% compatible con MySQL, así que cualquier cosa que hagas con MySQL, la puedes hacer aquí. Si tienes un sistema o aplicación corriendo sobre MySQL, puedes migrarlo tranquilamente a MariaDB. Si eres un idealista y crees que todos deben ser completamente open source, ya es cosa tuya. Obviamente, ofrece algunas mejoras de rendimiento frente a MySQL, pero tampoco son tan espectaculares.
Una anécdota: los creadores de MySQL participan en la creación de MariaDB, para que veas la importancia que le dieron a este proyecto. Y para que veas la importancia de este proyecto, te muestro un ranking de los sistemas de gestores de base de datos más usados del mundo:
Ahora, si quieres tener toda esta información resumida, en EDteam tenemos una infografía, que puedes enseñársela a tus amigos o familia.
Y si no lo sabías, lo aprendiste en EDteam. Por qué en español, nadie explica mejor que EDteam.