Indholdsfortegnelse:
- Hvad er grafdata?
- Den mest velkendte ansøgning til grafdatabaser er Googles PageRank-algoritme, som beregner forbindelsesforholdene mellem alle kendte websider. Google repræsenterer nettet som en kæmpe graf, hvor websiderne er noder, og linkene fra den ene side til den anden er repræsenteret som kanter. (Google delte rigdom ved at offentliggøre et dokument, der beskriver sit grafanalyseprojekt - mærket Pregel-back i 2010.) Den grafbehandling, som Google var interesseret i, involverede beregning af antallet af indgående forbindelser for hver webside.
- Fra foråret 2014 forbliver grafanalyse på Hadoop i sine tidlige stadier. Med fremkomsten af Garn i Hadoop 2 vil grafanalyse og andre specialiserede behandlingsteknikker blive stadig mere populære på Hadoop. Mange af de sociale websteder, der er nævnt i denne artikel, bruger deres egne grafiske databaser og behandlingsmotorer, men Facebook er en fremtrædende bruger af Giraph. Fordi Facebooks (stiltiende) godkendelsesmærke er Giraph blevet et populært valg til grafanalyse på Hadoop, men det har nogle begrænsninger. Det er udelukkende en behandlingsmotor, fordi den indlæser data som en graf i klyngens hukommelse, og den er optimeret til batch-orienterede forespørgsler.
Video: Hadoop Processing Frameworks 2025
En af de mere spændende nye NoSQL teknologier indebærer lagring og behandling af grafdata. Du tror måske, at denne erklæring er gammel nyhed, fordi computerforskere har udviklet grafanalyse teknikker i årtier. Hvad du siger kan godt være sandt, men hvad er nyt er, at ved at bruge Hadoop, kan du gøre grafanalyse i stor skala.
Hvad er grafdata?
A graf i datat termer er simpelthen en repræsentation af individuelle enheder og deres forhold. En grafs enheder kaldes noder (eller hjørner ), og relationerne mellem enheder i en graf kaldes kanter (eller forbindelser >). At repræsentere datasæt i en graf i modsætning til traditionelle rækker og kolonner gør det meget nemmere at behandle dine data på en måde, der gør forholdet mellem objekter krystalklar. Typiske grafberegninger er repræsenteret af den korteste stiafstand mellem flere knudepunkter i din graf eller blot ved hvor mange knudepunkter der er forbindelser af en bestemt type til en bestemt knude.
Den mest velkendte ansøgning til grafdatabaser er Googles PageRank-algoritme, som beregner forbindelsesforholdene mellem alle kendte websider. Google repræsenterer nettet som en kæmpe graf, hvor websiderne er noder, og linkene fra den ene side til den anden er repræsenteret som kanter. (Google delte rigdom ved at offentliggøre et dokument, der beskriver sit grafanalyseprojekt - mærket Pregel-back i 2010.) Den grafbehandling, som Google var interesseret i, involverede beregning af antallet af indgående forbindelser for hver webside.
Grafanalyse i Hadoop
Fra foråret 2014 forbliver grafanalyse på Hadoop i sine tidlige stadier. Med fremkomsten af Garn i Hadoop 2 vil grafanalyse og andre specialiserede behandlingsteknikker blive stadig mere populære på Hadoop. Mange af de sociale websteder, der er nævnt i denne artikel, bruger deres egne grafiske databaser og behandlingsmotorer, men Facebook er en fremtrædende bruger af Giraph. Fordi Facebooks (stiltiende) godkendelsesmærke er Giraph blevet et populært valg til grafanalyse på Hadoop, men det har nogle begrænsninger. Det er udelukkende en behandlingsmotor, fordi den indlæser data som en graf i klyngens hukommelse, og den er optimeret til batch-orienterede forespørgsler.
En anden grafbehandling løsning kommer fra Aurelius, et firma, der har udgivet et sæt open source grafanalyseværktøjer til Hadoop. Kernen i sine tilbud er Titan, en grafdatabase, der bruger HBase som et persistenslag, der er optimeret til interaktive forespørgsler, og Faunus, en grafbehandlingsmotor, der lagrer et øjebliksbillede af en graf fra Titan i HDFS og kører MapReduce jobs imod det. For både de interaktive (Titan) og batch (Faunus) applikationer har Aurelius den fælles graf-traversale API ved navn Gremlin.
Endelig har Apache Spark-projektet GraphX-offshooten, som gør det muligt at generere grafdata og derefter behandle alt inden for Spark-rammerne.