Inhoudsopgave:
- Wat zijn grafische gegevens?
- De meest bekende toepassing voor grafendatabanken is het PageRank-algoritme van Google, dat de koppelingsrelaties tussen alle bekende webpagina's berekent. Google vertegenwoordigt het web als een gigantische grafiek, waarbij de webpagina's knooppunten zijn en de links van de ene pagina naar de andere worden weergegeven als randen. (Google deelde de rijkdom door een paper te publiceren waarin het grafiekanalyseproject - gelabeld Pregel - in 2010 werd beschreven.) De grafische verwerking waarin Google geïnteresseerd was, betrof het berekenen van het aantal inkomende verbindingen voor elke webpagina.
- Vanaf het voorjaar van 2014 bevindt de grafiekanalyse van Hadoop zich nog in de beginfase. Met de komst van YARN in Hadoop 2 zullen grafanalyse en andere gespecialiseerde verwerkingstechnieken steeds populairder worden bij Hadoop. Veel van de sociale sites die in dit artikel worden genoemd, gebruiken hun eigen, eigen grafische databases en verwerkingsengines, maar Facebook is een prominente gebruiker van Giraph. Omdat Facebook het (impliciete) zegel van goedkeuring is, is Giraph een populaire keuze geworden voor grafiekanalyse van Hadoop, maar het heeft enkele beperkingen. Het is uitsluitend een verwerkingsengine omdat het gegevens als een grafiek in het geheugen van het cluster laadt en het is geoptimaliseerd voor op batch georiënteerde query's.
Video: Hadoop Processing Frameworks 2024
Een van de interessantere nieuwe NoSQL-technologieën is het opslaan en verwerken van grafiekgegevens. Je zou kunnen denken dat deze verklaring oud nieuws is, omdat computerwetenschappers al decennia grafische analysetechnieken ontwikkelen. Wat u zegt, is misschien waar, maar wat nieuw is, is dat u met Hadoop grafiekanalyse op grote schaal kunt uitvoeren.
Wat zijn grafische gegevens?
A grafiek in termen van gegevens is eenvoudigweg een weergave van individuele entiteiten en hun relaties. De entiteiten van een grafiek staan bekend als knooppunten (of hoekpunten ) en de relaties tussen entiteiten in een grafiek staan bekend als randen (of verbindingen) >). Het weergeven van gegevenssets in een grafiek, in tegenstelling tot traditionele rijen en kolommen, maakt het veel eenvoudiger om uw gegevens te verwerken op een manier die de relaties tussen objecten glashelder maakt. Typische grafiekberekeningen worden weergegeven door de kortste padafstand tussen meerdere knooppunten in uw grafiek, of eenvoudigweg door hoeveel knooppunten verbindingen van een bepaald type hebben met een specifiek knooppunt.
De meest bekende toepassing voor grafendatabanken is het PageRank-algoritme van Google, dat de koppelingsrelaties tussen alle bekende webpagina's berekent. Google vertegenwoordigt het web als een gigantische grafiek, waarbij de webpagina's knooppunten zijn en de links van de ene pagina naar de andere worden weergegeven als randen. (Google deelde de rijkdom door een paper te publiceren waarin het grafiekanalyseproject - gelabeld Pregel - in 2010 werd beschreven.) De grafische verwerking waarin Google geïnteresseerd was, betrof het berekenen van het aantal inkomende verbindingen voor elke webpagina.
Grafiekanalyse in Hadoop
Vanaf het voorjaar van 2014 bevindt de grafiekanalyse van Hadoop zich nog in de beginfase. Met de komst van YARN in Hadoop 2 zullen grafanalyse en andere gespecialiseerde verwerkingstechnieken steeds populairder worden bij Hadoop. Veel van de sociale sites die in dit artikel worden genoemd, gebruiken hun eigen, eigen grafische databases en verwerkingsengines, maar Facebook is een prominente gebruiker van Giraph. Omdat Facebook het (impliciete) zegel van goedkeuring is, is Giraph een populaire keuze geworden voor grafiekanalyse van Hadoop, maar het heeft enkele beperkingen. Het is uitsluitend een verwerkingsengine omdat het gegevens als een grafiek in het geheugen van het cluster laadt en het is geoptimaliseerd voor op batch georiënteerde query's.
Een andere oplossing voor grafieverwerking is afkomstig van Aurelius, een bedrijf dat een reeks open source grafiekanalysetools voor Hadoop heeft uitgebracht. De kern van zijn aanbod is Titan, een grafendatabase die HBase gebruikt als een persistentielaag, die is geoptimaliseerd voor interactieve query's, en Faunus, een grafische verwerkingsengine die een momentopname van een grafiek opslaat van Titan in HDFS en MapReduce-taken daartegen uitvoert. Voor zowel de interactieve (Titan) als de batch (Faunus) -toepassingen heeft Aurelius de gemeenschappelijke API voor grafische trajecten, genaamd Gremlin.
Tot slot heeft het Apache Spark-project de GraphX-uitloop, waarmee het genereren van grafiekgegevens en vervolgens verwerking allemaal binnen het Spark-raamwerk mogelijk is.