Skip to Content

¿Qué es la abstracción de datos en un DBMS?

La abstracción de datos permite que los desarrolladores y los administradores muestren solo los datos necesarios a los usuarios front-end, ya que no necesitan tener acceso a un silo de datos completo. La abstracción se utiliza en varias áreas del desarrollo de software y la capa de datos de una aplicación separa la base de datos de la interfaz de usuario. El objetivo es aprovechar una mayor escalabilidad y una menor refactorización durante los cambios en la infraestructura.

¿Qué es un DBMS?

Un sistema de gestión de bases de datos (DBMS) es una herramienta que se utiliza como interfaz entre un usuario y los datos almacenados brutos. Con un DBMS, los administradores pueden ver los datos almacenados en una base de datos, actualizar o insertar nuevos datos y ejecutar consultas para recuperar los datos. Los administradores también pueden administrar elementos de la base de datos, como procedimientos almacenados, activadores, tablas, índices y otros objetos. Un DBMS suele usarse para crear la base de datos y administrarla más tarde.

Un ejemplo de DBMS es MySQL . MySQL es una base de datos relacional, por lo que los administradores utilizan el DBMS para ver objetos de bases de datos, crear tablas o consultar datos. Una aplicación utiliza el DBMS para consultar datos o añadir datos a la base de datos. Como MySQL es una base de datos relacional, los datos se almacenan en tablas con restricciones en cada columna para controlar el tipo de datos almacenados.

Otro ejemplo de DBMS es MongoDB . MongoDB es una base de datos de código abierto NoSQL que almacena datos no estructurados. Los datos se almacenan en documentos y los administradores pueden almacenar cualquier número y tipo de elementos en el documento. Los administradores utilizan el DBMS de MongoDB para gestionar la estructura de la base de datos y las aplicaciones lo utilizan para consultar y añadir datos.

¿Qué es una abstracción de datos?

La abstracción de datos es una función lógica de una aplicación para separar los datos brutos de la interfaz. En términos sencillos, la capa de datos gestiona la conexión a la base de datos y la consulta desde el front-end. La abstracción de datos permite que la aplicación front-end consulte los datos independientemente de dónde se almacenen. Luego, los desarrolladores pueden intercambiar bases de datos back-end sin refactorizar grandes secciones de su código para conectarse y trabajar con un nuevo motor de bases de datos.

Por ejemplo, supongamos que utiliza MongoDB en desarrollo hasta que pueda determinar el tipo de datos con los que debe trabajar. Luego quiere usar MySQL en producción. La capa de abstracción de datos maneja la conexión a la base de datos y las consultas tanto desde MongoDB como desde MySQL sin afectar a la base de código front-end. Los usuarios desconocen los cambios en los motores de las bases de datos, pero pueden obtener la información que necesitan.

Niveles de abstracción de datos

La abstracción de datos es un término general que maneja varios aspectos diferentes de la gestión de los datos. Cuando los desarrolladores crean una aplicación y trabajan con los administradores, hay tres niveles de abstracción: física, lógica y de vista. Aquí tiene una breve explicación de estos niveles:

  • Nivel físico/interno: Este nivel abarca la infraestructura que aloja la base de datos, incluida la información de red del servidor y la ubicación del servidor. Por ejemplo, los componentes físicos pueden ser una máquina virtual en la nube con recursos de CPU y memoria de nivel medio.
  • Nivel lógico/conceptual: La capa lógica es el código utilizado para conectarse a la capa física. Contiene la lógica de las conexiones, las consultas y la gestión de errores. Las capas lógicas pueden incluir código para conectarse a múltiples bases de datos, en función de los factores de entrada.
  • Vista/nivel externo: La aplicación front-end permite que los usuarios vean los datos. Este nivel de abstracción es el más alejado de la ubicación de almacenamiento de datos sin procesar, pero formatea y presenta los datos al espectador para que puedan ser útiles.

