Mostrando entradas con la etiqueta grafo de base de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta grafo de base de datos. Mostrar todas las entradas

viernes, 14 de diciembre de 2018

Llevando los grafos de bases de datos a las supercomputadoras

Moviendo las pruebas de grafos analíticos en las supercomputadoras hacia adelante


Jeffrey Burt | Next Platform





Si es la conferencia de supercomputación SC18, entonces debe haber listas. Muchos de ellos.

La muestra dos veces al año es más famosa por la lista Top500 de las supercomputadoras más rápidas del mundo que usan el banco de pruebas paralelo Fortpack de Linpack, una lista que ayuda a la industria a medir el progreso en el desempeño, la creciente influencia de las nuevas tecnologías como los aceleradores de GPU de Nvidia y AMD y el auge de las nuevas arquitecturas, como lo marcó este año con la introducción del primer supercomputador en la lista de procesadores basados ​​en Arm. La supercomputadora "Astra", construida por Hewlett Packard Enterprise e implementada en los Laboratorios Nacionales Sandia, se ejecuta en 125.328 núcleos Cavium ThunderX2 y ahora se encuentra en el número 205 de la ranura.

La lista también ayuda a alimentar la actual competencia mundial por la supremacía de las supercomputadoras, ya que Estados Unidos este año finalmente retomará el primer puesto del Sunway TaihuLight de China en julio con el sistema Summit basado en los motores informáticos IBM Power9 y Nvidia Volta, y luego en Sierra, una similar arquitectura de máquina, ocupando el segundo lugar en el show SC18 de esta semana en Dallas, llevó a TaihuLight al número tres. Sin embargo, China ahora reclama 227 sistemas, o aproximadamente el 45 por ciento del número total, en la lista de los Top500, con los Estados Unidos cayendo a un mínimo histórico de 109, o 22 por ciento.

El Green500 clasifica los supercomputadores en función de la eficiencia energética. El Shoubu System B, un grupo japonés construido por Pezy Computing, conserva el puesto número uno este año.

También en la lista de listas está el Graph500, que clasifica los sistemas según la forma en que ejecutan las cargas de trabajo intensivas en datos de rápido crecimiento utilizando algoritmos de análisis gráfico. La cantidad de tales aplicaciones de supercomputadoras está creciendo a medida que la cantidad de datos que se generan continúa acumulándose, y algunos en la industria creen que los puntos de referencia tradicionalmente utilizados para clasificar los sistemas de HPC para trabajos como las simulaciones de física en 3D no eran adecuados para cargas de trabajo intensivas en datos.

"No creo que sea un salto convencer a nadie hoy de que esto es importante porque, francamente, el mercado de análisis de datos ha crecido demasiado en HPC por un orden de magnitud", dijo Anton Korzh, arquitecto de sistemas de Micron Technology y miembro de Graph500. Comité ejecutivo, dijo durante el evento en el show de esta semana para lanzar la versión 17 de la lista. El primero salió en noviembre de 2010.

El Graph500 aborda dos núcleos de aplicación, la búsqueda concurrente marcada por la búsqueda y optimización de la amplitud (BFS), o la ruta más corta de una sola fuente (SSSP). Los planes están en marcha para un tercer núcleo para un conjunto independiente orientado hacia el borde o máximo, dijo Korzh. La lista aborda cinco áreas comerciales relacionadas con el gráfico de ciberseguridad, informática médica, enriquecimiento de datos, redes sociales y redes simbólicas.

El número de presentaciones ha aumentado de ocho en el primer año a 48 para la lista actual, que incluye dos nuevas entradas en el top ten y una vez más tenía la computadora K gigante en Japón y fue construida por Fujitsu en el primer lugar con 38,621.4 GTEPS , o aristas atravesadas por giga por segundo, la métrica utilizada por el Graph500. La computadora de K, de siete años, tiene 82.944 nodos y 663.552 núcleos Sparc64-XIIIfx. El Sunway TaihuLight ocupó el segundo lugar, seguido por Sequoia y Mira, ambos sistemas IBM BlueGene / Q que se ejecutan en los laboratorios nacionales de EE. UU., y SuperMUC-NG, un clúster de Lenovo ubicado en Alemania.



