Programmering

Å gi mening om Microsofts grafdatabasestrategi

Det har tatt litt tid, men Microsofts kjøp av LinkedIn på 26 milliarder dollar på LinkedIn begynner endelig å vise noen interessante resultater, og LinkedIn-data begynner å vises i verktøy som Outlook. Det er det første tegnet på at Microsoft bruker det sosiale nettverkets forholdsgraf, det komplekse datasettet som var årsaken til et av Microsofts største oppkjøp av Silicon Valley.

Under panseret er et sosialt nettverk som LinkedIn ikke annet enn en stor NoSQL-grafdatabase, ved hjelp av en skjemafri tilnærming til å administrere semistrukturerte data. Hver node i grafen er et individ, med alle hans eller hennes profildata. Hver node er knyttet til andre, titalls eller hundrevis for mennesker med noen få forbindelser, tusenvis for høyt tilknyttede individer. Spørsmål går gjennom disse forbindelsene, slik at du kan finne alle menneskene du kjenner som jobber med AI, eller som er basert i Ontario, eller som tidligere jobbet på LinkedIn.

Grafdatabaser overalt: Microsoft Graph, Common Data Service, Cosmos DB og Security Graph

Microsofts interesse for grafbaserte data er tydelig. Konsernsjef Satya Nadella beskrev Office 365 API-er, grunnlaget for det som nå kalles Microsoft Graph, som selskapets "viktigste" innsats. Det er absolutt et veldig kraftig verktøy, og når du åpner det for alle, kan organisasjoner utforske hvordan deres interne team utvikler seg og hvordan bedriftskunnskap lagres i dokumenter og samtaler - sammen med verktøyene for å avsløre den informasjonen og gjøre den brukbar.

Det er mye data i Microsoft Graph, med verktøy både for forbrukerinformasjon og for forretningsinformasjon. Elementer tilknyttet Microsoft-kontoer, som den nye Aktivitetsstrømmen og Enhetsgrafen, er grunnlaget for funksjoner som roaming-enheter som Fortsett på PC-verktøyene mine nylig utgitt for iOS og Android (ligner Apples iCloud-kontobaserte Handoff-funksjonalitet i iOS) , og som Microsoft oppfordrer UWP-utviklere (Universal Window Platform) til å bygge inn i koden sin som en del av Project Rome og den kommende Windows-tidslinjefunksjonen.

Men Microsoft Graph og LinkedIn er ikke Microsofts eneste grafer med APIer:

  • Dynamics 365 har Common Data Service, en måte å beskrive standardelementer i en virksomhet. Med Common Data Service kan du utvide et standardskjema med din kundemodell eller produktene dine.
  • Så er det den skyomspennende Cosmos DB, som bygger på en JSON-dokumentdatabase med forskjellige API-sett, inkludert et for utvikling og administrering av dine egne grafdatabaser i stor skala.
  • Selv om det ikke er helt offentlig, brukes Microsofts sikkerhetsgraf for å vurdere og håndtere trusler, utsatt for appene dine gjennom verktøy som Azure Active Directory-funksjonen for betinget tilgang.

Microsofts forskjellige tilnærming: Spørring av flere grafer

Hvor ting blir interessante, er å bruke grafspørsmål på tvers av flere grafer og bruke dem til å trekke ut innsikt som kan bidra til å få forretningsbeslutninger. Jeg har ofte snakket om ideen om "informasjon om rett tid": riktig informasjon til rett tid levert til riktige personer, slik at de kan ta den riktige avgjørelsen for riktig forretningsresultat. Å være i stand til å spørre kantene på en graf, i stedet for på noden, lar deg forstå forholdet mellom elementene, en nøkkelfaktor for å levere den typen informasjonstøtte en moderne virksomhet trenger.

Ved å støtte flere grafer, tilbyr Microsoft et alternativ til tradisjonelle databasedrevne beslutningsstøtteverktøy. Ved å blande internt personale og dokumentdata på Microsoft Graph, eksterne relasjoner via LinkedIn, kjernevirksomhetsinformasjon i Dynamics 365 Common Data Service og tilpasset skjema i det skyhostede Cosmos DB, kan du gjøre komplekse kryssgrafspørsmål med fokus på ikke bare enn individuelle noder i disse grafene, men også på koblingene mellom noder. Det lar deg jobbe med mye mer komplekse forhold enn de som er utsatt i relasjonsdatabaser.

En måte å bli eksponert på er i det nye Bing for Business-verktøyet som legger til informasjon fra en bedrifts Active Directory og andre kilder til Bing-søk når en bruker er logget på en Azure Active Directory-konto. Resultatene genereres dynamisk fra Microsoft Graph-spørsmål som returnerer detaljer om for eksempel hvor noen er i organisasjonskartet, sammen med beslektet innhold fra det bredere nettet og fra dokumenter de har delt internt.

Det er en annen måte å avsløre informasjonen som har vært tilgjengelig i Microsofts Delve-verktøy, og ta den fra et program som måtte lanseres før du kunne gjøre et spørsmål til nettleseren som alltid er åpen. Som bransje har vi innbakt søk i nettleseren, så det er logisk å gjøre det til et av verktøyene vi bruker for å utforske grafene som ligger til grunn for virksomheten vår.

Den første utgivelsen av Bing for Business fokuserer på Microsoft Graph, sammen med verktøy som lar administratorer legge til spesifikke intranettlenker for bestemte spørsmål. Så når du søker etter gjeldende utgiftspolicy, blir du henvist til passende selvbetjeningsverktøy. Fremtidige utgivelser vil bringe inn flere av Microsofts grafer, låse søk basert på funksjonalitet for betinget tilgang og avsløre eksterne forhold via LinkedIn.

Microsoft-grafenes feil: De bruker forskjellige spørringsgrammatikker

Selv om den overordnede visjonen for Microsofts forskjellige grafbaserte egenskaper begynner å bli klar, er det fortsatt noen problemer med å spørre på tvers av flere kilder. Selv om de alle tilbyr REST API-er, kan de underliggende spørringsspråkene variere. For eksempel bruker Microsoft Graph sin egen spørringsgrammatikk i API-ene, mens CosmosDB bygger på det mye brukte Apache Gremlin-spørringsspråket.

API-baserte spørsmål har en tendens til å være relativt enkle, med fokus på spesifikke søk. Mer komplekse spørsmål pleier å håndteres ved hjelp av domenespesifikke språk som Gremlin som er designet for bruk med grafdatabaser. En av Gremlins mer interessante funksjoner er dens evne til å generere nye kart fra de underliggende dataene som du kan analysere og bruke i applikasjonene dine. Gremlin kan også håndtere mønstermatching, samt arbeide med store dataanalyseverktøy som Hadoop; slik at du kan bruke den til å levere spørsmål fra Azures HDInsight-stordataverktøy sammen med dine Cosmos DB-vert-grafer.

Hvis vi skal få fordelen av alle de forskjellige Microsoft-grafegenskapene, trenger vi en felles spørringsplattform som kan ta spørsmål og vifte dem ut over forskjellige kilder, asynkront håndtere svar og sikre at spørsmålene er riktig konstruert for å målrette mot spesifikke APIer.

Du kan lage din egen søkemotor for flere bilder, men dette er virkelig noe Microsoft trenger å levere, kanskje som en Azure-tjeneste. På den måten kan den integreres med eksisterende abonnementer og med kjente autentiseringsmetoder, enten for brukere eller apper.

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