La arquitectura centrada en bases de datos o arquitectura centrada en datos tiene varios significados distintos, generalmente relacionados con arquitecturas de software en las que las bases de datos desempeñan un papel crucial. A menudo, esta descripción se utiliza para contrastar el diseño con un enfoque alternativo. Por ejemplo, la caracterización de una arquitectura como "centrada en bases de datos" puede significar cualquier combinación de lo siguiente:
- Se utiliza un sistema de gestión de bases de datos relacionales estándar y de propósito general , en contraposición a estructuras de datos y métodos de acceso personalizados basados en memoria o archivos . Con la evolución del software de gestión de bases de datos sofisticado , gran parte del cual es gratuito o viene incluido con el sistema operativo , los desarrolladores de aplicaciones dependen cada vez más de las herramientas de bases de datos estándar, especialmente para agilizar el desarrollo de aplicaciones .
- Utilizando lógica dinámica basada en tablas , en contraposición a la lógica incorporada en programas previamente compilados . El uso de lógica basada en tablas, es decir, un comportamiento fuertemente condicionado por el contenido de una base de datos, permite que los programas sean más simples y flexibles. Esta capacidad es una característica fundamental de los lenguajes de programación dinámicos . Véase también tablas de control para tablas que normalmente se codifican e integran en los programas como estructuras de datos (es decir, no como sentencias compiladas), pero que también podrían leerse desde un archivo plano , una base de datos o incluso recuperarse de una hoja de cálculo .
- Se utilizan procedimientos almacenados que se ejecutan en servidores de bases de datos , en contraposición a una mayor dependencia de la lógica que se ejecuta en servidores de aplicaciones de nivel intermedio en una arquitectura de múltiples niveles . El grado en que la lógica de negocio debe ubicarse en el back-end en lugar de en otro nivel es objeto de debate constante. Por ejemplo, Toon Koppelaars presenta un análisis detallado de arquitecturas alternativas basadas en Oracle que varían en la ubicación de la lógica de negocio, concluyendo que un enfoque centrado en la base de datos tiene ventajas prácticas desde el punto de vista de la facilidad de desarrollo y mantenimiento [ 1 ] y el rendimiento. [ 2 ]
- Utilizar una base de datos compartida como base para la comunicación entre procesos paralelos en aplicaciones de computación distribuida , en contraposición a la comunicación directa entre procesos mediante funciones de paso de mensajes y middleware orientado a mensajes . Una ventaja potencial de la arquitectura centrada en la base de datos en aplicaciones distribuidas es que simplifica el diseño al utilizar el procesamiento de transacciones e indexación proporcionados por el DBMS para lograr un alto grado de confiabilidad, rendimiento y capacidad. [ 3 ] Por ejemplo, Base One describe una arquitectura de computación distribuida centrada en la base de datos para computación en malla y en clúster , y explica cómo este diseño proporciona mayor seguridad, tolerancia a fallos y escalabilidad . [ 4 ]
- una arquitectura empresarial general que favorece los modelos de datos compartidos [ 5 ] en lugar de permitir que cada aplicación tenga su propio modelo de datos idiosincrásico.
Incluso se ha propuesto una arquitectura centrada en bases de datos extrema, denominada arquitectura exclusivamente RDBMS [ 6 ] [ 7 ] , en la que las tres capas clásicas de una aplicación se mantienen dentro del RDBMS . Esta arquitectura utiliza intensivamente el DBPL (Lenguaje de Programación de Bases de Datos) del RDBMS. Un ejemplo de software con esta arquitectura es Oracle Application Express (APEX).
Véase también
- Tablas de control
- Lenguajes de programación centrados en datos
- El paradigma de programación basado en datos , que convierte la información utilizada en un sistema en el principal motor de diseño.
Referencias
- ↑ Koppelaars, Toon (2004). "UN ENFOQUE CENTRADO EN LA BASE DE DATOS PARA EL DESARROLLO DE APLICACIONES J2EE" (PDF) . Oracle Development Tools Users Group (ODTUG). Archivado del original (PDF) el 25 de mayo de 2006. Consultado el 26 de septiembre de 2024 .
- ↑ Toon Koppelaars (31 de octubre de 2016). NoPLSql y enfoques de bases de datos gruesas con Toon Koppelaars (vídeo). Aprendizaje de oráculos . Recuperado 26 de septiembre 2024 - vía Youtube.
- ↑ Lind P, Alm M (2006), "Un sistema de química virtual centrado en bases de datos", J Chem Inf Model , 46 (3): 1034– 9, doi : 10.1021/ci050360b , PMID 16711722 .
- ↑ Computación en malla y en clúster centrada en bases de datos
- ↑ "La revolución centrada en los datos" . TDAN.com . Consultado el 9 de enero de 2017 .
- ↑ Vicente, Alfonso; Etcheverry, Lorena; Sabiguero, Ariel (2021). "Una arquitectura exclusivamente basada en RDBMS para aplicaciones web". 2021 XLVII Conferencia Latinoamericana de Computación (CLEI) . pp. 1–9 . doi : 10.1109/CLEI53233.2021.9640017 . ISBN 978-1-6654-9503-5. S2CID 245387844 .
- ↑ Vicente, Alfonso (30-06-2023). "En defensa de la arquitectura extrema centrada en bases de datos" . Memoria Investigaciones en Ingeniería . 24 (24): 117– 128. doi : 10.36561/ing.24.9 . ISSN 2301-1106 . S2CID 259690085 .
- Arquitectura de software
- Gestión de datos
- Arquitectura de computación distribuida