Pero cuando el comité de Graph500 celebró el lanzamiento de la lista más reciente, Roger Pearce, un científico informático del Centro de Computación Científica Aplicada (CASC) en el Laboratorio Nacional Lawrence Livermore, es el hogar del sistema BlueGene / Q “Sequoia” hecho por IBM también como el nuevo y brillante sistema Sierra, dijo que los cambios eran necesarios para que el Graph500 siga siendo relevante. Pearce habló durante el evento sobre el enfoque del laboratorio para usar NVRAM (memoria de acceso aleatorio no volátil) en Sierra cuando se trata de análisis de rendimiento y escala.

Sin embargo, al final de su presentación, Pearce instó a que se realicen cambios para que la lista sea un indicador importante en la industria. Necesita evolucionar o ya no será relevante. Una cosa que tiene que cambiar es el uso continuo de las etiquetas de vértice 0, N.

"Las etiquetas de vértices de 0 a N simplemente no son realistas", dijo. “Si queremos tratar de estar en un modo realista, necesitamos lidiar con etiquetas hiper-dispersas, hashes de 64 bits, tal vez incluso más que eso, específicamente con cardinalidad desconocida. Realmente no sabemos cuántos vértices hay, porque con conjuntos de vértices muy grandes, es realmente costoso volver a correlacionarlos con N. Este es un verdadero desafío. No es algo que incluso esté rastreado por el Graph500. Para todos los comentarios, necesitamos un Graph500 de transmisión, esto es como un paso de bebé para hacer eso. Si no puede hacer esto, ciertamente no puede hacer análisis de gráficos de transmisión. En mi opinión, la curación comenzará cuando nos alejemos de los datos estáticos CSR / CSC de la edad de piedra ".

Pearce tenía una visión similar de BSD.

“Una década de búsqueda de amplitud es suficiente. Es demasiado simple captar la intensidad de memoria / comunicación y el paralelismo de muchas analíticas importantes y muchas de las optimizaciones actuales no se transfieren a muchas analíticas importantes como la centralidad de Betweeness. No sé sobre usted, pero a menudo me preguntan: '¿Por qué hay miles de artículos en la búsqueda de resultados?' Y yo digo: 'Es una respuesta simple: el Graph500'. Tenemos que averiguar qué estamos tratando de capturar ".

No quiere decir que los últimos ocho años de trabajo hayan sido en vano. Ha habido avances significativos en los algoritmos de gráficos de memoria distribuida debido a los esfuerzos del Graph500, dijo. “Si recuerdas los primeros días, hubo un enorme escepticismo de que el análisis de gráficos de memoria distribuida funcionaría. Solían decir, 'BlueGenes nunca haría bien en el Graph500', y ahora lo han dominado durante cinco o seis años ".

Su lista de propuestas para el Graph500 para 2020 se está moviendo de 0, N graficando y "divide los bordes ingresados ​​en k contenedores, como los pasos de tiempo - 64, 16, no sé qué k debería ser. Agregue de manera incremental cada bandeja de borde en el gráfico y vuelva a calcular algunos analíticos, tal vez cuente duplicados para que las personas agreguen índices a sus listas de cobertura y cosas como esas, que son poderosas para los analíticos. Finalmente, la salida sería como, k resultados para cada borde o vértice dado su analítica ".

La analítica debería ser cualquier cosa menos BFS, con posibilidades como alternativas como la centralidad de Betweeness y la descomposición completa de K-core. Por último, dijo, dado lo difícil que es validar estos algoritmos de nivel superior, la validación debe usar pequeños gráficos de pruebas unitarias con una verdad básica precalculada.

Después de que Pearce habló, Peter Kogge, profesor de ciencias de la computación e ingeniería en Notre Dame y también miembro del comité ejecutivo de Graph500, secundó las sugerencias y agregó algunas de las suyas, incluido el uso de múltiples clases de vértices. Korzh dijo que Pearce hizo puntos justos que deberían ser considerados.

