¿Qué es una base de datos integrada?

¿Qué es una base de datos integrada de Actian Corp?

Una base de datos integrada es un sistema de gestión de bases de datos (SGBD) que funciona como parte integrante de una aplicación, en lugar de como un proceso de servidor independiente y autónomo. En lugar de comunicarse con un servidor de bases de datos externo a través de una conexión de red, la aplicación accede al motor de la base de datos directamente mediante una biblioteca o una API que está compilada en la propia aplicación o incluida con ella.

Las bases de datos integradas se denominan a veces «bases de datos en proceso», ya que el motor de la base de datos se ejecuta dentro del mismo proceso que la aplicación, sin la sobrecarga que supone la comunicación entre procesos.


Características principales de una base de datos integrada

  • No hay ningún proceso de servidor independiente. El motor de la base de datos forma parte del binario de la aplicación o se carga como biblioteca compartida en tiempo de ejecución. No hay ningún demonio ni servicio que instalar, configurar o gestionar por separado.
  • Almacenamiento local. Los datos se almacenan en el sistema de archivos local del dispositivo anfitrión, no en un servidor remoto.
  • Ciclo de vida gestionado por la aplicación. La base de datos se inicia cuando se inicia la aplicación y se detiene cuando esta se detiene.
  • Configuración mínima. Dado que no hay ningún servidor que configurar, las bases de datos integradas suelen requerir poca o ninguna intervención por parte del administrador de bases de datos.
  • Bajo consumo de recursos. Diseñado para entornos con limitaciones, como dispositivos periféricos, aplicaciones móviles y software de escritorio.

En qué se diferencian las bases de datos integradas de las bases de datos cliente-servidor

Base de datos Embarqué Base de datos cliente-servidor
Arquitectura En trámite, parte de la solicitud Proceso de servidor independiente
Se requiere conexión a Internet No Sí (TCP/IP o socket)
Complejidad de la configuración Mínimo: implementar junto con la aplicación Requiere la instalación y configuración del servidor
Usuarios simultáneos Normalmente, una instancia de la aplicación Muchos clientes simultáneos
Ideal para Aplicaciones de escritorio, dispositivos periféricos/IoT, dispositivos móviles, quioscos Cargas de trabajo multiusuario para empresas
Administración Autogestionado o gestionado por la aplicación Se requiere un administrador de bases de datos (DBA) o un administrador de sistemas (sysadmin)

Casos de uso común

  • Aplicaciones para ordenadores de sobremesa y estaciones de trabajo. Los terminales de punto de venta (TPV), las herramientas de gestión de inventario y el software CAD suelen incorporar una base de datos para almacenar datos de trabajo locales sin depender de una red.
  • Dispositivos periféricos y de IoT. Los controladores industriales, los instrumentos médicos y los sensores inteligentes utilizan bases de datos integradas para registrar y consultar datos en el borde antes de sincronizarse, de forma opcional, con un almacén central.
  • Aplicaciones móviles. Las aplicaciones para smartphones y tabletas utilizan bases de datos integradas para garantizar la persistencia de los datos en el dispositivo, incluso sin conexión.
  • Quioscos y terminales de autoservicio. Los quioscos autónomos (cajeros automáticos, máquinas expendedoras de billetes, señalización digital) utilizan bases de datos integradas, ya que funcionan sin conexión continua al servidor.
  • Desarrollo y pruebas. Las bases de datos integradas suelen utilizarse como sustitutos ligeros durante el desarrollo y en los procesos de integración continua, en los que no resulta práctico poner en marcha un servidor de bases de datos completo.
  • Software empaquetado u OEM. Los proveedores independientes de software (ISV) integran una base de datos en sus productos para que los clientes dispongan de una solución completa y autónoma sin necesidad de adquirir ni gestionar un sistema de gestión de bases de datos (SGBD) independiente.

Términos clave relacionados con las bases de datos integradas

Base de datos en proceso
Una base de datos cuyo motor se ejecuta dentro del mismo proceso del sistema operativo que la aplicación, compartiendo el mismo espacio de memoria. Todas las llamadas a funciones son locales, lo que elimina por completo la latencia de red.

Base de datos sin necesidad de administración
Una base de datos diseñada para no requerir configuración, ajuste ni mantenimiento manuales. La aplicación gestiona todos los aspectos del ciclo de vida de la base de datos, lo que la hace adecuada para implementaciones sin administradores de bases de datos dedicados.

