saltar al contenido

Bases de datos integradas: una mirada en profundidad

¿Qué es una base de datos integrada?

Hay dos definiciones principales de una base de datos integrada:

 

  • Base de datos para sistemas integrados—Como los dispositivos móviles o la electrónica de consumo. La base de datos incrustada necesita ocupar un espacio reducido y proporcionar un rendimiento adecuado en un entorno con memoria limitada y capacidades de CPU.
  • Bases de datos integradas en aplicaciones: Esto significa que la aplicación no se comunica con un servidor de base de datos y tiene un componente de base de datos incorporado. Este tipo de base de datos se usa comúnmente en computación de borde aplicaciones.

 

En ambas definiciones, un sistema de base de datos integrado es un conjunto de bibliotecas asociadas con el código de aplicación o firmware, que proporciona funcionalidad de base de datos integrada a la aplicación o dispositivo. Esto es diferente de un sistema de base de datos cliente / servidor, en el que otro proceso (servidor de base de datos) proporciona servicios de base de datos para una o más aplicaciones cliente.

 

En este artículo, aprenderá:

 

Características de los sistemas integrados

Un sistema integrado es una combinación de hardware y software de computadora diseñado para realizar funciones específicas. Los ejemplos incluyen teléfonos inteligentes, cámaras digitales y automóviles conectados. Los sistemas integrados tienen las siguientes características:

 

  • Comprende hardware, firmware y software
  • Diseñado para tareas específicas del sistema, por lo que normalmente se integra en un sistema más grande
  • La potencia informática la proporcionan circuitos integrados: un microprocesador o microcontrolador.
  • Por lo general, se requiere para realizar sus tareas con una limitación de tiempo para admitir otros componentes del sistema más grande.

 

Requisitos para bases de datos integradas

Para ver si una base de datos es adecuada para su uso como base de datos incorporada, considere los siguientes requisitos:

 

  • ¿Es compatible con CRUD (crear, leer, actualizar, eliminar)?
  • ¿Es compatible con ACID (atomicidad, consistencia, aislamiento, durabilidad)?
  • ¿Puedo trabajar con diferentes lenguajes de programación y plataforma operativa?
  • ¿Es posible mover datos fácilmente a una base de datos central?
  • ¿No necesita mantenimiento y no necesita administradores de bases de datos?

 

En casi todas las situaciones de bases de datos integradas, las aplicaciones integradas necesitan almacenar múltiples flujos de datos complejos para su análisis y acción. Deben poder recibir datos de varias fuentes y realizar lecturas y escrituras simultáneamente. La base de datos no solo necesita almacenar datos, sino que también debe mantener la integridad y poder recuperarse en caso de una falla del sistema.

 

Puede utilizar la funcionalidad CRUD básica para modificar datos, pero no garantiza la integridad de los datos. ACID proporciona un nivel de integridad mucho mejor y puede admitir escenarios transaccionales. En escenarios integrados, los registros de datos se escriben en la base de datos en varias declaraciones. Así es como ACID puede ayudar a cumplir con estos requisitos:

 

  • Atomicidad requiere que la base de datos permita o niegue todas las declaraciones que componen el registro. 
  • Consistencia ayuda a prevenir cambios parciales que pueden dañar los datos
  • Aislamiento le permite escribir varios registros de datos al mismo tiempo sin que se afecten entre sí
  • Durabilidad significa que si se confirma un registro, permanece comprometido incluso si el sistema falla

 

El incumplimiento de los requisitos de ACID aumenta el riesgo de corrupción de la base de datos. En entornos con cientos o miles de dispositivos, es más probable que se produzcan errores y el cumplimiento de ACID se vuelve más importante.

 

Tipos de bases de datos integradas

Hay tres tipos principales de bases de datos que se utilizan en escenarios integrados. 

 

Tradicional Bases de datos SQL se puede utilizar en sistemas integrados, pero a menudo debe sacrificar el espacio de almacenamiento o la funcionalidad. Algunos implementan solo una parte de la sintaxis SQL o proporcionan una sintaxis SQL de tipo débil, lo que no garantiza la integridad.

 

Bases de datos de series de tiempo medir, rastrear, investigar y automatizar flujos de datos sensibles al tiempo. Bases de datos de series de tiempo sacrifique algunas funciones ACID por velocidad. Por ejemplo, si su sistema está tratando de optimizar el número de escrituras, los registros pueden bloquearse por un período de tiempo más corto, lo que puede reducir la consistencia.

 