lunes, 22 de enero de 2018

Grafos y Big Data: Una combinación con enorme futuro

El año del grafo: obtener grafos, volverse nativo, remodelar el paisaje

El año del grafo está aquí. ¿Realmente necesita una base de datos de grafos y, en caso afirmativo, cómo elegir una?

 George Anadiotis  ||  ZDNet



Video: ¿Qué hay de nuevo en el mundo de las bases de datos de grafos? Aquí hay un resumen rápido

Es oficial: las bases de datos de grafos son una cosa. Ese es el consenso aquí en Big on Data entre los colaboradores Andrew Brust y Tony Baer. Cuando AWS ingresa a un dominio, señala oficialmente la pendiente ascendente del ciclo de promoción. Es un poco como la tierra recién descubierta: primero es en gran parte desconocida y habitada por nativos, luego los pioneros muestran que hay oportunidades, y luego los pesos pesados ​​intentarán colonizarla.

La reciente presentación de AWS Neptune parece haber convencido incluso a los que se autoproclamaron escépticos de los grafos como Brust y Baer. ¿Por qué ahora, preguntas? Al igual que el Aprendizaje automático, por ejemplo, no es tanto que haya un avance importante en la tecnología, sino que es principalmente una cuestión de maduración.

Las capacidades de hardware y software, como almacenamiento económico y capacidad de procesamiento en la nube y en el local, la comprensión de los desafíos en técnicas de indexación distribuida y consulta de grafos y la realización de conjuntos de datos grandes y conectados han contribuido a la tormenta gráfica perfecta.


Obteniendo grafos

Como siempre, cuando alguna tecnología de nicho se generaliza, existe el riesgo de malentendidos o sobrevaloración hasta el punto en que se convierte en una palabra de moda sin sentido, un martillo aplicado a cada problema independientemente de si se trata de un clavo. Entonces, advertencia justa: si algo no se siente como un grafo, entonces no intente forzarlo.

Es probable que tus videos estén viviendo bastante bien en la tienda de objetos donde los tienes actualmente. Un sistema de contabilidad de ventas construido usando una base de datos relacional probablemente esté funcionando bien, y de la misma manera una tienda de documentos es posiblemente el lugar correcto para almacenar sus documentos. Por lo tanto, "usar la herramienta adecuada para el trabajo" sigue siendo una frase válida aquí y en cualquier otro lugar.

Dicho esto, parte del motivo detrás del atractivo del grafo es que, en muchos casos, es una forma natural de modelar el mundo. ¿Más natural que el viejo modelo relacional? Para ciertos dominios y casos de uso, cuando los datos que está almacenando están intrínsecamente vinculados por su naturaleza, sí. Por un lado, ciertamente se siente más fácil y funciona mejor para consultar una base de datos de grafos que relacional para casos de uso que involucran muchos saltos.



En los conjuntos de datos conectados, como los de los dominios sociales, por ejemplo, el grafo tiene mucho sentido. Imagen: Amazon

Tener que pasar por una serie de uniones en el álgebra relacional para hacer cosas como encontrar amigos de amigos de amigos es engorroso para escribir y mantener y degrada el rendimiento. Un modelo de grafo y un lenguaje de consulta pueden ser más naturales y eficientes, pero la palabra clave allí es "puede". No todo lo que parece un grafo es, de hecho, un grafo, y no todos los grafos vienen con las mismas facilidades de consulta.

Para citar a Tony Baer: "Siempre consideré que el grafo era más adecuada para ser incluida bajo el capó porque era una nueva y extraña base de datos sin estándares de facto ni de otro tipo. Pero estoy empezando a cambiar mi tono: todos los principales proveedores de plataformas de datos ahora tienen ya sea una base de datos de grafos o API / motor ". Esto resalta dos puntos importantes: la diferencia entre un grafo nativo y un API de grafo, y la falta de estándares.

Convertirse en nativo

