Introduzione
Con Amazon Neptune, puoi creare sofisticate applicazioni interattive a grafo in grado di eseguire query di miliardi di relazioni in pochi millisecondi. Le query SQL per i dati altamente connessi sono complesse e difficili da mettere a punto per le prestazioni. Al contrario, Amazon Neptune consente di utilizzare i popolari linguaggi di query a grafo Apache TinkerPop Gremlin, SPARQL 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.
Nettuno ha uno SLA del 99,9% e potenzia le prestazioni e la disponibilità del database grazie all'integrazione del motore di database con il layer di storage virtualizzato basato su SSD appositamente sviluppato per i carichi di lavoro dei database. L'archiviazione di Neptune è a tolleranza di errore e self-healing. Gli errori del disco sono riparati in background senza perdita di disponibilità del database. Neptune è stato sviluppato in modo da rilevare automaticamente gli arresti anomali dei database e riavviarsi automaticamente senza la necessità di alcuna operazione di ripristino specifico o di creazione di una nuova cache del database. Se l'arresto anomalo interessa l'intera istanza, Neptune eseguirà automaticamente il failover su una delle 15 (valore massimo) repliche di lettura.
Puoi lanciare velocemente un'istanza database Neptune con pochi passaggi nella console Neptune. Neptune scala automaticamente l'archiviazione, aumentandone la capacità e ribilanciando gli I/O in modo da offrire prestazioni costanti senza la necessità di acquistare altro spazio di archiviazione.
Alte prestazioni e scalabilità
Opzione serverless
Amazon Neptune Serverless è un'opzione di implementazione on demand che regola automaticamente la capacità del database in base alle esigenze di un'applicazione. Neptune Serverless può scalare i carichi di lavoro di database a grafo istantaneamente 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, pagherai solo per la capacità consumata, risparmiando fino al 90% dei costi di database rispetto alla capacità di picco.
Velocità di trasmissione effettiva elevata, bassa latenza per le query al grafo
Neptune è un motore di database a grafo dedicato e ad alte prestazioni. Neptune archivia in modo efficiente e attraversa i dati dei grafi e utilizza un'architettura in-memory, scalabile e ottimizzata per permettere una rapida valutazione delle query su grafi di grandi dimensioni. Con Neptune, puoi utilizzare Gremlin, openCypher o SPARQL per eseguire potenti query facili da scrivere ed eseguire.
Facile dimensionamento delle risorse di calcolo di database
Con pochi passaggi nella Console di gestione AWS, puoi scalare le risorse di calcolo e memoria aumentando o riducendo il tuo cluster di produzione, creando nuove istanze di replica delle dimensioni desiderate o rimuovendo le istanze. Le operazioni di dimensionamento delle risorse di calcolo vengono in genere completate in pochi minuti.
Archiviazione con scalabilità automatica
Neptune usa un'architettura di archiviazione distribuita e condivisa che crescerà automaticamente insieme alle esigenze dell'archiviazione di database. I dati di Neptune vengono archiviati in un volume cluster con disponibilità elevata multi-AZ. Quando viene creato un cluster di database Neptune, gli viene assegnato un singolo segmento di 10 GB. 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 tebibyte (TiB) nelle regioni supportate, escluse la Cina e GovCloud. Non è necessario effettuare il provisioning di spazio di archiviazione aggiuntivo per far fronte all'eventuale crescita futura del database.
Repliche di lettura a bassa latenza
Aumenta la velocità di trasmissione effettiva di lettura per supportare richieste di applicazioni ad alto volume, creando fino a 15 repliche di lettura di 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 ridurre il ritardo di replica fino a pochi millisecondi. Neptune fornisce inoltre un singolo endpoint per le query di lettura, in modo da permettere all'applicazione di collegarsi senza dover tenere traccia delle repliche che vengono aggiunte e rimosse.
Disponibilità e durabilità elevate
Monitoraggio e ripristino delle istanze
La salute del tuo 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. Isola inoltre la cache del buffer del database dai processi del database, 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 di fino a 15 repliche 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 database.
Archiviazione con tolleranza ai guasti e riparazione automatica
Ogni blocco da 10 GB del volume del database viene replicato sei volte in tre zone di disponibilità. L'archiviazione di Neptune utilizza uno storage 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. L'archiviazione di Neptune inoltre corregge automaticamente gli errori: i blocchi di dati e i dischi su cui vengono rilevati più spesso errori vengono sostituiti automaticamente.
Backup automatici, continui e incrementali e ripristino point-in-time
La funzionalità di backup di Neptune consente di eseguire il ripristino point-in-time dell'istanza. In questo modo sarà possibile ripristinare il database a qualsiasi punto nel tempo compreso nel periodo di retention, fino agli ultimi cinque minuti. Il periodo di retention 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 di database
Gli snapshot database sono backup avviati manualmente dall'utente dell'istanza archiviata in Amazon S3 e conservati finché l'utente non li elimina in modo esplicito. 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 di database in qualsiasi momento.
Database globale
Il Database globale Amazon Neptune è progettato per le applicazioni con una distribuzione globale, consentendo a un singolo database Neptune di coprire più Regioni AWS. 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.
API Open Graph
Supporta Apache TinkerPop Gremlin per Property Graph
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 il Resource Description Framework (RDF) 1.1 di W3C e SPARQL 1.1
RDF è popolare perché offre la flessibilità per la creazione di modelli di domini di informazioni complesse. Sono disponibili numerosi dataset gratuiti o pubblici esistenti 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, puoi utilizzare facilmente l'endpoint SPARQL per le applicazioni a grafo nuove ed esistenti.
Supporta openCypher v9 per Property Graph
Neptune supporta la creazione di applicazioni a grafo mediante l'uso di 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 applicazioni a grafo. I linguaggi di query openCypher e Gremlin possono essere utilizzati insieme per gli stessi dati a grafo di proprietà. Il supporto per openCypher è compatibile con il protocollo Bolt per continuare ad eseguire applicazioni che utilizzano tale protocollo per connettersi a Neptune
Machine learning
Amazon Neptune machine learning (ML) è una nuova funzionalità di Neptune basata su Amazon SageMaker che utilizza reti neurali a grafico (GNN), una tecnica di ML costruita appositamente per i grafici, per rendere le previsioni semplici, facili e più precise utilizzando i dati a grafo. Con Neptune ML, puoi ottenere previsioni di oltre il 50% più precise per i grafi 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, competenze specifiche da parte degli sviluppatori e producono previsioni non del tutto ottimali.
Elevata sicurezza
Isolamento di rete
Neptune viene eseguito in Amazon VPC, che consente di isolare il database in una rete virtuale e di collegarsi all'infrastruttura IT on-premise tramite VPN IPsec crittografate standard. Utilizzando la configurazione VPC di Neptune, inoltre, è possibile configurare le impostazioni del firewall e controllare l'accesso di rete alle istanze 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 di AWS IAM sono autorizzati a eseguire su risorse Amazon Neptune specifiche, inclusi istanze database, snapshot database, gruppi di parametri database, sottoscrizioni a eventi database e gruppi di opzioni database. Inoltre, è possibile contrassegnare con dei tag le risorse Neptune 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 database contrassegnate dal tag "Sviluppo", ma che solo gli amministratori del database possano modificare le istanze database contrassegnate dal tag "Produzione".
Controllo granulare degli accessi
Neptune fornisce agli utenti accesso granulare alle API del piano dati di Neptune con AWS Identity and Access Management (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 Amazon Neptune ML e il controllo dello stato di attività del piano dati in corso. Ad esempio, creare una policy con accesso in "sola lettura" per gli analisti dei dati che non devono 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 devono accedere ai comandi di Neptune ML.
Crittografia
Neptune supporta la crittografia in transito con TLS versione 1.2. Neptune consente di crittografare i database usando le chiavi create e gestite mediante AWS Key Management Service (KMS). In un'istanza 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.
Servizio completamente gestito
Più facile da usare
Per iniziare a utilizzare Neptune è sufficiente avviare una nuova istanza database di Neptune usando la Console di gestione AWS. Le istanze database di Neptune sono preconfigurate con i parametri e le impostazioni ottimali per la classe dell'istanza database selezionata. Sarà pertanto possibile avviare un'istanza database e collegarla all'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 dei grafi. 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 database. È possibile usare la Console di gestione AWS per visualizzare più di 20 parametri operativi essenziali per le istanze database, inclusi i parametri relativi a calcolo, memoria, storage, 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 vengono applicate patch alle istanze tramite la gestione delle versioni del motore di database.
Notifiche di eventi del database
Neptune è in grado di inviare tramite e-mail o SMS notifiche relative a eventi di database importanti, ad esempio il failover automatico. È possibile utilizzare la Console di gestione AWS per ricevere le notifiche relative a vari eventi di database correlati ai database Amazon Neptune.
Clonazione di database ad alte prestazioni
Neptune supporta operazioni rapide ed efficienti, in cui interi cluster di database multi-terabyte possono essere clonati in pochi minuti. La clonazione è utile per numerosi scopi, tra cui sviluppo di applicazioni, test, aggiornamenti di database ed esecuzione di query di analisi. La disponibilità immediata dei dati può accelerare notevolmente lo sviluppo software e aggiornare progetti, oltre a rendere più accurata l'analisi.
Puoi clonare un database di Neptune in soli pochi passaggi nella Console di gestione AWS, senza influire sull'ambiente di produzione. Il clone viene distribuito e replicato in tre zone di disponibilità.
Caricamento rapido di blocchi di dati
Caricamento sfuso di Property Graph
Neptune supporta il caricamento rapido, parallelo e sfuso dei dati Property Graph memorizzati in S3. Puoi utilizzare un'interfaccia REST per specificare la posizione S3 dei dati. Utilizza un formato CSV delimitato per caricare i dati in nodi ed edge. Per ulteriori dettagli, consulta la documentazione relativa al caricamento sfuso di Neptune Property Graph.
Caricamento sfuso di RDF
Neptune supporta il caricamento rapido, parallelo e sfuso dei dati RDF memorizzati in S3. Puoi utilizzare un'interfaccia REST per specificare la posizione S3 dei dati. 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 sfuso di Neptune RDF.
Programmi per la conformità
Ampia copertura del programma di conformità
Neptune è interessato da oltre 20 standard di conformità internazionali, da FedRAMP (Moderate e High) a SOC (1, 2, 3), ed è soggetto allo standard 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.