Programavimas

Atvirojo kodo „Microsoft Graph Engine“ perima „Neo4j“

Kartais ryšiai tarp jūsų surinktų duomenų yra svarbesni nei patys duomenys. (Žiūrėkite: „Facebook“ uždirba pinigus iš jūsų draugų sąrašo.) Tuomet grafikų apdorojimo sistema yra naudinga. Tai svarbus, bet dažnai menkai suprantamas būdas tirti, kaip duomenų rinkinio elementai yra tarpusavyje susiję.

„Microsoft“ tyrinėjo šią sritį mažiausiai nuo 2013 m., Kai paskelbė dokumentą, kuriame aprašytas „Trinity“ projektas - debesų pagrindu veikiantis grafinis variklis atmintyje. Pastangų vaisius, žinomas kaip „Microsoft Graph Engine“, dabar yra prieinamas kaip MIT licencijuotas atvirojo kodo projektas kaip alternatyva tokiems kaip „Neo4j“ ar neseniai paskelbto „Linux Foundation“ „JanusGraph“.

Viskas sujungta

„Microsoft“ grafikos variklį (GE) vadina „RAM atmintimi ir skaičiavimo varikliu“. Duomenis galima įterpti į GE ir gauti dideliu greičiu, nes jie laikomi atmintyje ir tik prireikus įrašomi atgal į diską. Tai gali veikti kaip paprasta raktų vertės saugykla, pvz., „Memcached“, tačiau „Redis“ gali būti geresnis palyginimas, nes „GE“ saugo duomenis labai tipinėse schemose (eilutėje, sveikame skaičiuje ir pan.).

„Skaičiavimo variklio“ lygties dalis reiškia, kad GE įgyvendina paskirstytus algoritmus per mazgus, parašytus C #. Tai nėra optimizuota iš tam tikros rūšies grafikų algoritmų, todėl greičiausiai patiks tiems, kurie nori iš pagrindų parašyti savo diagramų tyrimo algoritmus arba tiesiog parašyti savo paskirstytus algoritmus.

„Užuot bandęs pateikti išsamų integruotų skaičiavimo modulių rinkinį, - teigiama„ Microsoft “dokumentuose, -„ GE “bando pateikti bendrąsias sudedamąsias dalis, kad galėtume lengvai kurti tokius modulius“. Tuose blokuose yra sinchroninio ir asinchroninio pranešimų perdavimo sistema, taip pat LIKQ grafiko užklausos kalba, kurią jau naudoja „Academic Graph Search“ API „Microsoft Cognitive Services“.

Skirtingi keliai per labirintą

Kaip visa tai susilygina su pirmaujančia atvirojo kodo grafikų duomenų baze „Neo4j“? Pirma, „Neo4j“ buvo rinkoje ilgiau ir turi esamą vartotojų bazę. Jis taip pat prieinamas tiek kaip atviro kodo bendruomenės leidimas, tiek kaip komercinis produktas, o „GE“ šiuo metu yra tik atviro kodo projektas.

Vis dėlto, tik komercinis, į įmonę orientuotas „Neo4j“ leidimas palaiko skaidymą ir replikavimą. Priešingai, „GE“ yra sugrupuota pagal numatytąjį atvirojo kodo įsikūnijimą, nors „Neo4j“ ir „GE“ grupavimas reikalauja rankinio sąrankos. GE atveju kiekvieno klasterio mazgo (serverių ir pasirinktinai užklausas kaupiančių tarpinių serverių) vaidmenis reikia sukonfigūruoti rankiniu būdu, atsižvelgiant į naudojimo atvejį.

Kita platinamų grafikų duomenų bazė, kurią verta palyginti su GE, yra „JanusGraph“ - naujas projektas, remiamas „Linux Foundation“, kurį teikia „Google“, „Hortonworks“ ir IBM. Jis sukurtas tam, kad glaudžiai bendradarbiautų su Hadoop ekosistema ir ją panaudotų. „Elasticsearch“ ir „Lucene“ galima naudoti kaip indeksavimo variklius, o „Cassandra“ ir „HBase“ - kaip duomenų saugyklas. Su GE pirmiausia į ją reikia importuoti duomenis.

Tai, ko, atrodo, siekia „Microsoft“ su GE, nėra tiesioginė konkurencija su tais projektais. Vietoj to, GE yra paskirstytos duomenų saugojimo infrastruktūros dalis, gaunanti naujus duomenis ir pateikianti grafiko skaičiavimą kaip vieną iš daugelio savo pranašumų. Dėl liberalaus licencijavimo jį galima lengvai pritaikyti kitiems produktams arba lengvai pritaikyti prieglobai plačiu mastu. Neaišku, ar „Microsoft“ naudojo GE kaip bet kurios savo sistemos dalį (nors ir naudojo LIKQ, kaip pažymėta aukščiau).

Jei tie, kurie kuria ne „Microsoft“ platformas, yra suinteresuoti išbandyti „Graph Engine“, pasak vieno iš kūrėjų, netrukus pasirodys „Linux / BSD“ platformų palaikymas.

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