Diferentes personas usarán diferentes definiciones de motores y API, pero al final todo se trata de estructuras de datos. Si su base de datos se basa en estructuras de datos que no encajan de manera natural en un grafo y no cuenta con la indexación correcta, entonces, aunque sus consultas sean más fáciles de escribir utilizando una API de grafos, su rendimiento solo puede ser tan bueno como tu base de datos.

Para dar un ejemplo del mundo de Microsoft, citando a Andrew Brust: "Las capacidades de procesamiento de grafos en SQL Server 2017 son claramente una capa de abstracción y no nativa. Aunque los tipos de tablas de nodo y borde son reales. ¿Pero qué pasa con Cosmos DB? solo un modo de operación, pero aún lo consideraría nativo ".

Este criterio es importante, pero no el único, y dar sentido a un mercado incipiente que descompensa todo no es algo que se pueda hacer en el contexto de un artículo. Puede esperar un trabajo más extenso de esto en un futuro cercano, pero si todavía desea una versión de 10 minutos del Paisaje de base de datos de grafos, puede ver la escrita por Yu Xu, CEO de TigerGraph, además de nuestra cobertura anterior.

TigerGraph es una de las bases de datos de grafos que cubrimos en 2017, junto con AllegroGraph, GraphDB y Neo4j. GraphDB y Neo4j también figuran entre las bases de datos de grafos que oficialmente se ofrecen en AWS, aunque eso no significa que no se puedan implementar otras bases de datos de grafos en AWS.

Ese es el escenario habitual de cooperación que los proveedores y vendedores de la nube han aprendido a vivir, aunque en este caso complicado puede ser más complicado de lo habitual.

Las otras 2 bases de datos de grafos que reciben el visto bueno oficial de AWS son JanusGraph y OrientDB. JanusGraph solía ser Titan, y después de que la empresa matriz de Titan, Aurelius, fuera adquirida por DataStax Titan, se bifurcó como JanusGraph y ahora cuenta con el respaldo de IBM, también proveedor de la nube. OrientDB también fue adquirido recientemente por el proveedor de software empresarial CallidusCloud.

Desempacando AWS Neptune

En cuanto a AWS Neptune (aún en versión beta privada), aunque no esperamos ver demasiada información en términos de funcionamiento interno, podemos notar un par de cosas.

Como Tony Baer escribió recientemente, el almacenamiento en la nube se convierte en el lago de almacenamiento de facto. En AWS, las personas usan S3, y hasta ahora tienen instalaciones de consulta SQL para ello. ¿Podría AWS haber construido Neptune directamente en S3, y eso tendría sentido?

Realmente no lo sabemos, pero probablemente no. AWS habla de la capacidad de realizar copias de seguridad continuas de Neptune a S3, lo cual es bastante revelador. Si S3 era el almacenamiento utilizado para Neptune, las copias de seguridad S3 no tendrían sentido ya que los datos ya estarían en S3, y todo lo que se necesitaría sería habilitar la replicación. Pero hay otra pista allí.

AWS está vendiendo la opción de usar JanusGraph con Amazon DynamoDB como su back-end de almacenamiento. DynamoDB es una base de datos clave-valor, y una metáfora y estructura de clave-valor, se presta bien para graficar. De hecho, es lo que Titan y ahora JanusGraph están utilizando como una tienda de back-end para sus grafos, por lo que tiene sentido para AWS haber construido Neptune en DynamoDB.

Para volver al grafo del colaborador de Big on Data y citar a Andrew Brust, "en el mundo de la base de datos, todo se reduce a pares clave-valor. Por lo tanto, si tienes una base de datos como construcción central, tienes el potencial de hacer casi cualquier cosa que desee. Aunque, de fábrica, es posible que no pueda hacer mucho ".

Entonces, ¿podría ser que AWS Neptune realmente es una capa elaborada sobre DynamoDB que agrega una metáfora gráfica y una API a una tienda clave de valor subyacente? Eso puede sonar demasiado simplificador, pero parece plausible.



Hacer que las bases de datos de grafos escalen significa ir distribuidas, y hay muchos problemas allí. Imagen: ArangoDB

Se podría argumentar que Titan y sus descendientes, JanusGraph y DSE Graph, son de naturaleza similar, y AWS hace hincapié en cómo la arquitectura enchufable de Titan hace que sea fácil comenzar a usar DynamoDB sin cambiar las aplicaciones. ¿Pero qué tan eficiente es eso?

Realmente no tenemos indicadores del rendimiento de AWS Neptune en este momento, aunque como cabría esperar, AWS se muestra lírico al respecto y otros proveedores señalan rápidamente todos los detalles de hacer que los grafos distribuidos funcionen y que AWS podría equivocarse.

Sin embargo, el hecho es que AWS no está realmente en el negocio de equivocarse, y su gran gravedad lo convierte en una fuerza a tener en cuenta. Esto es lo que dice el CEO de Neo4j, la base de datos de grafos líder en adopción de mercado actualmente. Otros vendedores de grafos también están reconociendo el hecho de que su mercado parece que va a crecer de manera significativa, y preparándose para luchar frente a una mayor competencia.

Estándares, muchos o ninguno

Sin embargo, lo que sí sabemos sobre AWS Neptune, que nos lleva al segundo punto importante (estándares) es este: Neptune admite los populares lenguajes de consulta de grafos Apache TinkerPop Gremlin y SPARQL de W3C, lo que permite a los usuarios crear fácilmente consultas que navegan de manera eficiente altamente conectadas conjuntos de datos.

En un mundo que parece carecer del equivalente de lo que SQL es en el mundo relacional, un estándar de facto para las consultas, esto es bastante importante. Significa que Neptune ofrece la máxima flexibilidad para sus usuarios, y es una acción inteligente y pragmática de AWS.

En el grafo, existen modelos de competencia y lenguajes de consulta, y la posibilidad de consultar Neptune utilizando dos de los más populares amplía la base de usuarios potenciales y los casos de uso de Neptune. AWS no está solo en esto, pero ser elocuente y facilitar su uso podría marcar la diferencia.

Ya hemos cubierto SPARQL y algunas de las cosas para las que se puede usar. En la siguiente parte de esta mini serie en grafo, nos centraremos en Apache TinkerPop, su lenguaje de consulta llamado Gremlin, sus características y el papel que puede desempeñar en el mundo de las bases de datos de grafos y más allá.

miércoles, 10 de enero de 2018

Cómo los grafos representan el futuro de la información

El futuro está en forma de grafo

Tim Baker, director global de innovación, finanzas y riesgos, Thomson Reuters
Dr. Tharindi Hapuarachchi Gerente de Asociaciones Técnicas
Bob Bailey Vicepresidente y Arquitecto Jefe de Información, Thomson Reuters




Según Forrester, para 2017, el 25% de las empresas habrá implementado una base de datos de grafos, mientras que Gartner afirma que "el análisis de grafos es posiblemente el diferenciador competitivo más efectivo para las organizaciones que persiguen operaciones y decisiones basadas en datos".

Cuando Microsoft® anunció la adquisición de LinkedIn® - había otra gran pista sobre la importancia futura del grafo - ¡la transcripción de la entrevista entre Satya Nadella y Jeff Weiner mencionó "grafo" nueve veces!

Entonces, ¿qué es una base de datos de grafos, y cómo y por qué está surgiendo de repente como la última aplicación asesina en el "panorama de los grandes datos"? ¿Cuáles son los casos de uso para el grafo, y cómo los clientes pueden sumergirse sin tener que construir un equipo de ciencia e ingeniería de datos de 30 miembros?

Los grafos se están convirtiendo en una herramienta cada vez más popular y útil en el mundo de la información, pero de ninguna manera son nuevos: de hecho, el primer grafo se remonta al problema del puente de Konigsberg que posteriormente fue resuelto por el matemático suizo Leonhard
Euler en 1736.2 Más recientemente, la noción de un grafo como una forma de representar las relaciones entre las personas se popularizó al observar que Kevin Bacon (el actor) es, en promedio, tres grados de separación de cualquier otro actor en la base de datos de IMDb. La teoría matemática y la investigación práctica (por ejemplo, en Facebook®) han demostrado que, en promedio, las personas no tienen más de seis grados de separación entre sí.

Gráfico 1: Sean Connery - Kevin Bacon Number = 2 (nunca han trabajado en la misma película)

Fuentes: IMDb y Thomson Reuters Data Fusion

El algoritmo que permite el cálculo del número mínimo de caminos entre dos personas (su separación real) fue desarrollado en los años 50 por el matemático holandés Edsger Dijkstra, pero no fue hasta el advenimiento del big data y la explosión del poder de la informática barata. que tales algoritmos realmente podrían ponerse a trabajar para casos de uso como el "grafo social" de Facebook, que conecta intereses y amigos para que pueda encontrar restaurantes en Barcelona que les gusten a sus amigos. El PageRank de Google es el algoritmo que de nuevo aprovecha los datos del grafo (que representa los hipervínculos entre las páginas web) para obtener resultados de búsqueda.

Al igual que las listas y tablas, los grafos son un medio para organizar y representar información. Un grafo comprende objetos y relaciones entre esos objetos, de modo que cualquier par de objetos conectados por una relación forman una simple "oración" de información, como "Perro muerde a Pat". Así que uno puede pensar que un grafo es un "mapa" de muchos tales oraciones que involucran un superconjunto de objetos y tipos de relación. Por ejemplo, "Pat trabaja en el Royal Mail" y "El perro pertenece a Alicia" podría estar junto a "Mordeduras de perro Pat", por lo que podemos inferir asociaciones no explícitamente establecidas entre objetos, y seguir "señales" de relación a información relacionada.

Gráfico 2: El perro muerde a Pat


Un método de grafo hace que sea fácil agregar datos de múltiples fuentes que pueden diferir ampliamente en precisión, precisión y significado. Cualquiera puede agregar información nueva a un grafo sin afectar o estar limitado por lo que ya está allí: agregando a la suma del conocimiento. Por el contrario, las listas y tablas se diseñan antes de que se agregue cualquier información para que el conjunto de elementos representados y la información contenida en cada elemento sea clara. Esto tiene el efecto de restringir lo que se puede representar.

Una tabla diseñada para capturar una relación de "mordiscos" no se puede usar para representar una relación de "trabajos en". Las listas y las tablas reducen intrínsecamente el conocimiento disponible para adaptarse a un conjunto de diseños por adelantado, por lo que también se pueden determinar las preguntas que se pueden responder con anticipación. Por otro lado, el mismo grafo se puede usar para responder preguntas con diversos contextos, cualquiera que sean, independientemente de quién creó el grafo o con qué propósito. Ya sea que esté interesado en los peligros de ser cartero o en el comportamiento de las mascotas de Alicia, el grafo anterior puede proporcionar respuestas, incluso si su propósito original era documentar el día de Pat.

En el mundo de los datos financieros, los considerables activos de datos de Thomson Reuters están contribuyendo a la formación de un Grafo de conocimiento de Thomson Reuters. Esto ayudará a nuestros clientes a identificar relaciones inferidas y fácticas previamente desconocidas. Por ejemplo, Thomson Reuters ha estado siguiendo movimientos de oficiales y directores de compañías durante más de 30 años. Nuestra base de datos de ofertas abarca un período de tiempo similar. Mediante el mapeo de organizaciones y personas en ambos conjuntos de datos a identificadores permanentes comunes (PermID), se forma una representación gráfica que explora a qué ejecutivos se asocian con qué se trata en el tiempo. Los grafos como este también se pueden conectar fácilmente a otros grafos, siempre y cuando las bases de datos de grafos compartan algunos estándares comunes, generalmente en relación con la representación de las entidades (como personas o empresas) y las relaciones.

Por ejemplo, aunque el sitio web de IMDb no ha adoptado PermIDs para identificar de manera exclusiva a los actores, un pequeño grupo de individuos en esa base de datos son o han sido funcionarios o directores de compañías que están en las bases de datos de entidades de Thomson Reuters, como tales tienen PermIDs. Por ejemplo, Ashton Kutcher es actor y miembro de la junta directiva de Katalyst Media, la firma que fundó con Jason Goldberg.

Gráfico 3: Cuando dos mundos colisionan

Fuentes: Base de datos de películas en Internet, Thomson Reuters Data Fusion
Gráfico 4: Conectar los puntos

Fuentes: Base de datos de películas en Internet, Thomson Reuters Data Fusion

Por lo tanto, al atravesar nodos comunes a los grafos, es posible unir dos conjuntos de datos separados. Luego, la base de conocimiento resultante ("The Graph", como en "The Web") permite a los usuarios un acceso máximo a la información y la capacidad de personalizar individualmente consultas y vistas, sujeto únicamente a derechos y regulaciones en lugar de a la separación técnica y física. Por ejemplo, ¿cuál es la relación entre Qantas y Kevin Bacon? Bueno, el empresario australiano James Packer estaba en la junta directiva de Qantas, y a través de sus nupcias planificadas con Mariah Carey (cantante y actriz ocasional) ella proporciona la conexión esencial entre el mundo de los negocios y el entretenimiento.

Es esta capacidad de conectar grafos lo que realmente impulsó la adquisición de LinkedIn y Microsoft. En ese momento, Jeff Weiner afirmó: "Lo que más nos emociona a Satya y a mí es cuando combinas el grafo corporativo de Microsoft con el grafo profesional de LinkedIn".

Uso de los clientes del grafo

Su naturaleza acumulativa hace que el grafo sea un método especialmente útil cuando se comparten y combinan datos. Si todos en una organización grande, por ejemplo, comparten lo que saben contribuyendo a un grafo, la base de conocimiento resultante se puede utilizar de una manera mucho más matizada y flexible que si todos se hubieran visto obligados a contribuir a una base de datos centralmente prediseñada . El método de grafo marca un cambio en el énfasis de datos que solo se crean y administran para necesidades específicas, a datos que se conectan para formar el conocimiento colectivo de la organización.

Para ampliar el conjunto de preguntas que podrían responderse desde el grafo de los bancos, las relaciones se pueden establecer con otros grafo externos. Estas relaciones conectan el conocimiento entre sí, de modo que al responder a preguntas posteriores se puede utilizar lo que en términos de información ahora es un grafo más grande, compuesto por los más pequeños.

La buena noticia es que Thomson Reuters ha estado trabajando en los componentes fundamentales para establecer tal vez una de las bases de datos de grafos de alta precisión más grandes del mundo profesional. Aprovechando los vastos activos de contenido de la empresa, más la identidad de la entidad de alta definición habilitada por Open PermID: Thomson Reuters planea lanzar un feed que expondrá hasta 30 mil millones de relaciones entre tipos de entidades, incluidos valores, personas, organizaciones y eventos. Conectar esto con su propio grafo organizacional abrirá enormes oportunidades para nuestros clientes, combinando la perspectiva autoritativa global con su propio conocimiento organizacional, generando respuestas y puntos de vista contextualizados y de alto valor.

Recientes compromisos han revelado que muchos clientes ya se han embarcado en su propio viaje por el mundo de los grafos; algunos están investigando, algunos experimentando, y unos pocos han implementado entornos de big data de gran escala optimizados para datos de grafos. Los casos de uso son casi demasiado numerosos para enumerarlos, pero van desde la gestión de relaciones y el desarrollo empresarial hasta la generación alfa y de ideas, y por supuesto, el análisis de riesgos.

El riesgo es quizás la categoría más importante, ya que las bases de datos de grafos ayudan a identificar relaciones ocultas o complejas que van al centro de la detección de fraude, el análisis de riesgo de la cadena de suministro y la exposición a las entidades sancionadas. Los Documentos de Panamá ayudaron a exponer tales conexiones ocultas y la importancia de modelar y conectar datos de entidades como parte del proceso de investigación.

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.