Base de datos multimodelo
Una base de datos multimodelo es una plataforma de procesamiento de datos que soporta múltiples modelos de datos, que definen los parámetros de cómo se organiza y acomoda la información en una base de datos. Ser capaz de incorporar múltiples modelos en una sola base de datos permite que los equipos de tecnología de la información (TI) y otros usuarios cumplan con diversos requisitos de aplicación sin necesidad de implementar diferentes sistemas de bases de datos.
Los modelos de datos que estas bases de datos pueden acomodar incluyen relacionales, jerárquicos y objetos, además de documentos, gráficos, columnas anchas y estilos de valor-clave que se agrupan bajo el paraguas de la tecnología NoSQL. Los proveedores de bases de datos individuales ofrecen diferentes combinaciones de modelos de datos, lo que requiere que los compradores potenciales encuentren tecnologías de bases de datos multimodelos que satisfagan sus necesidades de aplicación particulares.
A diferencia de los sistemas que se limitan únicamente al modelo de datos relacional líder del mercado, las bases de datos multimodelo no almacenan de forma uniforme los datos en una estructura de tablas basada en filas. Como resultado, pueden manejar diferentes formas de datos que no se ajustan al esquema rígido del modelo relacional, incluidos los tipos de datos no estructurados y semiestructurados. En algunos casos, sin embargo, el enfoque multimodelo puede limitar la integridad transaccional que utilizan los sistemas de gestión de bases de datos relacionales para mantener la exactitud y consistencia de los datos.
El modelo relacional y sus interfaces asociadas de programación de lenguaje de consulta estructurado (SQL) ganaron paulatinamente dominio en la computación empresarial en los años posteriores a su definición por el investigador E.F. Codd de IBM, en 1970. Pero otros tipos de bases de datos siguieron teniendo adherentes. Y a mediados de los años 2000, comenzaron a florecer modelos de datos adicionales, conforme las grandes empresas web y otras organizaciones desarrollaron una gama más amplia de aplicaciones de computación distribuida, incluyendo aquellas que incluían formas de gran crecimiento de big data no adecuadas para bases de datos relacionales.
Notable entre los tipos emergentes de bases de datos en la era de big data y de la computación en la nube es la base de datos NoSQL en sus varias categorías. La creciente adopción del software NoSQL alimentó el concepto de "persistencia políglota", que sostiene que las organizaciones deben usar una mezcla de tecnologías de base de datos para almacenar los tipos divergentes de datos que generan y recopilan. Las bases de datos multimodelos proporcionan un medio para simplificar estos entornos.
En cierta medida, el término base de datos multimodelo surgió al mismo tiempo que algunos proveedores NoSQL comenzaron a mezclar diferentes modelos de datos en sus ofertas de productos. Pero también había precursores de eso. Por ejemplo, MarkLogic admite modelos de datos de documentos, gráficos, relacionales y de otro tipo en su base de datos del mismo nombre; fundada en 2001, fue anterior al auge de NoSQL, pero ahora está incluida entre las filas de los proveedores de NoSQL. Además, InterSystems ofrece modelos de objetos y relacionales en su software Caché, una base de datos multidimensional que fue lanzada por primera vez en 1997.
Las entradas más recientes de la base de datos multimodelo del campamento NoSQL provienen de empresas que incluyen Couchbase, DataStax y Basho Technologies, entre otras. Couchbase soporta modelos documentales y relacionales en su base de datos Couchbase Server. DataStax, que vende una versión de la base de datos de código abierto de Apache Cassandra, llamada DataStax Enterprise, combinó un modelo de datos de valor clave con uno basado en columnas, y continuó agregando soporte de documentos y gráficos. Cada vez más, la búsqueda de texto se ve como otro modelo de datos que soportan algunos motores NoSQL; entre los ejemplos se encuentra la base de datos Riak de Basho, que combina los valores clave, objetos y modelos de búsqueda.
Las bases de datos relacionales ampliamente utilizadas también tienen una historia de soportar la ruta del multimodelo, aunque siguen siendo esencialmente de naturaleza relacional. Por ejemplo, Oracle, Microsoft e IBM han aumentado la capacidad de almacenar XML, JSON, sistema de información geográfica, gráficos y otros tipos de datos en sus bases de datos relacionales.