A partir de la versión 3.1.0 en el Control Panel se ha pasado a denominar Entidades a las Ontologías. Esto no altera ninguna funcionalidad, simplemente se ha cambiado la nomenclatura para un mejor entendimiento del concepto.
Plataforma propone una Arquitectura Data Centric, es decir una arquitectura donde los datos son el activo principal y permanente, mientras que las aplicaciones van y vienen. En estas arquitecturas el modelo de datos precede a la implementación de cualquier aplicación dada y será válido mucho después de que se reemplacen.
En la plataforma se soporta a través del concepto de Entidad (también llamada Ontología), este concepto es el que permite aislar a la plataforma de las tecnologías de persistencia subyacentes ofreciendo una capa de abstracción SQL. La información que proviene de la ingesta y procesamiento queda almacenada en el Semantic Data Hub de la plataforma, como hemos dicho es el motor de persistencia de la plataforma.
Sus principales características:
Soporta el almacenamiento de la información en diferentes repositorios Stores (actualmente soportados MongoDB, Bases de datos relacionales, Elasticsearch, Kudu, BigQuery, HIVE, CosmosDB, base de datos de grafos y a nivel de consulta cualquier BD con driver JDBC) además de permitir siempre consultar en SQL sea cual sea el repositorio subyacente.
La Plataforma permite en función de los requerimientos de cada proyecto (volúmenes de información en tiempo real e histórico, accesos mayoritariamente de lectura o escritura, mayor cantidad de procesos analíticos, tecnologías previamente existentes en los clientes, etc.) seleccionar el motor de persistencia más adecuado, conceptualmente se manejan estos conceptos en plataforma:
Base Datos Tiempo Real (RealTimeDB): está pensada para soportar un gran volumen de inserciones y consultas online de forma muy eficiente. La plataforma abstrae de la tecnología subyacente permitiendo usar BD como Mongo, Elastic, Kudu, BD relacionales,…
Base Datos Histórica y Analítica (HistoricalDB): está pensado para almacenar toda la información que ya no forma parte del mundo online (por ejemplo, información de años anteriores que ya no se consulta) y para soportar procesos analíticos que extraen conocimiento de estos datos (algoritmos). La plataforma soporta tecnologías como HIVE (con Impala o Presto para consultas online), SAP HANA, BigQuery, Cosmos DB, SparkSQL,…
Área de Staging: permite almacenar ficheros en raw y sin procesar por la plataforma, para su posterior ingesta. Suele usarse HDFS como almacenamiento aunque la plataforma permite usar otros como GridFS.
Base Datos GIS: permite el almacenamiento de información geográfica y su posterior consulta y procesamiento, la plataforma soporta MongoDB, Elastic, PostGIS entre otras.
Toda la definición y manejo de estas entidades se realiza desde el Control Panel de la Plataforma:
Listado de Entidades/Ontologías (vistas por Rol Administrador) con niveles de visibilidad,…
Wizard de Creación de Entidad (Ontología), como se ve la plataforma ofrece ayudas para crear estas de forma guiada, permitiendo cargar un fichero del que la plataforma extraerá la información para modelar la entidad y cargar este fichero, creación paso a paso, conexión con una base de datos relacional:
Creación de la Entidad: cuando creo la entidad puedo darle un nombre, tagearla, activarla o desactivarla, hacerla pública, asignarle permisos de acceso (quien puede verla, quien puede insertar datos,…), definir auditoría,…
Si selecciono Creación paso a paso podré ir definiendo los atributos de la Entidad y su tipo (estos tipos los mapea de forma transparente la plataforma hacia la persistencia seleccionada: HIVE, Mongo, Elastic, BD relacional,…)
También podemos ver como se puede seleccionar una de las plantillas como base para la creación de mi entidad (esto es opcional) y como se puede seleccionar que un atributo se encripte, en este caso la plataforma almacenará este atributo encriptado en el repositorio seleccionado y permitirá desencriptarlo a la hora de retornarlo.
Cuando creo la Entidad puede hacer una gestión avanzada de la Entidad:
En la que puedo mapear la entidad a un tópico Kafka, indicar si los datos de la entidad se deben borrar automáticamente paso un tiempo o pasarse a la BD histórica e indicar el repositorio sobre el que deseo almacenar la Entidad, en el ejemplo se ven diferentes repositorios, estos repositorios se configuran en función de los módulos de persistencia desplegados.