Nel settore enterprise sono molto diffusi i distributed in-memory database, nei decenni sono nati diversi progetti software che mirano ad una sempre più veloce elaborazione dei dati contenuti in tali database. Oggi vogliamo parlavi di Graph Engine, il distributed in-memory data processing engine sviluppato da Microsoft, che mira appunto ad un "fast random data access" su di un data set distribuito di ampie dimensioni.
La capacità di una rapid data exploration e le funzionalità orientate al distributed parallel computing rendono Graph Engine una piattaforma nativamente predisposta per l'elaborazione del Big Datain ambito aziendale. Graph Engine supporta sia il query processing online a bassa latenza che l'analytic high-throughput offline.
La Casa di Redmond ha dunque sviluppato un piattaforma software che è capace di gestire senza problemi, e a run-time, miliardi di oggetti di varia dimensione. Graph Engine è inoltre dotata di un avanzato sistema per l'allocazione rapida in memoria fornendo nel contempo un'efficiente memory reallocation, anche in presenza di ratio particolarmente elevate dal punto di vista del consumo di risorse.
Una delle funzionalità chiave di Graph Engine è la sua capacità di utilizzare la memoria Ram per uno speed up dei data access e della velocità di calcolo, infatti la Ram viene usata direttamente per il run-time storage invece di essere impiegata per mettere a disposizione staticamente le informazioni.
Graph Engine è anche un computation engine flessibile, animato dal declarative message passing, si adatta dunque alle esigenze di chi deve costruire un sistema che necessità di eseguire computazioni server side specifiche per l'utente finale.
Se si guarda Graph Engine dal punto di vista di una graph computation, può sembrare che il progetto di Redmond non sia particolarmente ottimizzato per una serie di operazioni critiche, ma presenta diverse feature bult-in con cui è possibile sviluppare moduli per la graph computation.
Via Graph Engine