Sistemas de historiador de datos recopilar y almacenar grandes volúmenes de datos con marca de tiempo. Un historiador de datos suele estar integrado en un dispositivo y se utiliza principalmente para recopilar y transmitir información, con capacidades de análisis limitadas. Puede proporcionar una interfaz de consulta SQL, no necesariamente sigue la sintaxis SQL estándar.

 

Bases de datos integradas: SQL frente a API

En muchos sistemas embebidos, existe la posibilidad de elegir entre habilitar el acceso SQL a la base de datos (normalmente utilizando JDBC / ODBC) o el acceso a API patentado. Veamos algunos de los pros y los contras de cada enfoque.

Uso de SQL para acceder a bases de datos integradas

Pros

  • SQL es bien conocido y puede ser de utilidad inmediata para desarrolladores y administradores, al igual que las API de JDBC y ODBC.
  • Proporciona capacidades de consulta flexibles.
  • Posibilidad de aplicar una instrucción UPDATE o DELETE a varias filas al mismo tiempo, mientras que las API que no son de SQL tratan cada fila por separado.

Contras

  • La sobrecarga necesaria para analizar, optimizar y ejecutar consultas es alta. Estos pasos utilizan ciclos de CPU, memoria y otros recursos escasos.
  • SQL a menudo no es exactamente compatible con otros sistemas, por ejemplo, con la programación orientada a objetos. Esto se conoce como "desajuste de impedancia". Para resolver esto, se introdujo el mapeo relacional de objetos (ORM), pero agregó aún más gastos generales.

Uso de API patentadas para acceder a bases de datos integradas

Pros

  • Evita el desajuste de impedancia, porque la misma empresa diseña la base de datos integrada y su API.
  • Elimina la sobrecarga de procesar consultas SQL, otorgando acceso directo a los datos.

Contras

  • El uso de una API patentada es una habilidad especializada que los miembros del equipo deberán aprender.
  • Lo bloquea en un sistema de base de datos específico, lo que dificulta la migración si no cumple con los requisitos.

 

Captura de datos modificados (CDC) y bases de datos integradas

CDC se utiliza en muchos sistemas integrados para identificar qué datos han cambiado y guardar el cambio de datos para propósitos futuros. Esto puede permitir la recuperación de la base de datos, la replicación y el manejo de eventos de transmisión.

 

Hay tres funciones principales que proporciona la captura de datos de cambios en las bases de datos integradas:

 

  • Registro de transacciones: Se utiliza para recuperar transacciones de la base de datos después de un bloqueo, mediante acciones UNDO y REDO
  • Disparadores: Acciones a las que se llama cuando la base de datos detecta una operación INSERT, UPDATE o DELETE
  • Replicación—CDC puede admitir varios modos de replicación:
    • Copia de transacciones confirmadas (duplicación o replicación transaccional)
    • Copia de transacciones comprometidas y no comprometidas (envío de registros)

 

Base de datos integrada Raima

Ya sea que necesite una base de datos integrable o una base de datos para sistemas integrados, Raima Database Manager es la solución ideal. Nuestra base de datos integrada relacional está optimizada para un rendimiento de alto rendimiento y un uso reducido de memoria.

 

La base de datos integrada RDM se puede utilizar mediante una llamada desde su amplio conjunto de API, incluida la interfaz de cursor de C / C ++, la interfaz JDBC de Java y la interfaz ADO.NET de C#. También admite el uso de herramientas estándar de terceros a través del administrador de controladores ODBC.

 

Hoy en día, las empresas enfrentan el desafío de un ritmo acelerado de negocios en el perímetro, donde las decisiones en tiempo real sobre la entrada de múltiples dispositivos son críticas. Las organizaciones de hoy exigen tener todo de inmediato. Raima Database Manager ha sido creado para aplicaciones que necesitan datos fiables y en tiempo real.

 

Con el aumento de la implementación de almacenamiento flash y SSD en el espacio del mercado integrado, las escrituras minimizadas en los medios son importantes para ofrecer un alto rendimiento y, al mismo tiempo, garantizar que se extienda la vida media. Raima es uno de los pocos proveedores de bases de datos integradas que tiene esta funcionalidad incorporada.

 

La arquitectura modular de Raima está diseñada para cumplir con la compleja arquitectura de futuras aplicaciones integradas.