Domande generali

Cos'è Amazon Neptune?

Amazon Neptune è il servizio di database a grafo rapido, affidabile e completamente gestito che semplifica la creazione e l'esecuzione di applicazioni che funzionano con set di dati altamente connessi. Il nucleo di Neptune è un motore di database a grafo ad alte prestazioni appositamente progettato. Questo motore è ottimizzato per archiviare miliardi di relazioni e inviare query al grafo con una latenza di millisecondi. Neptune supporta i noti linguaggi di query al grafo Apache TinkerPop Gremlin, W3C SPARQL e openCypher, permettendo di costruire query che attraversano in modo efficiente set di dati altamente connessi. Neptune consente i casi d'uso dei grafi come motori di raccomandazioni, rilevamento di attività fraudolente, grafi della conoscenza, scoperte di farmaci e sicurezza delle reti.

Neptune è ad alta disponibilità, con repliche di lettura, ripristino point-in-time, backup continuo su Amazon S3 e replica nelle zone di disponibilità. Neptune offre funzionalità di sicurezza dei dati, con supporto per la crittografia dei dati a riposo e in transito. Neptune è una soluzione completamente gestita, pertanto non dovrai più preoccuparti di attività di gestione del database come provisioning dell'hardware, applicazioni di patch del software, impostazioni, configurazioni o backup.

Amazon Neptune supporta due linguaggi di query per il modello di dati Property Graph, il linguaggio di attraversamento grafico open source Apache TinkerPop Gremlin e il linguaggio di query openCypher, e per il modello di dati Resource Description Framework (RDF) Neptune supporta il linguaggio di query SPARQL standard aperto del W3C.

È possibile utilizzare Apache TinkerPop Gremlin, openCypher e RDF/SPARQL nello stesso cluster Neptune?

Sì, ogni cluster Neptune può memorizzare sia i dati del grafico delle proprietà che i dati RDF. Neptune fornisce un endpoint Gremlin (HTTPS e WebSocket), un endpoint openCypher (HTTPS e Bolt) e un endpoint REST con protocollo SPARQL 1.1. 

Per i grafici delle proprietà, puoi eseguire una query Gremlin o openCypher sugli stessi dati indipendentemente dal linguaggio utilizzato per inserire tali dati. Potresti trovare più comodo usare Gremlin per alcuni carichi di lavoro e openCypher per altri. Non è possibile eseguire una query per i dati del grafico delle proprietà (Gremlin o openCypher) su dati RDF o viceversa.

In che modo è possibile eseguire una migrazione da un'applicazione Apache TinkerPop Gremlin esistente ad Amazon Neptune?

Amazon Neptune fornisce un server Apache TinkerPop Gremlin che supporta i collegamenti WebSocket e HTTPS. Una volta eseguito il provisioning di un'istanza di Amazon Neptune, puoi configurare la tua applicazione TinkerPop esistente per l'utilizzo dell'endpoint fornito dal servizio. Consulta anche Accesso al grafo tramite Gremlin.

È necessario modificare i driver del client per utilizzare il server Gremlin di Amazon Neptune?

No, il server Gremlin di Amazon Neptune supporta i client compatibili con Apache TinkerPop utilizzando connessioni REST WebSockets e HTTPS. L'ultima versione di Neptune supporta TinkerPop 3.6.x. Per ulteriori informazioni, consulta la documentazione.

Come posso effettuare la migrazione da un'applicazione openCypher esistente ad Amazon Neptune?

Con il supporto di Neptune per il linguaggio di query openCypher, puoi spostare la maggior parte dei carichi di lavoro Cypher o Neo4j che utilizzano il protocollo Bolt o HTTPS su Neptune. Per informazioni più dettagliate su come migrare un'applicazione openCypher, leggi la guida alla migrazione nella documentazione.

In che modo è possibile eseguire una migrazione da un triplo store con endpoint SPARQL ad Amazon Neptune?

Amazon Neptune fornisce un endpoint REST HTTPS che implementa il protocollo SPARQL 1.1. Una volta eseguito il provisioning di un'istanza di servizio, puoi configurare la tua applicazione affinché punti sull'endpoint SPARQL. Consulta anche Accesso al grafo tramite SPARQL.

È necessario modificare i driver del client per utilizzare l'endpoint SPARQL di Amazon Neptune?

No, l'endpoint SPARQL di Amazon Neptune funziona con qualsiasi client che supporti il Protocollo SPARQL 1.1.

Neptune è dotato di proprietà ACID (atomicità, coerenza, isolamento, durabilità)?

