Un sistema de base de datos integrado es un sistema de gestión de bases de datos (DBMS) que está estrechamente integrado con un software de aplicación ; está integrado en la aplicación (en lugar de presentarse como una aplicación independiente). Es una categoría tecnológica amplia que incluye: [1]
Nota: El término “integrado” a veces se puede utilizar para referirse al uso en dispositivos integrados (en contraposición a la definición dada anteriormente). Sin embargo, solo un pequeño subconjunto de productos de bases de datos integradas se utilizan en sistemas integrados en tiempo real , como conmutadores de telecomunicaciones y productos electrónicos de consumo . [2] (Consulte la base de datos móvil para conocer las bases de datos de tamaño reducido que podrían utilizarse en dispositivos integrados).
Los principales productos de bases de datos integradas incluyen, en orden alfabético:
Advantage Database Server (ADS) de Sybase es un sistema de gestión de bases de datos integrado. Proporciona acceso a datos relacionales y al método de acceso secuencial indexado (ISAM) y es compatible con múltiples plataformas, incluidas Windows, Linux y Netware. Está disponible como una base de datos de servidor de archivos local libre de regalías o como una versión completa de cliente-servidor. ADS es altamente escalable, no requiere administración y es compatible con una variedad de IDE, incluidos .NET Framework (.NET), Object Pascal ( Delphi ), Visual FoxPro (FoxPro), PHP , Visual Basic (VB), Visual Objects (VO), Vulcan , Clipper , Perl , Java , xHarbour , etc.
Derby es un motor SQL integrable escrito íntegramente en Java. Derby es un motor maduro, totalmente transaccional y multiusuario, que está disponible de forma gratuita bajo la licencia Apache y recibe un mantenimiento activo. Página del proyecto Derby. También se distribuye como parte del kit de desarrollo Java SE (JDK) de Oracle con el nombre de Java DB.
Empress Software, Inc., desarrollador de Empress Embedded Database, es una empresa privada fundada en 1979. Empress Embedded Database es una base de datos relacional de funciones completas que ha sido incorporada en aplicaciones de organizaciones pequeñas y grandes, con entornos de implementación que incluyen sistemas médicos, enrutadores de red, monitores de plantas de energía nuclear, sistemas de gestión de satélites y otras aplicaciones de sistemas integrados que requieren confiabilidad y potencia. [3] Empress es un motor de base de datos SQL compatible con ACID con C, C++ , Java, JDBC , ODBC, SQL , ADO.NET y API de nivel de kernel . Las aplicaciones desarrolladas utilizando estas API se pueden ejecutar en modos independientes y/o de servidor. Empress Embedded Database se ejecuta en Linux, Unix , Microsoft Windows y sistemas operativos en tiempo real .
ESE es una tecnología de almacenamiento de datos ISAM de Microsoft, un componente básico de Microsoft Exchange Server y Active Directory. Su finalidad es permitir que las aplicaciones almacenen y recuperen datos mediante acceso indexado y secuencial. Windows Mail y Desktop Search en el sistema operativo Windows Vista también utilizan ESE para almacenar índices e información de propiedades respectivamente.
McObject LLC lanzó eXtremeDB como la primera base de datos integrada en memoria diseñada desde cero para sistemas integrados en tiempo real. Al producto inicial pronto se le unió eXtremeDB High Availability (HA) para aplicaciones tolerantes a fallos . La familia de productos ahora incluye ediciones de 64 bits y de registro de transacciones , y el híbrido eXtremeDB Fusion, que combina almacenamiento de datos en memoria y en disco. En 2008, McObject presentó eXtremeDB Kernel Mode, el primer DBMS integrado diseñado para ejecutarse en un núcleo de sistema operativo . [4] Hoy en día, eXtremeDB se utiliza en millones de sistemas integrados y en tiempo real en todo el mundo. McObject también ofrece Perst , una base de datos integrada orientada a objetos y de código abierto para Java, Java ME , .NET, .NET Compact Framework y Silverlight .
Firebird Embedded es un motor de base de datos relacional. Como bifurcación de código abierto de InterBase, es compatible con ACID , admite activadores y procedimientos almacenados, y está disponible en sistemas Linux, OSX y Windows. Tiene las mismas características que la versión clásica y superservidor de Firebird; dos o más subprocesos (y aplicaciones) pueden acceder a la misma base de datos al mismo tiempo a partir de Firebird 2.5. Por lo tanto, Firebird Embedded actúa como un servidor local para un cliente con subprocesos que accede a sus bases de datos (eso significa que funciona correctamente para aplicaciones web ASP.NET, porque allí, cada usuario tiene su propio subproceso, lo que significa que dos usuarios podrían acceder a la misma base de datos al mismo tiempo, pero no estarían en el mismo subproceso, porque ASP.NET abre un nuevo subproceso para cada usuario). Exporta los puntos de entrada estándar de la API de Firebird. La principal ventaja de las bases de datos Firebird Embedded es que, a diferencia de las bases de datos SQLite o Access, se pueden conectar a un servidor Firebird completo sin ninguna modificación y también son multiplataforma (se ejecutan en Linux, OS X con soporte completo de ASP.NET Mono).
Firebird no está realmente integrado ya que no se puede vincular estáticamente.
Motor de base de datos de código abierto escrito en Java. Modo integrado y de servidor, compatibilidad con clústeres, puede ejecutarse dentro de Google App Engine . Admite archivos de base de datos cifrados (AES o XTEA). El desarrollo de H2 comenzó en mayo de 2004, pero se publicó por primera vez el 14 de diciembre de 2005. H2 tiene licencia dual y está disponible bajo una versión modificada de la MPL 1.1 (licencia pública de Mozilla) o bajo la EPL 1.0 (sin modificar) (licencia pública de Eclipse).
HailDB es una versión independiente e integrable del motor de almacenamiento InnoDB. Dado que HailDB se basa en la misma base de código que el motor de almacenamiento InnoDB, contiene muchas de las mismas características, incluidas alto rendimiento y escalabilidad, control de concurrencia multiversión (MVCC), bloqueo a nivel de fila, detección de interbloqueo, tolerancia a fallas y recuperación automática de fallas. Debido a que el motor integrado es completamente independiente de MySQL, carece de componentes de servidor como redes, permisos a nivel de objeto, etc. Al eliminar la sobrecarga del servidor MySQL, InnoDB ocupa poco espacio y es ideal para integrarse en aplicaciones que requieren alto rendimiento y concurrencia. Al igual que con la mayoría de los sistemas de bases de datos integrados, HailDB está diseñado para acceder principalmente con una API C similar a ISAM en lugar de SQL (aunque se admite una variante SQL extremadamente rudimentaria). [5]
El proyecto ya no se mantiene desde 2015. [6]
HSQLDB es un sistema de gestión de bases de datos relacionales de código abierto con una licencia similar a BSD que se ejecuta en la misma máquina virtual Java que la aplicación integrada. HSQLDB admite una variedad de modos de tabla en memoria y basados en disco, Unicode y SQL:2016.
InfinityDB Embedded Java DBMS es un almacén de claves y valores ordenado y jerárquico. Ahora tiene una edición cifrada y una edición cliente/servidor. La velocidad de múltiples núcleos está patentada. InfinityDB es seguro, transaccional, comprimible y robusto, en un solo archivo para una instalación instantánea y una administración cero. Las API incluyen el simple y rápido 'ItemSpace', una vista ConcurrentNavigableMap y JSON. Un RemoteItemSpace puede redirigir de forma transparente las API integradas a otras instancias de base de datos. Cliente/Servidor incluye un servidor Servlet liviano, administración web y exploración de bases de datos, y REST para Python.
Informix Dynamic Server (IDS) se caracteriza por ser un servidor de base de datos integrable de clase empresarial , que combina características integrables como poco espacio, capacidades programables y autónomas con características de base de datos de clase empresarial como alta disponibilidad y características de replicación flexible. [7] IDS se utiliza en escenarios profundamente integrados como sistemas de procesamiento de llamadas de telefonía IP, aplicaciones de puntos de venta y sistemas de procesamiento de transacciones financieras.
InterBase es una plataforma de base de datos SQL multiplataforma, habilitada para Unicode y ganadora de premios IoT, que puede integrarse en aplicaciones listas para usar. Compatibilidad con SMP y cifrado de 256 bits con solidez AES en disco, compatibilidad con SQL 92 y ACID y compatibilidad con plataformas Windows, Macintosh, Linux, Solaris, iOS y Android. Ideal tanto para pequeñas y medianas empresas como para grandes empresas que admiten cientos de usuarios y desarrollo de aplicaciones móviles. InterBase Light es una versión gratuita que se puede utilizar en cualquier dispositivo móvil y es ideal para aplicaciones móviles. Las empresas pueden cambiar a una versión paga a medida que aumentan los requisitos de gestión de cambios y seguridad. InterBase tiene una alta adopción en las industrias de defensa, espacio aéreo, petróleo y gas y fabricación.
LevelDB es un almacén de claves y valores ordenado creado por Google como una implementación liviana del diseño de almacenamiento de Bigtable . Como biblioteca (que es la única forma de usar LevelDB), su API nativa es C++. También incluye contenedores C oficiales para la mayoría de las funciones. Existen contenedores API de terceros para Python, PHP, Go (existe una implementación de LevelDB pura para Go, pero aún está en progreso), Node.js y Objective C. Google distribuye LevelDB bajo la licencia New BSD .
Lightning Memory-Mapped Database (LMDB) es una base de datos de clave-valor mapeada en memoria para el Proyecto OpenLDAP . Está escrita en C y la API está modelada a partir de la API de Berkeley DB , aunque mucho más simplificada. La biblioteca es extremadamente compacta, compilando hasta menos de 40 KB de código objeto x86, siendo generalmente más rápida que bibliotecas similares como Berkeley DB , LevelDB , etc. La biblioteca implementa árboles B+ con control de concurrencia multiversión (MVCC), almacenamiento de un solo nivel , copia en escritura y proporciona transacciones ACID completas sin bloqueos. La biblioteca está optimizada para alta concurrencia de lectura; los lectores no necesitan bloqueos en absoluto. Los lectores no bloquean a los escritores y los escritores no bloquean a los lectores, por lo que el rendimiento de lectura escala perfectamente de manera lineal a través de arbitrariamente muchos subprocesos y CPU. Existen envoltorios de terceros para C++, Erlang y Python. LMDB es distribuida por el Proyecto OpenLDAP bajo la Licencia Pública OpenLDAP. A partir de 2013, el Proyecto OpenLDAP dejó de utilizar Berkeley DB y adoptó LMDB.
Está disponible una versión integrada de mantenimiento cero del servidor de base de datos relacional propietario Mimer SQL. Ocupa poco espacio debido a su diseño modular, es totalmente compatible con el estándar SQL y tiene puertos para Windows , Linux , Automotive Grade Linux , Android , QNX , INTEGRITY , entre otros.
MonetDB/e es la versión integrada del motor de almacenamiento de columnas SQL MonetDB de código abierto. Disponible para C, C++, Java (JDBC) y Python. Licencia MonetDB, basada en MPL 2.0. El predecesor MonetDBLite (para R, Python y Java) ya no recibe mantenimiento. Se ha reemplazado por MonetDB/e.
La biblioteca de servidor MySQL integrado proporciona la mayoría de las funciones de MySQL normal como una biblioteca enlazable que se puede ejecutar en el contexto de un proceso cliente. Después de la inicialización, los clientes pueden usar las mismas llamadas de API de C que cuando se comunican con un servidor MySQL independiente, pero con menos sobrecarga de comunicación y sin necesidad de un proceso de base de datos independiente.
NexusDB es el sucesor comercial de la base de datos FlashFiler, que ahora es de código abierto. Ambos pueden integrarse en aplicaciones Delphi para crear ejecutables independientes con funcionalidad completa de base de datos.
Como su nombre lo indica, la base de datos integrada de Oracle es en realidad Berkeley DB , que Oracle adquirió de Sleepycat Software. Originalmente se desarrolló en la Universidad de California. [8] Berkeley DB es una base de datos integrada rápida y de código abierto que se utiliza en varios productos de código abierto conocidos, incluidos los sistemas operativos Linux y BSD Unix, el servidor web Apache y la suite de productividad OpenOffice. No obstante, en los últimos años muchos proyectos conocidos cambiaron a utilizar LMDB , porque supera a Berkeley DB en escenarios clave sobre la base del diseño de " menos es más ", así como también debido al cambio de licencia. [9]
RocksDB, creado en Facebook , comenzó como una bifurcación de LevelDB . [10] Se centra en el rendimiento, especialmente en los SSD . Añade muchas características, incluidas transacciones , [11] copias de seguridad , [12] instantáneas , [13] filtros Bloom , [14] familias de columnas , [15] caducidad, [16] operadores de fusión personalizados, [17] compactación más ajustable, [18] recopilación de estadísticas, [19] e indexación geoespacial. [20] Se utiliza como motor de almacenamiento dentro de varias otras bases de datos, incluidas ArangoDB , [21] Ceph , [22] CockroachDB , [23] MongoRocks, [24] MyRocks , [25] Rocksandra, [26] TiKV. [27] [28] y YugabyteDB . [29]
solid DB es una base de datos relacional híbrida en disco/en memoria que se utiliza a menudo como base de datos de sistema integrada en equipos de telecomunicaciones, software de red y sistemas similares. La tecnología de base de datos en memoria se utiliza para lograr un rendimiento de decenas de miles de transacciones por segundo con tiempos de respuesta medidos en microsegundos. La opción de alta disponibilidad mantiene dos copias de los datos sincronizados en todo momento. En caso de fallo del sistema, las aplicaciones pueden recuperar el acceso a solid DB en menos de un segundo sin pérdida de datos.
SQLite es una biblioteca de software que implementa un motor de base de datos SQL transaccional autónomo, sin servidor y sin configuración. SQLite es el motor de base de datos SQL más implementado en el mundo. El código fuente, principalmente C, de SQLite es de dominio público. Incluye una biblioteca C nativa y un cliente de línea de comandos simple para su base de datos. Está incluido en varios sistemas operativos; entre ellos se encuentran Android , FreeBSD , iOS , OS X y Windows 10. [ 30] También lo utiliza el navegador web Chromium y sus derivados. [31]
SQL Server Compact es una base de datos integrada de Microsoft con una amplia variedad de funciones, como conexiones multiproceso, T-SQL, servicios de sincronización ADO.NET para sincronizar con cualquier base de datos back-end, replicación de combinación con SQL Server, API de programación: LINQ to SQL , LINQ to Entities, ADO.NET. El producto se ejecuta en plataformas Windows de escritorio y móviles. Ha estado en el mercado durante mucho tiempo y muchas empresas lo utilizan en software de producción (estudios de caso). El producto pasó por múltiples cambios de marca y se lo conoció con varios nombres como: SQL CE, SQL Server CE, SQL Server Mobile, SQL Mobile.