viernes, 14 de abril de 2017

La importancia de los grafos de bases de datos en Big Data

Por qué los grafos de bases de datos son tan eficaces en el análisis de Big Data 
Cleverism

Vivimos en una era de datos. La información está en todas partes y se puede acceder de diferentes maneras. La información también se recoge en grandes cantidades. No se puede hacer mucho en el mundo moderno sin que se anote y se almacene en una base de datos.

El gran análisis de datos y las grafos de bases de datos son palabras de moda que más probablemente haya encontrado. Es probable que le hayan dicho que comience a usar grafos de bases de datos en su gran analítica de datos para aumentar su eficiencia organizativa.



Por qué los grafos de bases de datos son tan eficaces en Big Data Analytics
Wikimedia Commons I Hoshi Ludwig (CC BY-SA 4.0)

¿Pero por qué? Veamos los conceptos y las razones por las que los grafos de bases de datos son tan eficaces en grandes datos.

¿Qué son los grandes datos?

A menos que usted haya estado viviendo bajo una roca, usted debe haber oído el término "Big Data" arrojado alrededor. De hecho, es probable que haya escuchado que se menciona en tantos contextos diferentes, descritos de diferentes maneras en que podría ser difícil saber y entender lo que realmente significa el término y cuál es su significado.

Por lo tanto, voy a tratar de explicar el término de forma concisa y le dejo en las razones definitivas que importa.

La definición de grandes datos

Si busca la definición de grandes datos en Google, recibirá más de 10 millones de resultados. La definición del diccionario establece grandes datos como:

"Conjuntos de datos extremadamente grandes que pueden ser analizados computacionalmente para revelar patrones, tendencias y asociaciones, especialmente relacionadas con el comportamiento humano y las interacciones".

Muchas palabras de lujo, ¿verdad? La definición podría no abrir la idea y el propósito detrás del concepto. Podrías afirmar lo anterior de manera un poco más simplista y describir los grandes datos como una gran colección de datos, recopilados de fuentes tradicionales y digitales. Los datos pueden ser recogidos dentro de una organización específica y sus diferentes canales o fuera de la organización. Además, los datos grandes no sólo se recogen sino que se usan para descubrir cosas nuevas y para analizar patrones y procesos existentes.

El punto clave para entender con grandes datos es que los conjuntos de datos recogidos son enormes - no se trata de unos pocos números de teléfono aquí, sino grandes cantidades de diferentes tipos de datos. Además, los datos suelen estar en formato digital, aunque no se deben excluir los conjuntos de datos tradicionales. Los registros financieros, por ejemplo, también forman parte de grandes datos. Además, los grandes datos siempre mezclan datos multi-estructurados y no estructurados. Qué significa eso? Los datos grandes pueden utilizar:

  • Datos no estructurados, que son información que no puede ser fácilmente organizada o interpretada por bases de datos y modelos tradicionales.
  • Datos multi-estructurados, que son diferentes tipos y formatos de datos, derivados de las interacciones entre personas y máquinas.
    Entonces, ¿qué es lo que se ve en la realidad? Un ejemplo de grandes datos sería cómo Wal-Mart recogió datos de sus clientes y el clima. Al combinar estos diferentes conjuntos de datos y puntos de información, la empresa notó que a medida que las tormentas se dirigen hacia la ubicación, los clientes compran más linternas (comprensibles!) Y Pop-Tarts (interesante y algo sorprendente).

Para una rápida recapitulación de lo anterior y una visión del mundo de los grandes datos, debe ver el corto clip a continuación:



¿Por qué los datos importantes importan?

Pero, ¿qué significa lo anterior para una organización? ¿Por qué importa si recopilas y usas datos grandes? Bueno, el ejemplo de Wal-Mart muestra las dos razones principales para utilizar datos grandes:

