Il database grafico AWS Neptune è progettato per archiviare un’ampia raccolta di relazioni complesse come servizio scalabile. Supporta una serie di standard diversi e in evoluzione per rappresentare la conoscenza e le reti complesse come grafici e ha recentemente aggiunto hook per un protocollo Graph Store, openCypher, Neptune ML e TinkerPop Gremlin alla sua vasta gamma di API supportate.

In esecuzione sul cloud AWS, è un nuovo importante membro nel campo sempre più competitivo dei database a grafi. In particolare, Amazon si sta concentrando sull’integrazione delle routine di intelligenza artificiale dal servizio di intelligenza artificiale dell’azienda SageMaker ad AWS Neptune. Ciò ha lo scopo di creare uno strumento ibrido che archivia e analizza i dati.

 
I database grafici memorizzano grandi raccolte di relazioni tra oggetti, persone, idee o qualsiasi altra entità che potrebbe essere rappresentata in un database. Mentre i database relazionali funzionano bene con la registrazione di campi di dati e connessioni uno-a-molti, i database a grafo sono ottimizzati per tenere traccia delle relazioni molti-a-molti, come i social network (chissà chi) e le reti concettuali (quali idee sono collegate a quali altri ).

Alcuni dei casi d’uso naturali per i database a grafi come Neptune sono:

Rilevamento delle frodi : il comportamento criminale spesso rientra in uno schema prevedibile e i database a grafo sono utili per trovare schemi basati sulle connessioni tra gli eventi. Una serie di eventi negativi che utilizzano lo stesso indirizzo fisico o IP, ad esempio, potrebbe portare a contrassegnare eventi futuri con gli stessi indirizzi per il controllo.
Motori di raccomandazione : se il grafico può collegare elementi simili, un semplice algoritmo può aiutare gli utenti a trovare nuovi amici o potenziali acquisti seguendo questi collegamenti.
Grafici della conoscenza : una delle opzioni più sofisticate consiste nel creare una rete di relazioni tra idee, pensieri e concetti astratti. Questo può fungere da base per algoritmi di ricerca più sofisticati, traduzione linguistica o altre forme di intelligenza artificiale.
Monitoraggio del riciclaggio di denaro — Alcune normative chiedono agli istituti finanziari di monitorare il flusso di valuta per aiutare a prevenire la criminalità. I database grafici sono opzioni naturali per modellare le transazioni e rilevare i flussi netti.
Tracciamento dei contatti : gli epidemiologi lavorano spesso per controllare la diffusione della malattia monitorando come e quando le persone si incontrano e interagiscono. I database a grafo hanno spesso algoritmi per tracciare il flusso attraverso più salti.
Neptune supporta i due principali modelli concettuali per l’elaborazione dei dati grafici (grafico delle proprietà e RDF) e i vari linguaggi di query per ciascuno di essi. Gli utenti possono scegliere un particolare modello durante la creazione delle tabelle del database, ma queste non sono facilmente intercambiabili dopo la creazione.

Gli sviluppatori hanno una serie di opzioni per lavorare con Neptune. I dati possono essere inseriti o interrogati con uno di questi protocolli:

Gremlin, per accedere ai dati del grafico delle proprietà, dal progetto Apache TinkerPop
openCypher, un’altra opzione per interrogare i dati del grafico delle proprietà, dai database Neo4J
SPARQL, per la ricerca di dati RDF, dal W3C
Bolt, una versione binaria del protocollo openCypher, da Neo4J
AWS Neptune è inoltre progettato come altri database Amazon per nascondere gran parte della complessità dell’installazione del software o per ridimensionarlo in modo efficace. Il servizio replicherà i dati per creare repliche di lettura tra data center e zone di disponibilità. I backup possono essere attivati ​​automaticamente nei bucket S3. Se un nodo si guasta, altre repliche possono subentrare automaticamente.

Il prezzo di Nettuno dipende fortemente dall’utilizzo. Il conto unisce la potenza del calcolo ($ 0,098 per ora di macchina virtuale e oltre), la quantità di spazio di archiviazione ($ 0,10 per GB al mese) e il numero di query ($ 0,20 per 1 milione di richieste). I backup possono essere più economici a ($ 0,02 per GB al mese negli Stati Uniti orientali). C’è una quantità gratuita di trasferimento dati, ma dopo il primo terabyte partirà da $ 0,09/GB e diminuirà con il volume.

L’integrazione con SageMaker di Amazon offre l’opportunità di consentire allo strumento di apprendimento automatico di classificare nodi e archi del grafico in base ai loro attributi e agli attributi dei nodi o degli archi ad essi collegati. Può anche determinare le connessioni più probabili in base a un set di dati, consentendogli di offrire percorsi predittivi.