Arquitecturas de bases de datos de múltiples niveles

Las capas de abstracción pueden ser capas lógicas incrustadas en su aplicación, pero también pueden ubicarse en recursos físicamente diferentes. El propósito de la abstracción de múltiples niveles es facilitar mucho el escalamiento de una sola capa sin afectar a otras capas. La arquitectura de múltiples niveles también se denomina “arquitectura de varios niveles”, en la que los administradores pueden elegir tener varios niveles para cada componente de la aplicación.

Es habitual tener tres niveles en una arquitectura de múltiples niveles: presentación, datos y aplicación. Aquí tiene una breve descripción de estos niveles:

  • Nivel de datos: Este nivel almacena los datos y ejecuta el motor de la base de datos. Puede estar en un servidor bare bones dedicado o en una máquina virtual. Las bases de datos también pueden funcionar en clústeres en un almacén de datos con pipelines de datos complejos, en función del escenario de caso de uso.
  • Nivel de aplicación: Este nivel maneja la aplicación. Por ejemplo, si el front-end es una aplicación web personalizada, un servidor web almacena los archivos de la aplicación y los ejecuta. Los usuarios se conectan a este servidor para ejecutar la aplicación.
  • Nivel de presentación: El nivel de presentación es distinto del nivel de aplicación, aunque suenen similares. Los niveles de aplicación tienen la base de código y la lógica de la aplicación, mientras que el nivel de presentación es lo que ve el usuario. En una aplicación web, el nivel de presentación es el CSS y el HTML que se utilizan para dar formato y mostrar el código de la aplicación al usuario.

¿Cuáles son los beneficios de la abstracción de datos?

La separación de las capas de datos de la aplicación front-end permite escalar granularmente los recursos. Los cambios en la capa de datos tampoco afectarían al front-end, por lo que la abstracción de datos limita la refactorización del código cuando se utiliza otro motor de base de datos o cuando la capa de datos cambia de ubicación.

Por ejemplo, supongamos que su organización decide mover la base de datos a la nube desde las ubicaciones locales. Solo la capa de datos tendría que cambiar y no sería necesario cambiar el código de la aplicación front-end. Los administradores pueden escalar recursos para la capa de datos sin necesidad de escalar recursos para la capa de aplicación si no es necesario.

Conclusión

En una aplicación empresarial, tener una capa de abstracción de datos para conectarse a su DBMS le permite escalar vertical o verticalmente. También puede realizar cambios en la arquitectura del nivel de datos de su arquitectura sin realizar muchos cambios de código en su base de código. Puede usar múltiples motores de base de datos o mover su base de datos a una nueva ubicación sin sobrecargar mucho.

Cuando planifique su arquitectura de abstracción de datos, eche un vistazo a FlashArray™ de Pure Storage® para un almacenamiento unificado de bloques y archivos. Para el almacenamiento en la nube, eche un vistazo al almacenamiento de bloques en la nube de Pure Storage.

04/2024
Disaster Recovery for MySQL with FlashArray
Detailed guidance for choosing a data-protection and disaster-recovery solution for MySQL databases with Pure Storage FlashArray.
White Paper
24 páginas
CONTACTAR CON NOSOTROS
¿Preguntas, comentarios?

¿Tiene alguna pregunta o comentario sobre los productos o las certificaciones de Pure?  Estamos aquí para ayudarle.

Programe una Demostración

Programe una demostración en vivo y vea personalmente cómo Pure puede ayudarle a convertir sus datos en unos resultados potentes. 

Llámenos al: +34 51 889 8963

Medios de comunicaciónpr@purestorage.com

 

Castellana 81

28046 Madrid

Oficinas Pure: 1415 y 1417 (planta 14)

info@purestorage.com

CERRAR
Your Browser Is No Longer Supported!

Older browsers often represent security risks. In order to deliver the best possible experience when using our site, please update to any of these latest browsers.