Revela la información oculta - Usted no necesita saber los patrones del tiempo y el consumo del cliente de ciertas mercancías van de común acuerdo o tiene un acoplamiento. Los datos grandes ayudan a revelar esta información y por lo tanto, usted no necesita saber lo que usted está buscando para encontrar una conexión. Wal-Mart no sabía que está buscando para encontrar un alimento específico aumentar sus ventas antes de una tormenta, pero fue capaz de encontrar esta conexión interesante debido a la gran analítica de datos.
Extrae valor - La información que obtiene ayuda a comprender mejor las conexiones entre acciones y comportamientos. Esto a su vez, le ayudará a aumentar la extracción de valor, ya sea ayudándole a hacer o ahorrar más dinero, o mejorar la eficiencia. En el ejemplo de Wal-Mart, la compañía podría usar la información para promover Pop-Tarts cuando las tormentas se dirigen adentro o hacen las linternas más accesibles fácilmente.

¿Qué son los grafos de bases de datos?

Pero ¿qué pasa con el otro concepto que estamos conectando con el análisis de datos grandes? Con el fin de comprender los beneficios de utilizar grafos de bases de datos en relación con grandes datos, es necesario comprender el significado y la importancia de ellos.

La definición de un grafo de base de datos 

Las definiciones de un grafo de base de datos también vienen en complejidades diferentes. La definición informática del concepto dice que un grafo de base de datos es:

"Una base de datos que utiliza estructuras de grafos para consultas semánticas con nodos, aristas y propiedades para representar y almacenamiento de datos".

Si usted no es un experto en informática o se utiliza para la jerga de la tecnología, lo anterior probablemente fue muy por encima de su cabeza. No se preocupe, hay una manera más práctica de ver el concepto. Un grafo es una ilustración de la información y una base de datos es, naturalmente, un conjunto de información agrupada. Los grafos de bases de datos tienen dos elementos de definición:
  • Un nodo, que representa una entidad. Esto puede ser una persona, un lugar, una cosa y así sucesivamente.
  • Una relación, que es la conexión entre dos nodos separados.
Esencialmente, los grafos de bases de datos son conjuntos de datos que se centran en las conexiones entre diferentes partes de la información y representan estas conexiones de una manera simple y gráfica.

Se puede pensar en ello a través de un ejemplo, como Twitter, que es en sí mismo un enorme grafo de base de datos. Los usuarios serían los nodos y las conexiones o relaciones que los diferentes nodos tienen pueden ser variables y que se representan con 'sigue'. La conexión entre dos usuarios (nodos) podría ser la del nodo 1 después del nodo 2, con el nodo 2 no siguiendo el nodo 1. Tanto el nodo 1 como el 2 también podrían estar siguiendo uno al otro y así sucesivamente. Todos los diferentes usuarios (nodos) y las relaciones que tienen con otros nodos pueden representarse en un enorme grafo de base de datos.



¿Por qué son importantes los grafos de bases de datos?

Pero, ¿por qué un grafo de base de datos facilita el análisis y la comprensión de la información? ¿Cuál es el propósito de representar a los usuarios de Twitter y sus relaciones con un grafo de base de datos? Una organización puede beneficiarse del uso de grafos de bases de datos de tres maneras diferentes, con la base de datos ayudando a:
  • Aumentan el rendimiento - Cada organización tendrá datos y los conjuntos de datos siempre seguirán creciendo. El crecimiento de estos conjuntos de datos también conducirá al crecimiento en las conexiones que tienen los conjuntos de datos. Los grafos de bases de datos están específicamente diseñadas para entender las relaciones entre diferentes partes de datos, lo que significa que el crecimiento de las relaciones no dificultará el rendimiento.
  • Proporcionan flexibilidad: el uso de grafos de bases de datos también es flexible, ya que la base de datos puede cambiar a la misma velocidad que la de su organización. La estructura del modelo se adapta a todo tipo de necesidades y requerimientos.
  • Mejoran la agilidad - Los grafos de base de datos también admite agilidad, que es crucial en un entorno de desarrollo basado en pruebas. A medida que cambian los requisitos de su empresa, la base de datos puede cambiar con ella.

El mundo interconectado de hoy significa que diferentes piezas de información están conectadas entre sí en una serie de formas únicas. El uso de los grafos de bases de datos significa que no sólo entienden la importancia de la información y los datos, sino las relaciones entre ellos.

La comprensión adquirida de las relaciones puede impulsar a su organización en términos de eficiencia y creación de valor - tal como vimos con grandes datos. La información por excelencia conduce a un mejor servicio y un mayor valor, tanto para usted como para el cliente.

¿Por que los grafos de bases de datos funcionan en el análisis de Big Data?