Cumplimiento de los principios ACID
Atomicidad, consistencia, aislamiento y durabilidad: las cuatro propiedades que garantizan un procesamiento fiable de las transacciones. Una base de datos integrada de nivel de producción debe cumplir con el modelo ACID para garantizar la integridad de los datos incluso tras un corte de corriente o un fallo de la aplicación.

Compatibilidad con SQL
Muchas bases de datos integradas ofrecen una interfaz SQL estándar, lo que permite a los desarrolladores utilizar una sintaxis de consulta familiar y hace posible compartir el esquema y la lógica de consulta con una base de datos complementaria del lado del servidor.

ISAM (Método de acceso secuencial indexado)
Método de gestión y almacenamiento de archivos utilizado por algunas bases de datos integradas (entre ellas, Actian PSQL) para proporcionar un acceso rápido y directo a los registros a través de índices. Los motores ISAM son especialmente adecuados para cargas de trabajo transaccionales de alta frecuencia en equipos con recursos limitados.

Btrieve
El gestor de registros original desarrollado por Novell (posteriormente por Pervasive Software, ahora Actian) que sentó las bases de lo que hoy es Actian PSQL. Btrieve fue pionero en el concepto de un motor de datos transaccional ligero e integrable, y es una de las tecnologías de bases de datos integradas más longevas en uso productivo.

Licencias OEM
Modelo de licencia en el que un proveedor independiente de software (ISV) integra un motor de base de datos de terceros en su propio producto y lo distribuye a los clientes finales. Las bases de datos integradas suelen distribuirse en virtud de acuerdos OEM, ya que el usuario final nunca interactúa directamente con la base de datos.


Ventajas de las bases de datos integradas

  • Implementación simplificada. Al distribuir un único instalador de la aplicación, los clientes ya no tienen que instalar, obtener la licencia ni configurar un servidor de bases de datos independiente.
  • Reducción del coste total de propiedad. Para las implementaciones locales no se requiere hardware de servidor, ni administrador de bases de datos remoto, ni infraestructura de red.
  • Alto rendimiento para cargas de trabajo locales. La eliminación de la pila de red y de la comunicación entre procesos puede reducir drásticamente la latencia en cargas de trabajo de transacciones de alta frecuencia con una sola aplicación.
  • Funcionamiento sin conexión. Las bases de datos integradas funcionan sin necesidad de conexión a la red, lo que las hace ideales para dispositivos de campo, entornos aislados y ubicaciones con conexión inestable.
  • Comportamiento coherente. Dado que la versión de la base de datos viene integrada en la aplicación, no existe el riesgo de que una actualización del servidor altere el funcionamiento de la aplicación de forma inesperada.

Limitaciones de las bases de datos integradas

  • Ámbito de una sola aplicación. La mayoría de las bases de datos integradas están diseñadas para que acceda a ellas una sola aplicación a la vez en un único equipo. La concurrencia multiusuario a través de una red suele gestionarse mediante una edición complementaria de tipo cliente-servidor.
  • Escalabilidad horizontal limitada. Las bases de datos integradas se escalan verticalmente con el hardware del host, no horizontalmente a través de nodos distribuidos.
  • No es adecuado para la elaboración de informes centralizados. La agregación de datos procedentes de numerosas implementaciones integradas requiere una capa ETL o de sincronización para trasladar los datos a un almacén central con el fin de generar informes a nivel de toda la empresa.

Base de datos integrada frente a base de datos en memoria

Una base de datos en memoria almacena sus datos de trabajo principalmente en la RAM para obtener el máximo rendimiento en lectura y escritura, y puede o no conservar los datos en el disco. Una base de datos integrada se define por su arquitectura (dentro del proceso, sin servidor independiente) más que por su medio de almacenamiento: una base de datos integrada puede almacenar datos en el disco, en memoria o en ambos. Los dos conceptos son ortogonales: una base de datos puede ser a la vez integrada y en memoria, o integrada con persistencia basada en disco.


Preguntas frecuentes

¿Es SQLite una base de datos integrada?
Sí. SQLite es una de las bases de datos integradas más utilizadas del mundo, y se emplea ampliamente en aplicaciones móviles, navegadores y herramientas de desarrollo. Almacena toda la base de datos en un único archivo multiplataforma.

