En esta release se ha incorporado el soporte de Apache Kudu como Base de Datos de Tiempo Real (BDTR). Kudu es una solución open-source que soporta cargas de trabajo mixtas: real-time y analytics mediante un mecanismo eficiente de escaneado sobre una única capa de almacenamiento.
Al utilizar una base de datos relacional como Kudu como BDTR, la información suministrada en las ontologías será mapeada a tabla, aunque se seguirá pudiendo insertar consultar la información en formato JSON.
Esta implementación se ha realizado utilizando el acceso JDBC de Hive, mediante el cual se tiene acceso a Impala y con ella a la interconexión Impala-Kudu.
Con el uso de Kudu se diluye la diferencia entre BDTR y BDH, permitiendo el almacenamiento sobre una única capa de almacenamiento y simplificando la arquitectura de aplicacions mixtas.
Para configurar Kudu como BDTR en una instalación de Sofia2 únicamente hay que modificar unos parámetros de configuración para redirigir la lógica hacia el DAO encargado de la gestión.
En una instalación de Sofia2 con Kudu como BDTR, la creación de ontologías se realiza campo a campo, en el que en cada uno habrá que indicar el tipo de dato. Con esta información se irán generando las columnas de nuestra tabla relacional.
Una vez creada una ontología, no se podrán modificar, crear o eliminar los campos que forman parte de esta, pero sí cualquier otra propiedad de la ontología en cuestión.
El envío y recepción de datos es independiente del modelo de datos elegido, es decir, en caso de que Kudu haya sido configurado, hay un gestor que se encarga de transformar los mensajes entrantes para que se adapten al modelo elegido. Un ejemplo claro de esto lo podemos ver en la gestión CRUD de instancias.
En Kudu esta información se ha guardado como muestra la siguiente imagen:
Desde la consola BDTR BDH disponible en la plataforma podemos realizar consultas SQL sobre cualquier ontología y elegir el modo de representación de estos datos más acorde a nuestro caso: formato JSON o tabla.
[…] y como os contamos en el post Soporte Kudu, desde la FEEP IoT & Big Data Platform Sofia2 3.4 se ha incorporado y se puede hacer uso del […]