fbpx
Motores de bases de datos

Parte 1

Necesitas saber esto sobre los motores de bases de datos (I)

KelSin Global Consulting

Un motor de base de datos (o motor de almacenamiento) es el componente de software subyacente que un sistema de administración de la base de datos (SGBD) utiliza para crear, leer, actualizar y eliminar (CRUD) datos de una base de datos. La mayoría de los sistemas de administración de la base de datos incluye su interfaz de programación de aplicación propia (API) que permite al usuario interaccionar con su motor subyacente sin pasar por la interfaz de usuario del SGBD.

¿Qué es un motor SQL?

Un motor SQL es un tipo de software que recopila e interpreta comandos SQL para que se puedan realizar las operaciones apropiadas en la base de datos relacional. El objetivo del motor SQL es crear, leer, actualizar y eliminar datos (CRUD) de una base de datos.

SQL significa Structured Query Language (lenguaje de consulta estructurada), el cual puede referirse como lenguaje de programación o lenguaje de consulta. El objetivo principal de SQL es interactuar con la base de datos relacional en la que se almacenan de forma tabular. SQL puede administrar una gran cantidad de datos, especialmente si los datos se escriben simultáneamente y si se tienen muchas transiciones sobre esos datos.

SQL, ¿es un lenguaje de programación o de query?

Con SQL podemos usar indistintamente el lenguaje de consulta y de programación. Muchos desarrolladores se refieren a SQL como un lenguaje de programación peculiar, porque el motor SQL contiene dos componentes compilador y el compilador de máquina vertical. El compilador compila los comandos de consulta en procedimientos y la máquina virtual ejecuta esos procedimientos. El concepto del SQL engine, compilando y ejecutando el SQL query, lo hace un lenguaje de programación.

¿Cómo funciona el motor de base de datos SQL?

En la superficie, todos sabemos que el compilador de SQL compila la consulta y la máquina virtual ejecuta la consulta compilada. Ahora veremos cómo funciona el motor de base de datos.

SQL tiene muchas etapas en las que el proceso de compilación y ejecución de consultas se llevan a cabo. Cada motor de base de datos SQL tiene dos componentes principales: compilador y máquina virtual para ejecutar consultas. Donde el compilador lee la consulta y la convierte en un código de bytes apropiado. Luego ese código de bytes es evaluado por la máquina virtual y luego se le da una respuesta adecuada al cliente.

Etapas principales de la ejecución completa de una consulta:

  • Compilación (análisis, controles y semántica)
  • Unión
  • Optimización
  • Ejecución

Compilación – análisis

Es parte del proceso de compilación, y al compilar el análisis, la instrucción de consulta se tokeniza en palabras individuales y cláusulas apropiadas.

Compilar – verificar – semántica

La compilación de semánticas verifica la validación de la declaración y la compara con el catálogo del sistema. Esta etapa de compilación verifica si la consultas es válida o no, también valida la autoridad del usuario para ejecutar la declaración.

Compilación – unión

Crea la representación binaria correspondiente para la instrucción de consulta ingresada. Todos los motores del servidor tienen este estado de compilación donde se genera el código de bytes. En esta etapa de compilación, la declaración se ha compilado y ahora se enviará al servidor de la base de datos para su optimización y ejecución.

Optimización

Optimiza el mejor algoritmo para el código de bytes. Esta característica también se conoce como Query Optimizer o Rational Engine.

Ejecución

La máquina virtual obtiene el código de bytes optimizado y lo ejecuta.

¿Cómo podemos ayudarte? Contáctanos.

Lee aquí la segunda parte de este artículo: Necesitas saber esto sobre los motores de bases de datos (II)

Autor: Francisco Serrano, Director de Desarrollo de KelSin Global Consulting

REFERENCIAS

Motor de base de datos, Wikipedia (2021)

Cómo funciona el motor de base de datos SQL, Empleos TI

“Estudio comparativo de motores de bases de datos SQL y NoSQL para la gestión de información transaccional”,Baldassari Valencia Holger David (2019).

Base de Datos en Memoria, BSG Institute, NICOLAS NAKASONE

What are the best scalable In-Memory Databases?, Slant (2021)

DB-Engines Ranking – Trend Popularity, Solid IT gmbh (2021)

Comments are closed