Entonces, ¿qué obtienes cuando implementas grafos de bases de datos en análisis de datos grandes? Una herramienta eficaz y poderosa para crear conexiones y utilizar sus datos. Pero, ¿por qué?

Como se mencionó en la primera sección, los datos grandes generalmente se basan en el lenguaje de consulta estructurada (SQL) para comunicarse con una base de datos. Es el lenguaje de la gestión de bases de datos relacionales, que son bases de datos que se construyen alrededor de tablas y colecciones de filas de atributos.

La comunicación entre las diferentes tablas y filas puede ser lenta y difícil cuando se ponen en cuestión conjuntos de datos enormes e irregulares. Esencialmente, a medida que los datos continúan creciendo y evolucionando, el modelo tradicional de SQL puede llegar a ser insuficiente para comprender las relaciones entre estos diferentes conjuntos de datos.

¿Cómo se resuelven estos problemas? Bueno, los grafos de bases de datos son una parte de la solución. Pertenecen a un movimiento denominado No Only SQL o NoSQL. En lugar de estructurar los datos en el modelo tradicional de tablas y filas, NoSQL permite que el diseño de la base de datos se construya en torno a los requisitos a la mano. Esto puede significar que los datos están estructurados y definidos por:

  • Almacenes de valores clave
  • Documentos
  • Grafos de bases de datos 

El modelo de grafo de base de datos se centra en las relaciones de los diferentes nodos, o puntos de datos. Por lo tanto, en lugar de mirar el valor del punto de datos (que es lo que la base de datos SQL haría), el grafo de base de datos está organizando y analizando los puntos de datos desordenados de acuerdo a las relaciones. El grafo de base de datos agrega otra capa de estructuración y análisis de los datos, aumentando la eficacia de su gran análisis de datos. Simplemente abre más puertas para su organización.

Pero, ¿cuál es la importancia de la relación de nodos en los grandes datos? ¿Por qué es tan eficaz en la adición de la forma de analizar los datos. En pocas palabras, la respuesta es que puede aclarar los datos interconectados con mayor claridad. En lugar de simplemente entender cuál es el valor de los datos específicos, se entiende el valor de la relación entre los datos. Si piensa en el ejemplo de los hallazgos de Wal-Mart, el grafo de base de datos ayudaría a notar la relación entre la tormenta, las decisiones de compra y los clientes que compraron linternas y Pop-Tarts.

Una organización no sólo se basa en los datos cuando se trata de la toma de decisiones. Si desea aumentar las ventas en su librería, no sólo necesita datos sobre los libros que se están vendiendo con el fin de aumentar las ventas. Es necesario comprender cómo los clientes se conectan a los libros, por ejemplo, qué libros tienden a ser comprados por la misma persona y qué tienen en común los compradores de un libro específico. Si descubre estas relaciones, puede aumentar las ventas mucho más fácil. Tal vez encuentres una conexión donde la gente que lee J.K. Rowling también tiende a comprar libros de Terry Pratchett y puede utilizar la información en la comercialización o el posicionamiento de los libros. Por lo tanto, mejorar la forma de interpretar y utilizar los datos. No sólo se centran en el valor específico, pero el valor de la relación. Para cualquier organización, las relaciones entre los puntos de datos son importantes y seguirán creciendo en importancia.

Otro ejemplo de lo anterior podría ser entender por qué el transporte de libros desde el almacén lleva mucho tiempo. Con la ayuda de un grafo de base de datos, puede encontrar la relación entre el almacén, minorista, empresa de entrega y el cliente y encontrar qué conexiones tomar más tiempo o si podría obtener el producto más rápido mediante diferentes relaciones, es decir, los procesos de entrega. Puede solucionar los problemas de su empresa de diferentes maneras, ya que son capaces de ver los datos de una manera diferente al modelo tradicional y encontrar conexiones que no puede realizar con el modelo de SQL. Usted termina creando más valor para la organización y el cliente. Resuelve un problema que puede impedir que un cliente haga compras con usted de nuevo y cree un servicio más eficiente que podría aumentar el valor que puede obtener de los servicios que proporciona.