¿Puede una base de datos integrada admitir varios usuarios? Las bases de datos integradas suelen estar diseñadas para una única instancia de aplicación en un único equipo. Muchos proveedores —entre ellos Actian— ofrecen una edición cliente-servidor del mismo motor central que amplía las capacidades de las bases de datos integradas a implementaciones multiusuario en red sin que los desarrolladores tengan que modificar el código de sus aplicaciones.

¿Cómo gestiona una base de datos integrada la recuperación tras un fallo? Una base de datos integrada de nivel de producción utiliza el registro por adelantado (WAL) o un mecanismo de registro similar para garantizar que las transacciones confirmadas antes de un fallo sean recuperables y que las transacciones incompletas se reviertan al reiniciar el sistema.

¿Cuál es la diferencia entre una base de datos integrada y una base de datos basada en archivos? Todas las bases de datos integradas almacenan datos en archivos, pero no todo el almacenamiento basado en archivos puede considerarse una base de datos. Una base de datos ofrece capacidades de consulta estructurada, indexación, gestión de transacciones y control de concurrencia, además del almacenamiento de archivos. Un simple archivo plano o CSV no las ofrece.


Para obtener información Acerca de Actian , la base de datos transaccional de Actian diseñada específicamente para entornos integrados y de cliente-servidor, visite actian.com.

Preguntas frecuentes

Una base de datos integrada es un sistema de gestión de bases de datos (SGBD) que se ejecuta como parte integrante de una aplicación, en lugar de como un proceso de servidor independiente y autónomo. Se accede al motor de la base de datos directamente a través de una biblioteca o una API compilada o incluida en la propia aplicación.

Una base de datos integrada se ejecuta dentro del mismo proceso que la aplicación, no requiere conexión a la red y se gestiona de forma autónoma, mientras que una base de datos cliente-servidor se ejecuta como un proceso de servidor independiente al que se conectan varios clientes a través de una red. Las bases de datos integradas son las más adecuadas para aplicaciones de escritorio, dispositivos periféricos y aplicaciones móviles, mientras que las bases de datos cliente-servidor están diseñadas para cargas de trabajo empresariales multiusuario.

Las bases de datos integradas simplifican la implementación al eliminar la necesidad de instalar un servidor de bases de datos independiente, reducen el coste total de propiedad al suprimir los requisitos de hardware de servidor y de administrador de bases de datos, y ofrecen un alto rendimiento para las cargas de trabajo locales al eliminar la sobrecarga de la red y de la comunicación entre procesos.

Sí. Las bases de datos integradas almacenan los datos de forma local en el sistema de archivos del dispositivo anfitrión y funcionan sin necesidad de conexión a la red, lo que las hace idóneas para dispositivos de campo, entornos aislados físicamente y lugares con una conexión poco fiable.

Entre los casos de uso más habituales se incluyen los terminales de punto de venta, los dispositivos periféricos y de IoT, las aplicaciones móviles, los quioscos de autoservicio, los procesos de desarrollo y pruebas, y el software empaquetado, en los que los proveedores independientes de software necesitan ofrecer una solución completa y autónoma.

No. Una base de datos integrada se define por su arquitectura (integrada en el proceso, sin servidor independiente) y no por su medio de almacenamiento, y puede almacenar datos en disco, en memoria o en ambos. Una base de datos en memoria almacena los datos de trabajo principalmente en la RAM, y ambos conceptos son independientes entre sí.

 

Las bases de datos integradas suelen estar diseñadas para una única instancia de aplicación en un único equipo. Muchos proveedores, entre ellos Actian, ofrecen una edición cliente-servidor del mismo motor central que amplía las capacidades de las bases de datos integradas a implementaciones multiusuario en red sin que los desarrolladores tengan que modificar el código de sus aplicaciones.

Una base de datos integrada de nivel de producción utiliza el registro por adelantado (WAL) o un mecanismo de registro similar para garantizar que las transacciones confirmadas antes de un fallo sean recuperables y que las transacciones incompletas se reviertan al reiniciar el sistema.

Las bases de datos integradas están limitadas a una única aplicación en un único equipo, se escalan verticalmente en lugar de horizontalmente y no resultan adecuadas para la generación de informes centralizados en múltiples implementaciones sin una capa adicional de ETL o de sincronización.

La licencia OEM es un modelo en el que un proveedor independiente de software integra un motor de base de datos de terceros en su propio producto y lo distribuye a los clientes finales, quienes nunca interactúan directamente con la base de datos. Las bases de datos integradas suelen distribuirse de esta forma, ya que funcionan como un componente transparente de la aplicación.