La teoría de la informática se convierte en práctica a través de Hana


Mientras SAP comercializa su propia base de datos Hana como una máquina del tiempo (Realtime Enterprise), algunos científicos de SAP se dedican a la investigación básica.
Entre otras cosas, se ha creado un motor de gráficos que proporciona un motor de base de datos basado en el principio de la teoría de gráficos en la plataforma Hana, además de SQL. El libro blanco SAP PAL (Predictive Analysis Library) ya contiene numerosas funciones de Hana que van mucho más allá del espacio del lenguaje SQL.
Sin embargo, SAP ha ido un paso más allá con el procesamiento de grafos en Hana, ya que no sólo cuenta con el motor de grafos, sino también con un compilador para el lenguaje de programación de grafos Wipe.
Naturalmente, los grafos no siempre son mejores que las tablas SQL, pero muchos problemas de la vida real se pueden modelizar mejor utilizando grafos o, de todos modos, ya se intuyen como tales. Quizá el ejemplo más conocido sea el problema del viajante de comercio.
Un viajero tiene que visitar determinados lugares e intenta optimizar la ruta. Los lugares son los nodos del grafo y las líneas de conexión -carreteras, rutas de vuelo, etc.- entre los nodos son las aristas.
Normalmente se utilizan bordes direccionales. Coloquialmente conocidas como flechas, se utilizan para indicar no sólo que dos lugares están conectados por un enlace, sino también cómo y si se puede ir de un lugar a otro.
La teoría trata tanto de grafos dirigidos como no dirigidos. Inicialmente, la teoría de grafos es muy intuitiva: un sistema vial complejo puede representarse muy bien como un grafo.
Si este sistema está situado a ambos lados de un río y sólo hay un puente que conecta estos dos subsistemas, el teórico de grafos también habla de puente. Como motor de base de datos, se utilizan principalmente aristas dirigidas para definir las relaciones entre los nodos.
Un grafo es, por tanto, el término general para designar una estructura abstracta que representa un conjunto de objetos junto con las conexiones existentes entre estos objetos, denominadas en matemáticas nodos y aristas.
Tanto los nodos como las aristas pueden tener propiedades. Los grafos suelen representarse mediante círculos individuales conectados por líneas. Otros ejemplos ilustrativos son los árboles genealógicos, los mapas mentales o la red de metro de una ciudad.
En una base de datos gráfica, los datos pueden almacenarse, gestionarse y consultarse en forma de gráficos. Son especialmente adecuadas para visualizar información muy interconectada y desestructurada.
Esto se debe a que conceden la misma importancia a los datos almacenados (por ejemplo, clientes o productos) y a la relación entre estos datos (por ejemplo, "quién compra qué" o "qué compra se hizo primero"). Estas relaciones ya no se consideran meros metadatos, sino que se sitúan en el centro del modelo.
Las bases de datos de grafos admiten innumerables de estas relaciones dirigidas entre las instancias individuales. Esto crea un contexto semántico global para los datos. Las conexiones y dependencias en redes de personas y productos, como los sistemas de telecomunicaciones o la creciente Internet de los objetos, pueden especificarse de forma exhaustiva. Sobre esta base pueden desarrollarse nuevos servicios o mejorarse los existentes.
La plataforma Hana ofrece la posibilidad de crear una base de datos gráfica. Para ello, existe el lenguaje de programación de desarrollo propio Wipe, que aún se encuentra en un estado de desarrollo cerrado. Por lo tanto, es posible que los nombres de los productos aún cambien antes del lanzamiento final.
La comunidad gráfica entre expertos en Hana, socios y clientes existentes es aún muy pequeña. Queda por ver si este enfoque puede convertirse en un movimiento mayoritario en el entorno ERP.
El hecho es, sin embargo, que muchos problemas analíticos y de big data de la vida real pueden mapearse de forma muy elegante con una base de datos gráfica. Por lo tanto, Wipe y Hana Graph Function Library deberían establecerse firmemente en el campo del análisis predictivo.