Además, el modelo de base de datos NoSQL puede ser mucho más eficiente en términos de encontrar estas conexiones de datos. Una base de datos SQL comenzaría su búsqueda comprobando puntos de datos individuales y comparándolos con otro uno por uno. Considere que tiene el punto de datos A y desea encontrar quién está conectado a él. Si utiliza sistemas de base de datos tradicionales, el A se verificará individualmente con B, C, D, E, etc. Por otro lado, con el grafo de base de datos, las conexiones entre A y los diferentes puntos de datos se crearían mucho más rápidamente. Las relaciones se capturan por sí solas y las propiedades de los puntos de datos se comprueban directamente. Esto reduce el tiempo de procesamiento y asegura que pueda acceder a la información más rápidamente. Todo esto asegura una mayor eficiencia. Ryan Boyd, director de relaciones con desarrolladores de Norteamérica para Neo4J, dio un ejemplo de la técnica y el modelo de procesamiento en una entrevista TechRepublic. Boyd dijo,

"Con un grafo de base de datos, encontrará un punto de partida lógico y se ramificará desde allí e identificará las relaciones. Por ejemplo, puede escribir una pregunta que le pregunte, 'Encuentra a todos los amigos de los amigos de John'. En lugar de tener que JOIN muchos índices diferentes, el grafo de base de datos utiliza aritmética de puntero que está en memoria o en caché y realiza la operación. "

Un ejemplo del uso efectivo de los grafos de base de datos en el análisis de grandes datos a la luz de lo anterior es eBay y cómo proporciona un servicio rápido y eficiente a sus clientes. La plataforma de compras utiliza grafos de base de datos para conectar a los compradores con los vendedores locales, creando conexiones localizadas de entrega puerta a puerta. La compañía ha observado cómo las consultas impulsadas por un grafo de base de datos toman 1 / 50th de un segundo para resolver, mientras que las consultas de base de datos tradicionales tomó alrededor de 15 minutos. El ejemplo destaca el poder de crear eficiencia en términos de ahorro de tiempo y recursos de la organización y proporcionar un mejor valor para los clientes.

Uso de grafos de bases de datos

Los grafos de base de datos ofrecen muchas oportunidades para las organizaciones. Los beneficios discutidos anteriormente ya han sido señalados por una serie de industrias, incluyendo:

  • Servicios financieros - Ejemplos de usos incluyen monitorear y prevenir el fraude interno y externo y sus riesgos.
  • Venta al por menor - se puede utilizar para entender las decisiones de compra y para proporcionar recomendaciones a los clientes sobre la base de cómo los diferentes productos se vinculan entre sí.
  • Logística - un ejemplo en la industria sería el uso del grafo de base de datos para la planificación de rutas.
  • Redes y TI - identificación y comprensión del análisis de la causa raíz.

Al comenzar a implementar los grafos de base de datos en su organización, debe tener en cuenta algunas cosas. En primer lugar, hay dos propiedades clave que utilizan las tecnologías de grafos de base de datos:

  • Almacenamiento de grafos: algunas opciones de almacenamiento están diseñadas específicamente para almacenar y administrar grafos, mientras que otras utilizan bases de datos relacionales u orientadas a objetos. Las últimas opciones tienden a ser más lentas.
  • Motor de procesamiento de grafos: el procesamiento nativo o grafo es la forma más eficiente de procesar datos dentro de un grafo. Los motores de procesamiento no nativos tienden a utilizar otros medios de procesamiento, como "crear", "leer" o "borrar".

Encontrar la tecnología adecuada para usar dependerá de sus necesidades y requerimientos específicos. Hay bastantes diferentes tecnologías de grafo de base de datos disponibles, siendo el grafo de base de datos más utilizada Neo4J. El sistema de código abierto es un grafo de base de datos nativa, tanto en términos de almacenamiento como de procesamiento. La base de datos comenzó en desarrollo en 2003, convirtiéndose en sistema disponible públicamente en 2007.

El grafo de base de datos es utilizada por varias organizaciones y empresas de todo el mundo, que representan un gran número de industrias. El sistema se utiliza en la investigación científica, gestión de proyectos y matchmaking. Sus usuarios incluyen organizaciones establecidas como Wal-Mart y Lufthansa, así como start-ups como FiftyThree y CrunchBase.

No hay comentarios:

Publicar un comentario