Alcune applicazioni di questa opzione di apprendimento automatico includono attività dal mondo fisico, come trovare percorsi o percorsi attraverso dati geografici che sono stati trasformati in un modello grafico. Altre attività più astratte, come la sintesi della conoscenza, dipendono da modelli grafici costruiti da reti testuali o concettuali.

Come competono le imprese consolidate?
I database più vecchi stanno aggiungendo funzionalità grafiche ai loro database esistenti come un altro tipo di tabella. La soluzione Oracle può anche modellare sia il grafico delle proprietà che i dati RDF sotto l’ombrello del suo database principale. Questi giocatori hanno aggiunto funzionalità di ricerca di grafici al loro linguaggio di query e hanno creato una raccolta di strumenti come Graph Studio che semplifica l’estensione dei set di dati esistenti per utilizzare le funzionalità del grafico.

Microsoft ha aggiunto funzionalità di modellazione del grafico delle proprietà al servizio Azure Cosmos DB. Le query possono essere costruite utilizzando Gremlin per cercare i nodi che vengono replicati automaticamente. L’azienda ha anche aggiunto nodi e oggetti grafici a SQL Server, rendendo possibile l’archiviazione delle informazioni sui grafici insieme ad altri dati relazionali.

IBM ha aggiunto il framework di analisi Apache TinkerPop a Db2 in modo che le query scritte in Gremlin possano funzionare insieme a più richieste SQL standard.

Come stanno gareggiando i nuovi arrivati?
Fondata nel 2007, Neo4J è una delle principali società di database grafici ed è responsabile dello sviluppo di alcuni degli standard che Nettuno sta emulando. Supporta Neo4J, uno dei primi database grafici di successo. La società è cresciuta costantemente e di recente ha raccolto un round di finanziamenti con una valutazione di $ 2 miliardi, rendendola lontana da una startup ma non nella stessa gamma delle più grandi aziende dello spazio.

Nelle interviste, il team dirigenziale di Neo4J cita le dimensioni moderate dell’azienda come un vantaggio perché si concentra sulla creazione del miglior ecosistema di database grafici, piuttosto che dilettarsi con ogni tecnologia. Lo strumento è anche facilmente scaricabile, consentendo alle aziende di eseguirlo sia nel cloud che in locale. Il software può essere eseguito localmente, in un’immagine preconfigurata sui principali cloud o nel cloud Aura proprietario di Neo4J.

Alcuni altri database a grafo continuano a crescere. ArrangoDB offre anche una versione aziendale che può essere eseguita sulle tue macchine o come istanza preconfigurata nei principali cloud. Per coloro che desiderano accedere al codice sorgente, è disponibile anche una versione della community senza alcune delle funzionalità per il supporto di cluster multi-macchina di grandi dimensioni. ArrangoDB si autodefinisce “multimodale” perché i nodi possono agire come archivi di chiavi/valori NoSQL, parti di un grafico o entrambi.

TigerGraph è anche progettato per affrontare grandi set di dati e può essere utilizzato su hardware locale o tramite un abbonamento a un servizio in TigerGraph Cloud. È progettato per gestire set di dati più grandi utilizzando Apache Hadoop o Spark. Le query sono scritte in GSQL.

Dgraph è un database grafico distribuito disponibile con la licenza Apache o con un set di livelli proprietari di livello aziendale per la creazione di cluster multi-macchina più grandi. Il linguaggio di query principale è GraphQL, creato da Facebook.

JanusGraph è un progetto della Linux Foundation supportato da numerose aziende, tra cui Target. Il database è progettato per funzionare con alcuni dei grandi database NoSQL, come Apache HBase, Bigtable di Google e BerkleyDB di Oracle. L’analisi dei dati può essere eseguita tramite alcuni framework distribuiti MapReduce o Apache Spark.

C’è qualcosa che AWS Neptune non può fare?
Il supporto per Property Graph e RDF conferisce a Neptune un ampio appeal per molti progetti, inclusi quelli che utilizzeranno entrambe le architetture. Ma il supporto non è completo e Neptune non offre tutte le funzionalità nei vari standard. Ad esempio, le query di inferenza per i dati RDF non sono ancora disponibili, secondo quanto riferito perché hanno rallentato le prestazioni.

Disponibile esclusivamente come servizio cloud, AWS Neptune differisce anche dalle offerte AWS come Aurora perché il software principale non è disponibile come distribuzione open source e gli sviluppatori non possono eseguire versioni locali o abbandonare l’hardware AWS.

 

Di ihal