Arquitectura de MySQL

MySQL es un sistema de gestión de bases de datos relacionales que es un software gratuito de código abierto bajo licencia GNU. También cuenta con el respaldo de Oracle Company. Es un sistema de administración de bases de datos rápido, escalable y fácil de usar. MYSQL admite muchos sistemas operativos como Windows, Linux, MacOS, etc.

MySQL es un lenguaje de consulta estructurado que se utiliza para manipular, administrar y recuperar datos con la ayuda de varias consultas.

MySQL está desarrollado y respaldado por MySQL AB, que es una empresa sueca y está escrito en lenguaje de programación C y C++. Fue desarrollado por Michael Widenius y David Hughes. A menudo se usa para decir que MYSQL lleva el nombre de la hija del cofundador MIchael Widenius, cuyo nombre es ‘My’.

Arquitectura de MySQL:

La arquitectura de MYSQL describe la relación entre los diferentes componentes del sistema MYSQL. MYSQL sigue la Arquitectura Cliente-Servidor. Está diseñado para que el usuario final, es decir, los Clientes, puedan acceder a los recursos desde la Computadora que es el servidor utilizando varios servicios de red. La arquitectura de MYSQL contiene las siguientes capas principales:

  • Cliente
  • Servidor
  • Capa de almacenamiento

Capa de cliente:
esta capa es la capa superior en el diagrama anterior. El Cliente da instrucciones de solicitud al Servicio con la ayuda de la Capa del Cliente. El Cliente realiza la solicitud a través del Símbolo del sistema o a través de la pantalla GUI utilizando comandos y expresiones MYSQL válidos. Si las Expresiones y los comandos son válidos, el resultado se obtiene en la pantalla. Algunos servicios importantes de la capa de cliente son:

  • Manejo de conexiones.
  • Autenticación.
  • Seguridad.

Manejo de la conexión:  
cuando un cliente envía una solicitud al servidor y el servidor acepta la solicitud y el cliente está conectado. Cuando el cliente está conectado al servidor en ese momento, el cliente obtiene su propio hilo para su conexión. Con la ayuda de este hilo, se ejecutan todas las consultas del lado del cliente.

Autenticación: 
la autenticación se realiza en el lado del servidor cuando el cliente está conectado al servidor MYSQL. La autenticación se realiza con la ayuda del nombre de usuario y la contraseña.

Seguridad: 
después de la autenticación, cuando el cliente se conecta con éxito al servidor MySQL, el servidor verificará que un cliente en particular tenga los privilegios para emitir ciertas consultas contra el servidor MySQL.