Sì, Neptune è conforme ad ACID con coerenza immediata sull'istanza di scrittura principale ed eventuale coerenza sulle istanze di replica di lettura.

Perché per utilizzare Amazon Neptune sono necessarie autorizzazioni e risorse di Amazon RDS?

Amazon Neptune è un motore di database a grafo dedicato e ad alte prestazioni. Per alcune caratteristiche di gestione, ad esempio la gestione del ciclo di vita dell'istanza, la crittografia dei dati inattivi con chiavi Amazon Key Management Service (KMS) e la gestione dei gruppi di sicurezza, Neptune sfrutta una tecnologia operativa condivisa con Amazon RDS.

Amazon Neptune offre un contratto sul livello di servizio (SLA)?

Sì. Consulta lo SLA di Amazon Neptune.

Prestazioni

Quali tipi di carichi di lavoro delle query a grafo sono ottimizzati per il lavoro con Amazon Neptune?

Amazon Neptune è progettato per supportare le applicazioni dei grafi che richiedono query a velocità di trasmissione effettiva elevata e bassa latenza. Con il supporto fino a 15 repliche di lettura, Amazon Neptune è in grado di supportare centinaia di migliaia di query al secondo.

Amazon Neptune esegue l’ottimizzazione delle query?

Sì, Amazon Neptune utilizza l'ottimizzazione delle query per le query Gremlin, openCypher e SPARQL. Per ulteriori informazioni, consulta il motore di query alternativo (DFE) di Amazon Neptune.

Amazon Neptune è costruito su un database relazionale?

No, Amazon Neptune è un motore di database a grafo ad alte prestazioni appositamente progettato. 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.

Prezzi

Quanto costa Amazon Neptune?

Consulta la pagina dei prezzi per informazioni aggiornate.

In quali Regioni AWS è disponibile Amazon Neptune?

Consulta la pagina dei prezzi per informazioni aggiornate su tariffe e Regioni.

Amazon Neptune replica ogni blocco del volume del database sei volte sulle tre zone di disponibilità. Ciò significa che l’effettivo prezzo di archiviazione sarà tre o sei volte il prezzo indicato sulla pagina dei prezzi?

No. La replica di Amazon Neptune è inclusa nel prezzo. Il costo verrà addebitato in base allo storage consumato dal database nel layer database e non in base allo storage consumato dal layer di storage virtualizzato di Amazon Neptune.

Cosa sono gli I/O in Amazon Neptune e come vengono calcolati?

Amazon Neptune è stato sviluppato in modo da eliminare le operazioni di I/O non necessarie e pertanto ridurre i costi e garantire la disponibilità delle risorse per la gestione del traffico di lettura/scrittura. Gli I/O di scrittura vengono usati solo durante l'invio dei record del log delle transazioni al layer di storage con lo scopo di rendere durevoli le letture. Gli I/O di scrittura vengono conteggiati in base a unità da 4 KB. Ad esempio, un record del log delle transazioni la cui dimensione è pari a 1024 byte verrà considerato come un'operazione di I/O. Tuttavia, le operazioni di scrittura simultanee i cui log delle transazioni hanno dimensioni minori di 4 KB possono essere combinate dal motore di database di Amazon Neptune per ottimizzare il consumo degli I/O. A differenza dei motori di database tradizionali, Amazon Neptune non esegue mai il push delle pagine di database modificate nel layer di archiviazione. Ciò consente di ridurre ulteriormente il consumo degli IO.

Hardware e dimensionamento

Quali sono i limiti di archiviazione minimi e massimi di un database di Amazon Neptune?

L'archiviazione minima è pari a 10 GB. In base all'uso del database, la capacità di storage di Amazon Neptune aumenterà automaticamente fino a 128 TiB, in base a incrementi di 10 GB senza alcuna conseguenza per le prestazioni del database. Non è necessario effettuare il provisioning di archiviazione in anticipo.

Come viene eseguito lo scaling delle risorse di elaborazione associate all'istanza DB di Amazon Neptune?

È possibile eseguire il dimensionamento delle risorse di elaborazione allocate all'istanza DB nella Console di gestione AWS selezionando l'istanza DB desiderata, quindi facendo clic sul pulsante Modifica. Per modificare le risorse di memoria e CPU, modificare la classe dell'istanza di database.

