¿Debería tener bases de datos separadas de documentos, series temporales y NoSQL SQL?
Gestionar y analizar datos heterogéneos es un reto para la mayoría de las empresas, que la oleada de conjuntos de datos generados por la computación de borde no ha hecho más que exacerbar. Este reto se deriva de un "desajuste de tipos de datos" bastante grande, así como de cómo y dónde se han incorporado los datos a las aplicaciones y los procesos empresariales. ¿Cómo hemos llegado hasta aquí?
En su momento, los datos eran en gran medida transaccionales, y los sistemas de procesamiento transaccional en línea (OLTP) y de planificación de recursos empresariales (ERP) los gestionaban en tiempo real, con una estructura muy rígida. En un principio, los sistemas de gestión de bases de datos relacionales (RDBMS) se encargaban de satisfacer las necesidades de estos sistemas y, con el tiempo, evolucionaron hacia los almacenes de datos, almacenando y administrando el procesamiento analítico en línea (OLAP) para el análisis de datos históricos de diversas empresas, como Teradata, IBM, SAP y Oracle.
A medida que la mayoría de los procesos manuales basados en papel pasaron a la gestión digital de registros, surgieron los sistemas de gestión de contenidos como un medio para gestionar todos los documentos no estructurados generados por los trabajadores del conocimiento o por la funcionalidad ampliada de los sistemas ERP y de informática personal. Estos sistemas contienen datos de documentos semiestructurados y no estructurados almacenados en formatos eXtensible Markup Language (XML) y JavaScript Object Notation (JSON).
Paralelamente, y sobre todo en los últimos años con la revolución del Internet de las cosas (IoT), nos encontramos ante la tercera ola de digitalización de datos, que opera en el «edge» a través de sensores, cámaras de vídeo y otros dispositivos IoT. Estos generan toda la gama de datos estructurados y no estructurados, aunque dos tercios de ellos se presentan en formato de series temporales. Ninguno de estos últimos conjuntos de datos se adapta a los sistemas RDBMS que sustentan los almacenes de datos debido a la forma en que se procesan y analizan los datos, los formatos de datos utilizados y el rápido crecimiento del tamaño de los conjuntos de datos.
En consecuencia, surgieron bases de datos de almacenamiento de documentos independientes, como MongoDB y Couchbase, así como varias bases de datos de series temporales, entre ellas InfluxDB y una gran variedad de sistemas de registro personalizados, para gestionar estos conjuntos de datos tan distintos. Cada una de ellas cuenta con una interfaz de programación de aplicaciones (API) independiente, agrupadas bajo el término NoSQL, es decir, todo aquello que no es lenguaje de consulta estructurado (SQL).
La consecuencia de estas tres oleadas de tipos de datos y estructuras de bases de datos es que los arquitectos de datos ahora deben implementar bases de datos separadas para cada tipo de datos y caso de uso o intentar fusionar y agregar todos los tipos de datos diferentes en una única base de datos. Hasta hace poco, el único punto de agregación significativo o que abarcaba toda la empresa para múltiples bases de datos y tipos de datos era el almacén de datos tradicional. Sin embargo, el almacén de datos tradicional se está quedando atrás como punto de agregación por dos razones.
En primer lugar, muchas de ellas se basan en arquitecturas poco flexibles en cuanto a su capacidad para gestionar datos JSON y series temporales, así como al coste que supone ampliarlas para gestionar conjuntos de datos más grandes o la complejidad de los análisis modernos, como la inteligencia artificial (IA) y el aprendizaje automático (ML). En segundo lugar, enviar todos los datos a una única ubicación centralizada en las propias instalaciones puede resultar costoso y dificulta la toma de decisiones en el punto de acción, en el perímetro de la red.
En la era de la computación periférica y en la que la mayor parte de los datos se crean y emanan de la periferia en lugar del centro de datos o de una imagen virtualizada en la nube, las aplicaciones y plataformas especializadas tienen una función esencial en la habilitación de los procesos empresariales. Al igual que cada proceso empresarial es único, los requisitos de datos para que la tecnología respalde esos procesos también lo son. Aunque pueda parecer que la mejor tecnología de bases de datos para el almacenamiento de documentos frente a las series temporales frente a los datos transaccionales tradicionales y totalmente estructurados puede eliminar las limitaciones en el uso de la tecnología dentro de una empresa, debe tener mucho cuidado antes de seguir ese camino.
En general, cuantas más API, arquitecturas de bases de datos subyacentes, diferencias resultantes en los formatos de archivos compatibles, sistemas de gestión y supervisión y cambios en los que se utilizan en función del caso de uso, simplemente aumentan la complejidad de las arquitecturas de datos de su empresa. Esto ocurre sobre todo si se ofrecen o implantan múltiples productos, tecnologías y metodologías de integración con este popurrí de bases de datos. Esta complejidad tiende a tener un efecto dominó en su ciclo de vida de soporte para cualquier software que aproveche estas bases de datos, incluso la adquisición de las bases de datos.
Siempre que pueda encontrar una única base de datos con un rendimiento similar y que aborde todos los tipos de datos y SQL, así como la manipulación directa de los datos a través de una API NoSQL, tiene mucho más sentido fusionar y agregar datos heterogéneos en una estructura de base de datos común, especialmente en los casos de uso de Edge Computing. Por ejemplo, si se analizan datos de videovigilancia, redes de sensores y registros para la seguridad, las combinaciones de estos y otros conjuntos de datos dispares deben agregarse para realizar análisis interfuncionales.
Si necesita analizar, crear informes y cuadros de mando basados en datos de distintos tipos y en diferentes sistemas de origen, necesitará algún tipo de capacidad para normalizar los datos, de modo que puedan consultarse in situ o a distancia a partir de un único conjunto de datos.
Los requisitos han cambiado en los últimos 30 años y Actian ha creado una nueva base de datos modular diseñada específicamente para tecnologías y casos de uso de Edge Computing, capaz de gestionar todos los conjuntos de datos a través de una única API NoSQL y, al mismo tiempo, totalmente compatible con SQL. Tanto en funciones SQL como NoSQL, los resultados denuestras pruebas comparativas de terceros muestran un rendimiento muy superior al de cualquiera de las principales bases de datos Document Store, Time-Series o SQL tradicionales capaces de gestionar Mobile e IoT.