Amazon Neptune è un database serverless e di analisi a grafo che semplifica la creazione e la gestione di applicazioni a grafo interattive su qualsiasi scala.
Il database Amazon Neptune è un database a grafo completamente gestito da utilizzare per ricercare e interrogare miliardi di relazioni in millisecondi tra migliaia di query simultanee. Fornisce configurazioni ad alta disponibilità, dimensionamento dinamico con supporto serverless e multiregionale per una maggiore resilienza e integrazioni con altri servizi AWS come Amazon SageMaker e il servizio OpenSearch di Amazon.
Neptune dimensiona automaticamente l'archiviazione, aumentandone la capacità e ribilanciando le operazioni I/O in modo da offrire prestazioni costanti senza la necessità di acquistare altro spazio. L'archiviazione di Neptune è a tolleranza di guasti e riparazione automatica. Gli errori del disco vengono riparati in background senza intaccare la disponibilità del database. Neptune è progettato per rilevare automaticamente gli arresti anomali dei database e riavviarsi senza la necessità di ripristino o di creazione di una nuova cache del database. Se il guasto interessa l'intera istanza, Neptune eseguirà automaticamente il failover a 1 delle massimo 15 repliche di lettura.
Le query SQL per i dati altamente connessi sono complesse e difficili da mettere a punto per le prestazioni. Invece, Amazon Neptune consente di utilizzare i popolari linguaggi di query a grafo Apache TinkerPop Gremlin, SPARQL di W3C e openCypher per eseguire potenti query facili da scrivere ed eseguire sui dati connessi. Questo riduce notevolmente la complessità del codice e consente di creare rapidamente applicazioni in grado di elaborare le relazioni. È possibile lanciare velocemente un'istanza del database Neptune con pochi passaggi nella console Neptune.
Amazon Neptune Analytics NOVITÀ è un motore di database di analisi che supporta analisi e algoritmi a grafo e ricerca vettoriale di dati a grafo archiviati in bucket Amazon Simple Storage Service (Amazon S3) o in un database Neptune. È possibile analizzare decine di miliardi di relazioni in pochi secondi. Con Neptune Analytics, è possibile caricare dati da un database Neptune esistente o da Amazon S3 con poche semplici chiamate API e soddisfare i carichi di lavoro di analisi dei grafi più impegnativi. È possibile selezionare un database Neptune esistente come origine dati, che verrà caricato automaticamente su Neptune Analytics. Inoltre, è possibile scegliere di fare in modo che Neptune Analytics carichi i dati a grafo direttamente da Amazon S3 utilizzando file CSV nei formati di esportazione dei grafi più comuni.
Amazon Neptune ML è un'integrazione tra un database Neptune e SageMaker. Neptune ML addestra reti neurali a grafo (GNN), una tecnica di machine learning (ML) creata appositamente per i grafi, per rendere le previsioni semplici e più precise utilizzando i dati a grafo. Neptune ML supporta previsioni in tempo reale su nodi, edge e proprietà (entità) che sono state aggiunte al grafo dopo il processo di addestramento del modello di ML, offrendo previsioni su nuovi dati senza la necessità di riaddestrare i modelli di ML ogni volta.
Prestazioni e scalabilità elevate
Opzioni serverless
Il database serverless Amazon Neptune è un'opzione di implementazione on demand che regola automaticamente la capacità del database in base alle esigenze di un'applicazione. Il database serverless Neptune è in grado di scalare istantaneamente i carichi di lavoro di database a grafo a centinaia di migliaia di query. Neptune serverless adegua la capacità per fornire la quantità giusta di risorse di database per le esigenze dell'applicazione. In questo modo, si paga solo per la capacità consumata, risparmiando fino al 90% dei costi di database rispetto alla capacità di picco.
Elevata velocità di trasmissione effettiva e bassa latenza per le query a grafo
Neptune è un database a grafo dedicato e ad alte prestazioni. Neptune archivia e attraversa i dati a grafo in modo efficiente e utilizza un'architettura in-memory, scalabile e ottimizzata per permettere una rapida valutazione delle query su grafi di grandi dimensioni. Con il Database Neptune, è possibile utilizzare Gremlin, openCypher o SPARQL per eseguire potenti query facili da scrivere e dalle buone prestazioni. Con Neptune Analytics, è possibile utilizzare openCypher.
Facile dimensionamento delle risorse di calcolo di database
Con pochi passaggi nella Console di gestione AWS, è possibile dimensionare le risorse di calcolo e memoria che alimentano o riducono il cluster di produzione. Con il Database Neptune, è possibile dimensionare creando nuove istanze di replica della dimensione desiderata o rimuovendole. Le operazioni di dimensionamento delle risorse di calcolo vengono in genere completate in pochi minuti.
Archiviazione con dimensionamento automatico
Il Database Neptune utilizza un'architettura di archiviazione distribuita e condivisa che crescerà automaticamente insieme alle esigenze dell'archiviazione del database. I dati di Neptune vengono archiviati in un volume cluster ad elevata disponibilità multi-AZ. Quando viene creato un cluster Neptune DB, gli viene assegnato un singolo segmento di 10 GiB. Mano a mano che il volume di dati aumenta e supera lo spazio di archiviazione attualmente allocato, Neptune espande automaticamente il volume del cluster aggiungendo nuovi segmenti. Il volume di un cluster Neptune può aumentare fino a una dimensione massima di 128 TiB nelle Regioni AWS supportate, escluse Cina e GovCloud. Non è necessario effettuare il provisioning dello spazio di archiviazione aggiuntivo per far fronte all'eventuale crescita futura del database.
Repliche di lettura a bassa latenza
Con il Database Neptune, è possibile aumentare la velocità di trasmissione effettiva di lettura per supportare richieste di applicazioni ad alto volume, creando fino a 15 repliche di lettura del database. Le repliche Neptune condividono lo stesso spazio di archiviazione sottostante dell'istanza di origine, riducendo i costi ed eliminando l'esigenza di copiare i dati nei nodi di replica. Ciò consente di liberare una maggiore quantità di potenza di elaborazione per la gestione delle richieste di lettura e di ridurre il ritardo di replica fino a pochi millisecondi. Inoltre, Neptune fornisce un singolo endpoint per le query di lettura, in modo da permettere all'applicazione di collegarsi senza la necessità di tenere traccia delle repliche aggiunte e rimosse.
Disponibilità e durabilità elevate
Monitoraggio e ripristino delle istanze
La salute del Database Neptune e dell'istanza EC2 sottostante vengono continuamente monitorate. Se l'istanza alla base del database restituisce un errore, il database e i processi correlati vengono riavviati automaticamente. Il ripristino di Neptune non richiede la riproduzione potenzialmente lunga di log di ripristino del database, quindi i tempi di riavvio delle istanze sono normalmente pari o inferiori a 30 secondi. Inoltre, isola la cache del buffer del database dai suoi processi, consentendone in questo modo la conservazione in caso di riavvio del database.
Implementazioni multi-AZ con repliche di lettura
In caso di errore dell'istanza, Neptune rende automatico il failover a 1 delle massimo 15 repliche di Neptune create in una delle tre zone di disponibilità. Se non è stato eseguito il provisioning di nessuna delle repliche di Neptune, in caso di errore Neptune tenterà di creare automaticamente una nuova istanza del database.
Archiviazione con tolleranza ai guasti e riparazione automatica
Per il Database Neptune, ogni blocco da 10 GiB del volume del database è reso durevole in tre zone di disponibilità. Il Database Neptune utilizza un'archiviazione con tolleranza ai guasti che gestisce in modo trasparente la perdita di un massimo di due copie di dati senza ripercussioni sulla disponibilità delle operazioni di scrittura del database e la perdita di un massimo di tre copie di dati senza ripercussioni sulla disponibilità delle operazioni di lettura. Inoltre, l'archiviazione del Database Neptune corregge automaticamente gli errori: i blocchi di dati e i dischi su cui vengono rilevati più spesso gli errori vengono sostituiti automaticamente.
Backup automatici, continui e incrementali e ripristino point-in-time
La funzionalità di backup del Database Neptune consente di eseguire il ripristino point-in-time dell'istanza. In tal modo sarà possibile ripristinare il database a qualsiasi momento compreso nel periodo di conservazione, fino agli ultimi 5 minuti. Il periodo di conservazione dei backup automatici può essere configurato per un intervallo di tempo massimo di 35 giorni. I backup automatici vengono memorizzati in Amazon S3, che è stato progettato per offrire una durabilità pari al 99,999999999%. I backup di Neptune sono automatici, incrementali e continui e non hanno alcun impatto sulle prestazioni del database.
Snapshot del database
Gli snapshot del database sono backup avviati manualmente dall'utente dell'istanza archiviata su Amazon S3 e saranno conservati fino alla loro esplicita eliminazione da parte dell'utente. Tale tipologia di snapshot utilizza snapshot incrementali automatici per ridurre il tempo e la quantità di spazio di archiviazione richiesti. È possibile creare una nuova istanza da uno snapshot del database in qualsiasi momento.
Database globale
Il Database globale Amazon Neptune è progettato per le applicazioni con distribuzione globale, consentendo a un singolo database Neptune di coprire più Regioni. Replica i dati a grafo con un minimo impatto sulle prestazioni del database, abilita letture locali veloci con bassa latenza in ogni Regione e assicura il ripristino di emergenza in caso di interruzioni estese su tutta la regione.
Livello di sicurezza elevato
Isolamento di rete
Il Database Neptune viene eseguito nell'Amazon Virtual Private Cloud (Amazon VPC), il che consente di isolare il database in una rete virtuale e di connettersi all'infrastruttura IT on-premise tramite VPN IPsec crittografati standard. Inoltre, utilizzando la configurazione del VPC di Neptune, è possibile configurare le impostazioni del firewall e controllare l'accesso di rete alle istanze del database.
Autorizzazioni a livello di risorsa
Amazon Neptune è integrato con AWS Identity and Access Management (IAM) e consente di controllare le operazioni che gli utenti e i gruppi IAM sono autorizzati ad eseguire su risorse Neptune specifiche, inclusi istanze, snapshot, gruppi di parametri, sottoscrizioni a eventi e gruppi di opzioni relativi al database. Inoltre, è possibile contrassegnare le risorse Neptune con dei tag e controllare le azioni che gli utenti e i gruppi IAM sono autorizzati ad eseguire su risorse con lo stesso tag (e valore di tag). Ad esempio, è possibile configurare le regole IAM in modo da assicurare che gli sviluppatori possano modificare le istanze del database contrassegnate dal tag "Sviluppo", ma che solo gli amministratori del database possano modificare le istanze del database contrassegnate dal tag "Produzione".
Controllo granulare degli accessi
Neptune fornisce agli utenti accesso granulare alle API del piano dati di Neptune con IAM per eseguire azioni per dati a grafo, come la lettura, la scrittura e l'eliminazione dei dati dal grafo, nonché azioni per dati non a grafo, come l'avvio e il monitoraggio delle attività di Neptune ML e il controllo dello stato di attività del piano dati in corso. Ad esempio, crea una policy con accesso in sola lettura per gli analisti dei dati che non hanno la necessità di manipolare i dati a grafo, una policy per l'accesso in lettura e scrittura per gli sviluppatori che utilizzano il grafo per le applicazioni e una policy per i data scientist che hanno la necessità di accedere ai comandi di Neptune ML.
Crittografia
Neptune supporta la crittografia in transito con TLS versione 1.2. Neptune consente di crittografare i database utilizzando chiavi create e gestite mediante il Sistema AWS di gestione delle chiavi. In un'istanza del database in esecuzione con la crittografia di Neptune, i dati inattivi memorizzati nello spazio di archiviazione sono crittografati, così come i backup automatici, gli snapshot e le repliche nello stesso cluster.
Audit avanzato
Amazon Neptune consente di registrare gli eventi di database con un impatto minimo sulle prestazioni del database stesso. I log possono successivamente essere analizzati per gestione di database, sicurezza, governance, conformità normativa e altri scopi. È inoltre possibile monitorare l'attività inviando registri di audit ad Amazon CloudWatch.
Completamente gestito
Più facile da utilizzare
Per iniziare a utilizzare Neptune è sufficiente avviare una nuova istanza del Database Neptune o un grafo Neptune Analytics tramite la Console di gestione AWS. Le istanze del database Neptune sono preconfigurate con i parametri e le impostazioni ottimali per la classe dell'istanza del database selezionata. Sarà pertanto possibile avviare un'istanza del database e collegare l'applicazione in pochi minuti senza ulteriore configurazione. I gruppi di parametri del database forniscono funzionalità di controllo granulare e ottimizzazione del database.
Più facile da operare
Neptune semplifica le operazioni di database a grafo ad alte prestazioni. Con Neptune non è necessario creare indici personalizzati sui dati a grafo. Neptune fornisce i limiti di timeout e utilizzo di memoria per ridurre l'impatto delle query che utilizzano troppe risorse.
Monitoraggio e metriche
Neptune fornisce metriche Amazon CloudWatch per le istanze del database. È possibile utilizzare la Console di gestione AWS per visualizzare più di 20 parametri operativi essenziali per le istanze del database, inclusi i parametri relativi a calcolo, memoria, archiviazione, velocità di trasmissione effettiva delle query e connessioni attive.
Applicazione automatica di patch software
Con Neptune il database sarà sempre aggiornato con le patch più recenti. Inoltre, è possibile controllare se e quando alle istanze vengono applicate patch tramite la gestione delle versioni del motore del database.
Notifiche di eventi del database
Neptune è in grado di inviare notifiche via e-mail o SMS relative a importanti eventi del database, come il failover automatico. È possibile utilizzare la Console di gestione AWS per iscriversi ai vari eventi del database correlati ai database Neptune.
Clonazione rapida del database
Neptune supporta operazioni rapide ed efficienti, in cui interi cluster del database da più terabyte possono essere clonati in pochi minuti. La clonazione è utile per numerosi scopi, tra cui sviluppo di applicazioni, test, aggiornamenti del database ed esecuzione di query di analisi. La disponibilità immediata dei dati può velocizzare notevolmente lo sviluppo del software e aggiornare progetti, oltre a rendere più accurata l'analisi.
È possibile clonare un database Neptune in pochi passaggi nella Console di gestione AWS, senza effetti sull'ambiente di produzione. Il clone viene distribuito e replicato in tre zone di disponibilità.
ML e IA generativa
ML
Amazon Neptune ML è basato su SageMaker, che utilizza reti GNN, una tecnica di ML costruita appositamente per i grafi, per rendere le previsioni semplici e più precise utilizzando i dati a grafo. Con Neptune ML, è possibile ottenere previsioni per i grafi oltre il 50% più precise rispetto alle previsioni effettuate utilizzando metodi senza grafi.
Effettuare previsioni accurate su grafi con miliardi di relazioni può risultare difficile e dispendioso in termini di tempo. Gli approcci di ML esistenti, come XGBoost, non funzionano in modo efficace sui grafi perché sono progettati per i dati tabulari. Di conseguenza, l'impiego di questi metodi sui grafi può richiedere tempo e competenze specifiche da parte degli sviluppatori e produrre previsioni non del tutto ottimali.
IA generativa
La ricerca vettoriale semplifica la creazione di esperienze di ricerca aumentata con il ML e di applicazioni di intelligenza artificiale (IA) generativa. È consigliabile utilizzare la ricerca vettoriale per creare applicazioni di IA generativa che combinino i dati in un dominio dell'applicazione e la ricerca di somiglianze su incorporamenti vettoriali. La ricerca vettoriale su dati a grafo offre un costo totale di proprietà complessivo inferiore e un sovraccarico di gestione più semplice perché non è necessario gestire archivi di dati separati, creare pipeline o preoccuparsi di mantenere sincronizzati i datastore.
I clienti che creano applicazioni di IA generativa possono utilizzare la ricerca vettoriale per potenziare i propri modelli linguistici di grandi dimensioni (LLM) integrando le query dei grafi per il contesto specifico del dominio con i risultati della ricerca di somiglianze con il vicino a bassa latenza più prossimo su incorporamenti importati da LLM ospitati su Amazon Bedrock, GNN su GraphStorm o altre origini. Neptune è integrato con LangChain, un framework Python open source che semplifica lo sviluppo di applicazioni di IA generativa utilizzando LLM.
Produttività degli sviluppatori
Supporta Apache TinkerPop Gremlin per i grafi di proprietà
I Property Graph sono popolari per la loro familiarità per gli sviluppatori abituati ai modelli relazionali. Il linguaggio di attraversamento Gremlin fornisce un modo rapido per attraversare i Property Graph. Amazon Neptune supporta il modello Property Graph utilizzando il linguaggio di attraversamento open source Apache TinkerPop Gremlin e fornisce un server Gremlin Websockets che supporta la versione TinkerPop 3.3. Con Neptune, puoi costruire rapidamente attraversamenti Gremlin su Property Graph. Le applicazioni Gremlin esistenti possono utilizzare facilmente Neptune modificando la configurazione di servizio di Gremlin affinché punti su un'istanza Neptune.
Supporta RDF 1.1 e SPARQL 1.1 di W3C
Il Resource Description Framework (RDF) è popolare perché offre flessibilità per la modellazione dei domini di informazioni complesse. Sono disponibili numerosi set di dati gratuiti o pubblici in RDF, tra cui Wikidata e PubChem, un database di molecole chimiche. Amazon Neptune supporta gli standard Web semantici W3C di RDF 1.1 e SPARQL 1.1 (query e aggiornamento) e fornisce un endpoint HTTP REST che implementa il Protocollo SPARQL 1.1. Con Neptune, è possibile utilizzare facilmente l'endpoint SPARQL per applicazioni a grafo sia nuove che esistenti.
Supporta openCypher v9 per grafi di proprietà
Neptune supporta la creazione di applicazioni a grafo tramite openCypher, uno degli attuali linguaggi di query più diffusi tra gli sviluppatori che utilizzano database a grafo. Sviluppatori, analisti aziendali e data scientist apprezzano la sintassi ispirata a SQL di openCypher perché fornisce una struttura familiare per comporre query per applicazioni a grafo. Per il Database Neptune, i linguaggi di query di openCypher e Gremlin possono essere utilizzati insieme sugli stessi dati dei grafi di proprietà. Il supporto per openCypher è compatibile con il protocollo Bolt per continuare ad eseguire applicazioni che lo utilizzano per connettersi a Neptune.
Caricamento in blocco dei grafi di proprietà
Neptune supporta il caricamento rapido, parallelo e in blocco dei dati dei grafi di proprietà memorizzati su S3. È possibile utilizzare un'interfaccia REST per specificare la posizione dei dati su S3. Utilizza un formato CSV delimitato per caricare i dati in nodi ed edge. Per ulteriori dettagli, consulta la documentazione relativa al caricamento in blocco dei grafi di proprietà di Neptune.
Caricamento in blocco di RDF
Neptune supporta il caricamento rapido, parallelo e in blocco dei dati RDF memorizzati su S3. È possibile utilizzare un'interfaccia REST per specificare la posizione dei dati su S3. Sono supportate le serializzazioni N-Triple (NT), N-Quad (NQ), RDF/XML e Turtle RDF 1.1. Per ulteriori dettagli, consulta la documentazione relativa al caricamento in blocco dell'RDF Neptune.
Algoritmi grafici per Neptune Analytics
Neptune Analytics supporta algoritmi per la ricerca dei percorsi, il rilevamento delle comunità (clustering), l'identificazione di dati importanti (centralità) e la quantificazione della somiglianza. Gli algoritmi per la ricerca dei percorsi determinano in modo efficiente il percorso più breve o ottimale tra due nodi. Questi algoritmi consentono di modellare situazioni del mondo reale, come reti stradali o social network, come nodi ed edge interconnessi. Trovare i percorsi più brevi o migliori tra i vari punti è fondamentale in applicazioni come quelle per la pianificazione del percorso per i sistemi GPS, per l'ottimizzazione della logistica e persino per risolvere problemi complessi in campi come la biologia o l'ingegneria.
Gli algoritmi per il rilevamento delle comunità calcolano gruppi o cluster di nodi significativi all'interno di una rete, rivelando modelli e strutture nascosti in grado di fornire informazioni sull'organizzazione e sulla dinamica di sistemi complessi. Ciò è utile in campi come l'analisi dei social network, la biologia (per identificare i moduli funzionali nelle reti di interazione proteina-proteina) e persino per comprendere il flusso di informazioni e la propagazione dell'influenza in vari domini.
Gli algoritmi per la centralità aiutano a individuare i nodi più influenti o importanti all'interno di una rete, fornendo informazioni sugli attori chiave o sui punti di interazione critici. Ciò è utile in campi come l'analisi dei social network, dove contribuisce a identificare le persone influenti, o nelle reti di trasporto, dove consente di individuare gli snodi cruciali per un routing e un'allocazione delle risorse efficienti.
Gli algoritmi per la somiglianza dei grafi consentono di confrontare e analizzare le somiglianze o le differenze strutturali tra diverse strutture di grafi, permettendo di approfondire relazioni, modelli e punti in comune tra diversi set di dati. Ciò è utile in vari campi come la biologia (per confrontare le strutture molecolari), i social network (per identificare comunità simili) e i sistemi di suggerimenti (per consigliare articoli simili in base alle preferenze dell'utente).
Programmi di conformità
Ampia copertura del programma di conformità
Neptune è compatibile con oltre 20 standard di conformità internazionali, da FedRAMP (moderato e alto) a SOC (1, 2, 3), ed è idoneo anche all'HIPAA. L'elenco completo degli standard a cui Neptune è conforme è disponibile nella pagina Servizi AWS coperti dal programma di conformità.
Convenienza
Prezzi calcolati solo in base all'uso effettivo
Neptune non prevede alcun impegno anticipato. Sarà addebitata una tariffa oraria per ogni istanza avviata o per le risorse di database consumate per serverless. Quando un'istanza database Neptune non serve più, è possibile eliminarla. Non sarà necessario effettuare il provisioning in eccesso di ulteriori quantità di spazio di archiviazione come misura di sicurezza in quanto verrà richiesto il pagamento solo dello spazio effettivamente consumato. Per ulteriori informazioni, visita la pagina Prezzi di Neptune.
Ulteriori informazioni sui prezzi di Amazon Neptune.
Ottieni l'accesso immediato al piano gratuito di AWS.
Inizia subito a utilizzare Amazon Neptune nella Console di gestione AWS.