Quando la classe dell'istanza di database viene modificata, le modifiche richieste verranno applicate durante la finestra di manutenzione specificata. In alternativa, è possibile utilizzare il flag "apply-immediately" per rendere subito effettive le richieste di dimensionamento. Durante l'esecuzione dell'operazione di dimensionamento entrambe queste opzioni incideranno sulla disponibilità per alcuni minuti. Tieni presente che verranno applicate anche tutte le altre modifiche di sistema in sospeso.

Posso aumentare o diminuire automaticamente il mio database in base all'utilizzo?

Puoi scalare automaticamente la capacità del tuo database con Amazon Neptune Serverless. Amazon Neptune serverless consente di eseguire e dimensionare istantaneamente i carichi di lavoro grafici, senza il bisogno di gestire e ottimizzare la capacità del database. Neptune Serverless determina e fornisce automaticamente le risorse di elaborazione e memoria per eseguire il database a grafo e ridimensiona la capacità in base alle mutevoli esigenze del carico di lavoro per mantenere prestazioni costanti.

Neptune supporta la scalabilità automatica?

Sì, Neptune supporta la scalabilità automatica delle repliche di lettura delle istanze. Puoi configurare la scalabilità automatica per aggiungere o rimuovere automaticamente le repliche di lettura in risposta alle modifiche dei requisiti di connettività o di carico di lavoro. Per ulteriori informazioni, consulta la documentazione.

Backup e ripristino

Come vengono abilitati i backup per l'istanza DB?

Nelle istanze DB di Amazon Neptune i backup automatici sono sempre abilitati. I backup non hanno alcuna influenza sulle prestazioni del database.

È possibile creare snapshot DB e conservarli per tutto il tempo necessario?

Sì. La creazione di snapshot non ha alcuna influenza sulle prestazioni. Il ripristino dei dati mediante gli snapshot DB richiede tuttavia la creazione di una nuova istanza DB.

Se si verifica un errore del database, qual è il percorso di ripristino?

Amazon Neptune conserva automaticamente sei copie dei dati in tre zone di disponibilità e tenterà automaticamente di ripristinare il database in una zona di disponibilità integra senza alcuna perdita di dati. Nel caso improbabile che i dati non siano disponibili nello storage di Amazon Neptune, è possibile eseguire il ripristino da uno snapshot DB oppure un'operazione di ripristino point-in-time in una nuova istanza. È importante sottolineare che l'intervallo ripristinabile massimo per un'operazione di ripristino point-in-time può essere pari a un massimo di 5 minuti nel passato.

Cosa accade ai backup e agli snapshot DB quando viene eliminata l'istanza DB?

È possibile scegliere di creare uno snapshot DB finale quando viene eliminata l'istanza DB. In questo caso, è possibile usare questo snapshot DB per ripristinare l'istanza di database eliminata in un secondo momento. Dopo l'eliminazione dell'istanza database, Amazon Neptune conserva questo snapshot DB creato dall'utente finale insieme a tutti gli altri snapshot DB creati manualmente. Solo gli snapshot DB vengono mantenuti dopo l'eliminazione dell'istanza DB, ovvero i backup automatici creati per il ripristino point-in-time non vengono conservati.

Posso condividere i miei snapshot con un altro account AWS?

Sì. Neptune consente di creare snapshot dei database da utilizzare in un secondo momento per ripristinarli. Condividere uno snapshot con un altro account AWS è possibile; il proprietario del secondo account potrà usare lo snapshot per ripristinare un database contenente i tuoi dati. Puoi anche scegliere di rendere pubblici gli snapshot, in modo che chiunque possa ripristinare un database contenente i tuoi dati pubblici. Puoi utilizzare questa funzione per condividere i dati tra i vari ambienti (produzione, sviluppo/test, staging, ecc.) che hanno diversi account AWS, oltre a mantenere i backup di tutti i dati protetti in un account separato nell’improbabile caso in cui l'account AWS principale sia compromesso.

Vengono addebitati dei costi per le istantanee condivise?

Per condividere snapshot tra account diversi non viene addebitato alcun costo. Tuttavia, saranno addebitati i costi per gli snapshot e per i database ripristinati dagli snapshot condivisi. Ulteriori informazioni sui prezzi di Amazon Neptune.

Posso condividere gli snapshot in modo automatico?

La condivisione automatica di snapshot DB non è supportata. Per condividere uno snapshot automatico, è necessario crearne una copia e condividerla manualmente.

Con quanti account è possibile condividere snapshot?

È possibile condividere manualmente snapshot con un massimo di 20 ID account AWS. Se desideri condividere uno snapshot con più di 20 account, puoi condividerlo pubblicamente oppure contattare il supporto per modificare le limitazioni.

In quali Regioni è possibile condividere gli snapshot di Amazon Neptune?

Gli snapshot di Neptune possono essere condivisi in tutte le Regioni AWS in cui è disponibile Amazon Neptune.

È possibile condividere gli snapshot di Amazon Neptune tra Regioni diverse?

No. Gli snapshot condivisi di Amazon Neptune saranno accessibili esclusivamente da account nella stessa Regione dell'account che li condivide.

È possibile condividere uno snapshot di Amazon Neptune crittografato?

Sì, puoi condividere snapshot di Amazon Neptune crittografati.

È possibile utilizzare gli snapshot di Amazon Neptune all'esterno del servizio?

No, gli snapshot di Amazon Neptune possono essere utilizzati solo nell'ambito del servizio.

Disponibilità elevata e replica

In che modo Amazon Neptune migliora la tolleranza ai guasti del database in caso di errori del disco?

Amazon Neptune suddivide automaticamente il volume del database in segmenti da 10 GB su più dischi. Ogni blocco da 10 GB di tale volume viene replicato sei volte in tre zone di disponibilità. Amazon Neptune è stato progettato per gestire in modo trasparente la perdita di un massimo di due copie di dati senza compromettere la disponibilità delle operazioni di scrittura del database e di un massimo di tre copie senza compromettere la disponibilità delle operazioni di lettura. Per lo storage di Amazon Neptune viene inoltre eseguita la riparazione automatica. I blocchi di dati e i dischi vengono analizzati continuamente alla ricerca di eventuali errori e riparati automaticamente.

In che modo Amazon Neptune migliora i tempi di ripristino dopo un arresto anomalo del database?

A differenza di altri database, dopo un arresto anomalo del database Amazon Neptune non deve rieseguire il log di ripristino dall'ultimo checkpoint del database (in genere 5 minuti) e confermare l'applicazione di tutte le modifiche prima di rendere disponibile il database per le operazioni. Ciò consente di ridurre i tempi di riavvio del database a meno di 60 secondi nella maggior parte dei casi. Amazon Neptune sposta la cache del buffer esternamente al processo del database e la rende subito disponibile al riavvio. Ciò evita di limitare l'accesso finché la cache non viene ripopolata per evitare sbalzi a livello di prestazioni.

Che tipi di replica sono supportati da Neptune?

Amazon Neptune supporta le repliche di lettura, che condividono lo stesso volume sottostante dell'istanza primaria. Gli aggiornamenti eseguiti dall'istanza primaria sono visibili in tutte le repliche di Amazon Neptune. Un cluster Neptune può avere un'istanza di scrittura e fino a 15 repliche di lettura. In caso di errore di un'istanza di scrittura, una replica di lettura verrà automaticamente promossa a istanza di scrittura.

È possibile creare repliche in più regioni con Amazon Neptune?

Sì, Amazon Neptune supporta la replica tra regioni configurando il cluster Neptune in modo da utilizzare il database globale. Consulta Database globale Amazon Neptune.

In quanto destinazioni di failover, alcune repliche possono avere la priorità su altre?

Sì. È possibile assegnare un livello di priorità maggiore ad ogni istanza in un cluster. Quando si verifica un errore nell'istanza primaria, Amazon Neptune promuove la replica con la priorità maggiore a istanza primaria. Se due o più repliche hanno pari priorità, Amazon Neptune promuoverà la replica che ha le stesse dimensioni dell'istanza primaria.

Posso modificare i livelli di priorità per le istanze dopo la loro creazione?

I livelli di priorità possono essere modificati in qualsiasi momento. La semplice modifica dei livelli di priorità non attiverà un failover.

È possibile impedire che alcune repliche siano promosse a istanza primaria?

È possibile assegnare alle repliche che non desideri utilizzare come istanze primarie un livello di priorità inferiore. Tuttavia, se le repliche con livelli di priorità maggiori nel cluster non sono integre o non sono disponibili, Amazon Neptune promuoverà la replica con priorità minore.

In che modo è possibile migliorare la disponibilità di un singolo database di Amazon Neptune?

È possibile aggiungere repliche di Amazon Neptune. Le repliche di Amazon Neptune condividono lo stesso storage sottostante dell'istanza primaria. Qualsiasi replica di Amazon Neptune può essere alzata di livello e impostata come replica primaria senza alcuna perdita di dati e quindi essere usata per migliorare la tolleranza ai guasti in caso di errore di un'istanza database primaria. Per migliorare la disponibilità del database, è sufficiente creare da una a 15 repliche. Amazon Neptune includerà automaticamente tali repliche nella selezione primaria del failover in caso di interruzione della disponibilità del database.