Capa de servidor:  
la segunda capa de la arquitectura MYSQL es responsable de todas las funcionalidades lógicas del sistema de administración de bases de datos relacionales de MYSQL. Esta capa del sistema MYSQL también se conoce como «Cerebro de la arquitectura MYSQL» . Cuando el Cliente da instrucciones de solicitud al Servidor y el servidor da la salida tan pronto como la instrucción coincide. Los diversos subcomponentes del servidor MYSQL son:

  • Manejo de subprocesos:
    cuando un cliente envía una solicitud al servidor y el servidor acepta la solicitud y el cliente está conectado. Cuando el cliente está conectado al servidor en ese momento, un cliente obtiene su propio subproceso para su conexión. Este subproceso lo proporciona el manejo de subprocesos de la capa del servidor. Además, las consultas del lado del cliente que ejecuta el subproceso también son manejadas por el módulo Manejo de subprocesos.
  • Analizador:
    un analizador es un tipo de componente de software que crea una estructura de datos (árbol de análisis) de una entrada determinada. Antes de analizar, se realiza un análisis léxico, es decir, la entrada se divide en un número de tokens. Después de que los datos estén disponibles en el analizador de elementos más pequeños, realice el análisis de sintaxis, el análisis de semántica después de que se genere el árbol de análisis como salida.
  • Optimizer:
    tan pronto como se realiza el análisis, se aplican varios tipos de técnicas de optimización en Optimizer Block. Estas técnicas pueden incluir reescribir la consulta, ordenar el escaneo de las tablas y elegir los índices correctos para usar, etc.
  • Query Cache:
    Query Cache almacena el conjunto de resultados completo para la declaración de consulta ingresada. Vísperas antes del análisis, MYSQL Server consulta la caché de consultas. Cuando el cliente escribe una consulta, si la consulta escrita por el cliente es idéntica en el caché, entonces el servidor simplemente omite el análisis, la optimización e incluso la ejecución, simplemente muestra el resultado del caché.
  • Búfer y caché: almacenará
    en caché y almacenará en búfer la consulta o problema anterior solicitado por el usuario. Cuando el usuario escribe una consulta, primero va a la caché de consultas y luego la caché de consultas verificará que la misma consulta o problema está disponible en la memoria caché. Si la misma consulta está disponible, proporcionará resultados sin interferir con Parser, Optimizer.
  • Caché de metadatos de tabla:
    el caché de metadatos es un área reservada de la memoria que se utiliza para rastrear información en bases de datos, índices u objetos. Cuanto mayor sea el número de bases de datos, índices u objetos abiertos, mayor será el tamaño de la caché de metadatos.
  • Caché de claves:
    una caché de claves es una entrada de índice que identifica de forma exclusiva un objeto en una caché. De forma predeterminada, los servidores perimetrales almacenan en caché el contenido en función de la ruta completa del recurso y una string de consulta.

Capa de almacenamiento: 
esta capa de motor de almacenamiento de la arquitectura MYSQL la hace única y la más preferible para los desarrolladores. Debido a esta capa, la capa MYSQL se cuenta como el RDBMS más utilizado y se usa ampliamente. En el servidor MYSQL, para diferentes situaciones y requisitos, se utilizan diferentes tipos de motores de almacenamiento, que son InnoDB, MYiSAM, NDB, Memory, etc. Estos motores de almacenamiento se utilizan como motores de almacenamiento conectables donde las tablas creadas por el usuario se conectan con ellos.

Características de MYSQL:

  1. El lenguaje MYSQL es fácil de usar en comparación con otros lenguajes de programación como C, C++, Java, etc. Al aprender con algunos comandos básicos, podemos trabajar, crear e interactuar con la base de datos.
  2. MYSQL consta de una capa de seguridad de datos que protege los datos de los infractores. Además, las contraseñas están encriptadas en MYSQL.
  3. MYSQL sigue la Arquitectura Cliente-Servidor donde el Cliente solicita Comandos e instrucciones y el Servidor producirá una salida tan pronto como la instrucción coincida.
  4. MYSQL es de uso gratuito en la versión comunitaria. Entonces podemos descargarlo del sitio web de MYSQL y trabajar en él libremente.
  5. MYSQL utiliza subprocesos múltiples, lo que lo hace escalable. Puede manejar cualquier cantidad de datos. El límite de tamaño de archivo predeterminado es de 4 GB, pero podemos aumentarlo según nuestras necesidades.
  6. MYSQL se considera como una de las bases de datos rápidas. Su solidez se determina sobre la base de un gran número de pruebas comparativas.
  7. MYSQL es muy flexible porque admite una gran cantidad de sistemas integrados.
  8. MYSQL es compatible para ejecutarse en varios sistemas operativos como Windows, MacOS, Linux, etc.
  9. MYSQL permite que las transacciones se reviertan, confirmen y recuperen efectivo.
  10. Tiene un problema de pérdida de memoria baja que aumenta su eficiencia de memoria.
  11. MYSQL versión 8.0 proporciona soporte de contraseña dual, una es una contraseña actual y otra es una contraseña secundaria. Con la ayuda de esto podemos crear una nueva contraseña.
  12. MYSQL proporciona funciones de partición que mejoran el rendimiento de grandes bases de datos.

Publicación traducida automáticamente

Artículo escrito por jagroopofficial y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *