Procesamiento gráfico en hadoop
Uno de los más emocionantes tecnologías NoSQL emergentes implica el almacenamiento y procesamiento de datos del gráfico. Se podría pensar que esta declaración es noticia vieja porque los científicos informáticos han desarrollado técnicas de análisis gráfico durante décadas. Lo que usted dice bien puede ser cierto, pero lo que es nuevo es que mediante el uso de Hadoop, se puede hacer el análisis gráfico en una gran escala.
Conteúdo
Qué son los datos del gráfico?
LA gráfico en términos de datos es simplemente una representación de las entidades individuales y sus relaciones. Entidades de un gráfico se conocen como nodos (o vértices), Y las relaciones entre las entidades en un gráfico se conocen como bordes (o conexiones). En representación de los conjuntos de datos en un gráfico, en lugar de filas y columnas tradicionales, hace que sea mucho más fácil de procesar sus datos en formas que hacen que las relaciones entre los objetos de cristal claro. Cálculos gráfico típico están representados por la distancia más corta trayectoria entre varios nodos en el gráfico, o simplemente por la cantidad de nodos tienen conexiones de un cierto tipo a un nodo específico.
Aplicaciones para el análisis gráfico
La aplicación más conocida de las bases de datos del gráfico es el algoritmo PageRank de Google, que calcula las relaciones que unen entre todas las páginas web conocidas. Google representa la web como un gráfico gigante, donde las páginas web son nodos y los enlaces de una página a otra se representan como bordes. (Google compartió la riqueza mediante la publicación de un artículo que describe su análisis del proyecto gráfico - etiquetada Pregel - volver en 2010.) El procesamiento gráfico que Google estaba interesado en implicó calcular el número de conexiones de entrada para cada página web.
Facebook causó sensación significativa en 2013, cuando anunció que estaba usando Apache Giraph (basado en el papel Pregel), un motor de procesamiento gráfico diseñado para procesar gráficos almacenados en HDFS. Demostró el poder de Giraph por mostrar un gráfico que representa a todos los usuarios de Facebook (más de 1 mil millones) y sus amistades (miles de millones!), Que en conjunto cuenta con más de 1 billón de bordes. Esta escala es asombrosa: Si eres de Facebook y que necesita para hacer cálculos como recomendaciones amigo, ¿qué mejor herramienta a utilizar que un motor de procesamiento gráfico? No es ninguna sorpresa que una base de datos gráfica distribuida se encuentra en el núcleo de cada otro sitio de medios sociales notables, incluyendo Twitter, LinkedIn, OkCupid, y Pinterest.
Un motor de procesamiento gráfico puede responder fácilmente a muchas preguntas prácticas para los sitios de medios sociales. Dos ejemplos son la forma en LinkedIn muestra los grados de separación entre usted y otro usuario es un cálculo del camino más corto (¿cuál es el vínculo más estrecho entre dos nodos?) Y cómo OkCupid muestra a los usuarios con intereses comunes es un conjunto de cálculos de filtrado colaborativo (¿cuáles son los más conexiones comunes a un conjunto específico de nodos?).
Análisis Gráfico en Hadoop
A partir de la primavera de 2014, el análisis gráfico de Hadoop permanece en sus etapas iniciales. Con la llegada de hilo en Hadoop 2, el análisis gráfico y otras técnicas de procesamiento especializados serán cada vez más populares en Hadoop. Muchos de los sitios sociales mencionados en este artículo utilizan sus propias, bases de datos del gráfico de propiedad y motores de procesamiento, pero Facebook es un usuario importante de Giraph. Porque (implícita) sello de aprobación de Facebook, Giraph se ha convertido en una opción popular para el análisis gráfico de Hadoop, pero tiene algunas limitaciones. Es únicamente un motor de procesamiento, ya que carga los datos en forma de gráfico en la memoria de la agrupación, y está optimizado para consultas por lotes orientada.
Otra solución de procesamiento gráfico que viene de Aurelio, una empresa que ha lanzado un conjunto de herramientas de código abierto gráfico-análisis para Hadoop. En el núcleo de su oferta es Titán, una base de datos gráfica utilizando HBase como una capa de persistencia, que está optimizado para las consultas interactivas, y Fauno, un motor de procesamiento gráfico que almacena una instantánea de un gráfico de Titan en HDFS y ejecuta trabajos de MapReduce en su contra . Tanto para el interactivo (Titán) y por lotes (Fauno) aplicaciones, Aurelio tiene el común de la API gráfica-recorrido llamado Gremlin.
Por último, el proyecto Spark Apache tiene la rama GraphX, lo que permite la generación de datos del gráfico, y luego procesado, todo dentro del marco de chispa.