Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre algunos conceptos basicos del sistema.

Anuncios
Anuncios

Como mencionamos anteriormente mysql nacio como un proyecto de base de datos open source que si bien no era completamente gratuito porque para uso comercial debiamos comprar una licencia pero con un valor tan infimo comparado con la competencia que valia completamente la pena, igualmente se seguia distribuyendo con las distintas distros de Linux y mientras tanto se podia usar sin limite alguno hasta que entro en escena Oracle, una de las empresas mas malvadas que no tiene tanta mala fama como otras, que decidio comprarla anulando completamente la posibilidad de poder seguir utilizandola gratuita desde Linux pero si se podia descargar desde la pagina de Oracle aunque no con todas las posibilidades que brindaba anteriormente, aunque al dia de hoy esta un poco mas abierto a brindar un producto similar al original, y por esta razon su creador, Monty Widenius, decidio tomar la version 5.1 de mysql y crear a MariaDB con todas las mismas caracteristicas y proveyendo la capacidad de poder trabajar con una base con las mismas caracteristicas.

Anuncios
Anuncios

Una de las principales caracteristicas que posee MariaDB es el tipo de base de datos predeterminada, InnoDB, el cual es el mismo que mysql ahorrando problemas de incompatibilidad pero MariaDB tambien nos provee un tipo nuevo derivado de este llamado XtraDB que trabaja de la misma forma pero corrige algunos errores del formato original y a su vez mejora la performance en determinadas operaciones, por otro lado el protocolo de conexion es el mismo por lo tanto las herramientas que utilizaban para conectarse a mysql sirven perfectamente para mariadb, la mayoria de las API y declaraciones que se utilizaban en mysql funcionan con mariadb, la gran mayoria son simplemente cambiando el nombre de mysql a mariadb pero hay muy pocas que no funcionan, un ejemplo son las declaraciones que utiliza la API de C para mariadb, los plugins tambien mantienen una gran compatibilidad pero puede haber alguno que no funcione, pasemos a ver como es su arquitectura basica de trabajo:

Anuncios
Anuncios

Como dijimos este es un esquema basica de como trabaja, primero tenemos a los clientes que intentaran conectarse al servidor, primero pasaremos por el plugin de autenticacion donde verifica que los clientes tengan un usuario y una contraseña correctos para conectarse, en caso de ser correctos pasa al Parser que analizara todo lo que envien los clientes porque este sera el verdadero interprete de los comandos sql pero antes pasara por otro bloque para verificar los permisos que poseen los clientes y si pueden ejecutar los comandos, en caso de tener los permisos y que el comando sea correcto pasara al siguiente bloque que sera un optimizador para verificar cual sera la mejor opcion para devolver la informacion, antes pasara por el engine que almacena la informacion, esto variara dependiendo de la tabla, cache de memoria o en otros, y estos a su vez estaran en distintas ubicaciones, siendo que los tipos de tablas pueden estar en memoria o discos, la cache esta unicamente en memoria, y el otros puede estar en disco, memoria u otro tipo como internet, por ejemplo, y aqui en base a cual es mas rapido para responder el optimizador utilizara a tal.

Anuncios

En resumen, hoy hemos visto un poco mas de la historia, algunos de los tipos de las tablas, tambien hemos visto como es la estructura de trabajo de la base cuando se conecta un cliente y muy por arriba todo lo que ocurre internamente, en los proximos posts veremos un poco mas a fondo como son los comandos internos, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50