Cosa accade durante un failover e quanto dura?

Il failover viene gestito automaticamente da Amazon Neptune, consentendoti di riprendere l'operatività delle applicazioni con la massima rapidità senza alcun intervento manuale a livello amministrativo.

Se è disponibile una replica di Amazon Neptune nella stessa zona di disponibilità o in una zona diversa, in caso di failover Amazon Neptune fa in modo che il record di nome canonico (CNAME) dell'endpoint primario del database punti a una replica integra, che a sua volta viene alzata di livello e impostata come nuova replica primaria. L'esecuzione completa dell'intero processo di failover in genere impiega meno di 30 secondi. Inoltre, l'endpoint delle repliche di lettura non richiede alcun aggiornamento di CNAME durante il failover.

Se non si dispone di una replica di Amazon Neptune (istanza singola), Neptune tenterà di creare una nuova istanza database nella stessa zona di disponibilità dell'istanza originale. Se risulta impossibile eseguire questa operazione, Neptune tenterà di creare una nuova istanza database in una zona di disponibilità diversa. L'esecuzione completa dell'intero processo di failover in genere impiega meno di 15 minuti.

L'applicazione deve tentare di ristabilire le richieste al database in caso di perdita della connessione. 

In presenza di un database primario e di una replica di Amazon Neptune che gestisce attivamente il traffico di lettura, cosa succede se si verifica un failover?

Amazon Neptune rileverà automaticamente un problema a livello di istanza primaria e procederà a instradare il traffico di lettura/scrittura verso una replica di Amazon Neptune. In media questo tipo di failover viene completato in 30 secondi. Inoltre, il traffico di lettura gestito dalle repliche di Amazon Neptune verrà brevemente interrotto.

Qual è il ritardo delle repliche rispetto all'istanza primaria?

Dal momento che le repliche di Amazon Neptune condividono lo stesso volume di dati dell'istanza primaria, virtualmente non si verifica alcun ritardo di replica. In genere sono stati rilevati ritardi nell'ordine di decine di millisecondi.

Sicurezza

È possibile usare Amazon Neptune in Amazon Virtual Private Cloud (Amazon VPC)?

Sì. Tutte le istanze DB di Amazon Neptune devono essere create in un VPC. Con Amazon VPC è possibile definire una topologia di rete virtuale molto simile a una rete tradizionale come quella che potrebbe essere gestita nel tuo data center. Questa soluzione offre il controllo completo sugli utenti che possono accedere ai database di Amazon Neptune.

Amazon Neptune supporta la crittografia dei dati in transito e inattivi?

Amazon Neptune supporta le connessioni client HTTPS crittografate, inoltre, consente di crittografare i database usando le chiavi gestite mediante AWS Key Management Service (KMS). In un'istanza database eseguita con crittografia Amazon Neptune, i dati inattivi memorizzati nello storage sottostante sono criptati, analogamente a quanto accade ai backup, alle repliche e agli snapshot corrispondenti nello stesso cluster. La crittografia e la decrittografia sono gestite in modo omogeneo. Per ulteriori informazioni sull'uso di KMS con Amazon Neptune, consulta la Guida per l'utente Amazon Neptune.

È possibile crittografare un database non crittografato esistente?

Al momento la crittografia di un'istanza non crittografata esistente di Neptune non è supportata. Per usare la crittografia di Amazon Neptune su un database non crittografato esistente, è necessario creare una nuova istanza DB con la crittografia attivata in cui eseguire la migrazione dei dati.

Com'è possibile accedere al database di Amazon Neptune?

L'accesso ai database di Amazon Neptune deve essere eseguito mediante la porta HTTPS specificata durante la creazione del database nel cloud privato virtuale (VPC). In questo modo viene fornito un livello di sicurezza aggiuntivo per i dati. Per istruzioni dettagliate sulle modalità di collegamento al database di Amazon Neptune, consulta la Guida per l'utente Amazon Neptune.

Ulteriori informazioni sui prezzi

Informazioni sui prezzi di Amazon Neptune.

Ulteriori informazioni 
Registrati per creare un account gratuito

Ottieni l'accesso immediato al piano gratuito di AWS. 

Registrati 
Inizia subito nella console

Inizia subito a utilizzare Amazon Neptune nella Console di gestione AWS.

Accedi