Programmēšana

Atvērtā koda Microsoft Graph Engine pārņem Neo4j

Dažreiz attiecības starp jūsu apkopotajiem datiem ir svarīgākas nekā paši dati. (Skatiet: Facebook, lai monetizētu jūsu draugu sarakstu.) Tieši tad noder diagrammu apstrādes sistēma. Tā ir svarīga, bet bieži vien slikti izprasta metode, kā izpētīt, kā datu kopas vienumi ir savstarpēji saistīti.

Korporācija Microsoft ir izpētījusi šo jomu vismaz kopš 2013. gada, kad tā publicēja rakstu, kurā aprakstīts Trinity projekts - mākoņu bāzes grafikas motors, kas atrodas atmiņā. Pūles augļi, kas pazīstami kā Microsoft Graph Engine, tagad ir pieejami kā MIT licencēts atvērtā koda projekts kā alternatīva tādiem kā Neo4j vai Linux Foundation nesen paziņotajam JanusGraph.

Viss ir saistīts

Microsoft izsauc Graph Engine (GE) kā "gan RAM krātuvi, gan skaitļošanas motoru". Datus var ievietot GE un iegūt ar lielu ātrumu, jo tie tiek glabāti atmiņā un pēc vajadzības ierakstīti atpakaļ diskā. Tas var darboties kā vienkāršs atslēgas vērtību krājums, piemēram, Memcached, taču Redis var būt labāks salīdzinājums, jo GE datus glabā stingri ierakstītās shēmās (virkne, vesels skaitlis utt.).

Vienādojuma "skaitļošanas motors" daļa nozīmē, ka GE mezglos realizē sadalītus algoritmus, kas rakstīti C #. Tas nav optimizēts ārpus lodziņa konkrēta veida grafu algoritmiem, tāpēc tas, iespējams, pievilcīgi šķērsos tos, kuri vēlas rakstīt savus diagrammu izpētes algoritmus jau pašā sākumā vai vienkārši rakstīt savus sadalītos algoritmus.

"Tā vietā, lai mēģinātu nodrošināt izsmeļošu iebūvētu skaitļošanas moduļu komplektu," teikts Microsoft dokumentācijā, "GE mēģina nodrošināt vispārīgus veidošanas blokus, lai mēs varētu viegli izveidot šādus moduļus." Šie bloki ietver sinhronas un asinhronas ziņojumu pārsūtīšanas sistēmu, kā arī LIKQ diagrammas vaicājuma valodu, kuru jau izmanto Academic Graph Search API Microsoft Cognitive Services.

Dažādi veidi, izmantojot labirintu

Kā tas viss veidojas salīdzinājumā ar vadošo atvērtā koda diagrammu datu bāzi Neo4j? Pirmkārt, Neo4j ir bijis tirgū ilgāk, un tam ir esoša lietotāju bāze. Tas ir pieejams arī gan atvērtā koda kopienas izdevumā, gan komerciālā produktā, turpretī GE šobrīd ir tikai atvērtā koda projekts.

Tas nozīmē, ka tikai komerciālais, uz uzņēmumu orientētais Neo4j izdevums atbalsta dalīšanu un replikāciju. GE, gluži pretēji, ir apvienota noklusējuma atvērtā koda iemiesojumā, lai gan gan Neo4j, gan GE klasterizācijai ir nepieciešama manuāla iestatīšana. GE gadījumā katra klastera mezgla (serveru un pēc izvēles vaicājumu apkopošanas starpniekserveru) lomas ir jākonfigurē manuāli atkarībā no lietošanas gadījuma.

Vēl viena izplatīta grafu datu bāze, kuru ir vērts salīdzināt ar GE, ir JanusGraph, jauns projekts, kuru sponsorē Linux Foundation, ar Google, Hortonworks un IBM ieguldījumu. Tā ir veidota, lai cieši sadarbotos ar Hadoop ekosistēmu un izmantotu to. Elasticsearch un Lucene var izmantot kā indeksēšanas dzinējus, un Cassandra un HBase var izmantot kā datu krājumus. Izmantojot GE, vispirms tajā jāimportē dati.

Tas, uz ko Microsoft, šķiet, tiecas ar GE, nav tieša konkurence ar šiem projektiem. Tā vietā GE ir sadalītas datu glabāšanas infrastruktūras daļa, kas saņem jaunus datus un kā vienu no daudzajām priekšrocībām nodrošina diagrammu aprēķināšanu. Tās liberālā licencēšana arī padara to viegli pielāgojamu citiem produktiem vai viegli pielāgojama izmitināšanai. Nav skaidrs, vai Microsoft ir izmantojis GE kā daļu no savām sistēmām (lai gan tas ir izmantojis LIKQ, kā norādīts iepriekš).

Ja tie, kas izmanto platformas, kas nav Microsoft platformas, ir ieinteresēti izmēģināt Graph Engine, drīz pēc platformas Linux / BSD starpplatformu atbalsta saņemšanas, uzskata viens no izstrādātājiem.

$config[zx-auto] not found$config[zx-overlay] not found