Domande generali

D: Cos'è Amazon Neptune?

Amazon Neptune è un servizio di database a grafo rapido, affidabile e pienamente gestito che semplifica la creazione e l'esecuzione di applicazioni che lavorano con dataset altamente connessi. Le query SQL per i dati altamente connessi sono complesse e difficili da mettere a punto per le prestazioni. Al contrario, con Amazon Neptune puoi utilizzare popolari linguaggi di query al grafo per eseguire potenti query facili da scrivere ed eseguire sui dati connessi. Il core di Neptune è un motore di database a grafo dedicato e ad alte prestazioni, ottimizzato per conservare miliardi di relazioni e inviare query al grafo con una latenza di millisecondi. Puoi utilizzare Neptune per i casi d'uso dei grafi come motori di raccomandazioni, rilevamento di attività fraudolente, grafi della conoscenza, scoperte di farmaci e sicurezza delle reti. Amazon Neptune è interamente gestito e gestisce attività dispendiose a livello di tempo quali, ad esempio, il provisioning, l'applicazione di patch, il backup, il recupero, il rilevamento degli errori e il ripristino. Viene applicata una tariffa mensile per ogni istanza database di Amazon Neptune usata. Non sono previste tariffe minime né impegni anticipati.

D: Quali popolari linguaggi di query al grafo supporta Amazon Neptune?

Amazon Neptune supporta il linguaggio di attraversamento dei grafi open source Apache TinkerPop Gremlin e il linguaggio di query SPARQL W3C standard Resource Description Framework (RDF).

 

D: 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 REST. 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.

D: È 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 versione 3.3, utilizzando connessioni Websocket e REST.

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

Amazon Neptune fornisce un endpoint HTTP REST 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.

D: È 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.  

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

Sì, Neptune è dotato di proprietà ACID con consistenza immediata.

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

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

Prestazioni

D: È necessario creare indici sui miei dati con Amazon Neptune?

No, gli utenti di database dei grafi esistenti spesso sono obbligati a cercare di stare al passo con le implementazioni dei fornitori. La manutenzione esplicita degli indici non è che un aspetto di questo. Amazon Neptune non richiede la creazione di indici specifici per ottenere buone prestazioni di query e riduce al minimo l'esigenza di tali supposizioni della progettazione del database.

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

Amazon Neptune è progettato per supportare le applicazioni dei grafi che richiedono query al grafo a throughput elevato 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.

D: Amazon Neptune esegue ottimizzazione delle query?

Sì, Amazon Neptune utilizza l'ottimizzazione per le query SPARQL e gli attraversamenti Gremlin.

D: 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

D: Quanto costa Amazon Neptune?

Consulta la pagina dei prezzi per informazioni aggiornate.

D: In quali regioni AWS è disponibile Amazon Neptune?

Consulta la pagina dei prezzi per informazioni su tariffe e regioni.

D: Amazon Neptune replica ogni blocco del volume del database sei volte sulle tre zone di disponibilità. Ciò significa che il prezzo effettivo dello storage sarà moltiplicato per tre o per sei rispetto a quanto riportato nella 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.

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

Gli I/O sono operazioni di input/output eseguite da Amazon Neptune in un layer di storage virtualizzato basato su SSD. Ogni operazione di lettura delle pagine del database vengono considerate un I/O. Amazon Neptune esegue le letture nel layer di storage per recuperare le pagine non presenti nella cache del buffer. Ciascuna pagina in Amazon Neptune è pari a 16 KB.
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 storage. Ciò consente di ridurre ulteriormente il consumo degli I/O.

Hardware e scaling

D: Quali sono i limiti di storage minimi e massimi di un database di Amazon Neptune?

Lo storage minimo è pari a 10 GB. In base all'uso del database, la capacità di storage di Amazon Neptune aumenterà automaticamente fino a 64 TB, in base a incrementi di 10 GB senza alcuna conseguenza per le prestazioni del database. Non è necessario effettuare il provisioning di ulteriori quantità di storage.

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

È possibile eseguire lo scaling delle risorse di elaborazione allocate all'istanza database nella Console di gestione AWS selezionando l'istanza database desiderata, quindi facendo clic sul pulsante Modify. Per modificare le risorse di memoria e CPU, modificare la classe dell'istanza database.
Quando la classe dell'istanza 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 scaling. Durante l'esecuzione dell'operazione di scaling entrambe queste opzioni interesseranno la disponibilità per alcuni minuti. Tieni presente che verranno applicate anche tutte le altre modifiche di sistema in sospeso.

Backup e ripristino

D: Come vengono abilitati i backup per l'istanza database?

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

 

D: È 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 database.

D: 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 intervallo massimo di 5 minuti nel passato.

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

È possibile scegliere di creare uno snapshot DB finale quando viene eliminata l'istanza database. In questo caso, è possibile usare questo snapshot DB per ripristinare l'istanza 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 conservati dopo l'eliminazione dell'istanza database, ovvero i backup automatici creati per il ripristino point-in-time non vengono conservati.

D: È possibile condividere uno 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. Questa funzione è utile per condividere dati tra ambienti diversi (produzione, sviluppo/testing, ambienti temporanei e così via) con account AWS diversi, oppure per mantenere i backup di tutti i dati al sicuro in un account separato, nel caso l'integrità dell'account AWS principale dovesse venire compromessa.

D: Quali costi vengono addebitati per gli snapshot condivisi?

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.

D: È possibile condividere snapshot in modo automatico?

La condivisione automatica di snapshot di database non è attualmente supportata. Per condividere automaticamente snapshot, è necessario creare una copia degli snapshot e condividerla manualmente.

D: Con quanti account è possibile condividere snapshot?

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

D: 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.

D: È 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.

D: È possibile condividere uno snapshot di Amazon Neptune crittografato?

Sì, puoi condividere snapshot di Amazon Neptune crittografati.

D: È 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

D: 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.

 

D: 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.

D: Che tipi di replica sono supportati da Neptune?

Amazon Neptune supporta le repliche di lettura, che condividono lo stesso volume sottostante come istanza primaria. Gli aggiornamenti eseguiti dall'istanza primaria sono visibili in tutte le repliche di Amazon Neptune.

Caratteristica                                                Repliche Amazon Neptune

Numero di repliche                                            Fino a 15

Tipo di replica                                  Asincrona (millisecondi)

Impatto sulle prestazioni dell'istanza primaria                         Basso

Destinazione del failover                                  Sì (nessuna perdita di dati)

Failover automatico                                              Sì

 

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

No, Amazon Neptune non supporta repliche in più regioni.

D: È possibile fornire una priorità maggiore ad alcune repliche in quanto destinazioni di failover?

R: 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 2 o più repliche hanno pari priorità, Amazon Neptune promuoverà una replica con le stesse dimensioni dell'istanza da sostituire.

D: È possibile modificare i livelli di priorità per le istanze dopo la loro creazione?

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

D: È possibile impedire ad alcune repliche di essere promosse a istanza primaria?

È possibile assegnare alle repliche che non desideri usare come istanze primarie un livello di priorità inferiore. Tuttavia, se le repliche con livelli di priorità maggiori nel cluster non sono integri o non sono disponibili, Amazon RDS promuoverà tali repliche con priorità minore.

D: In che modo è possibile migliorare la disponibilità di un 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 in una qualsiasi delle tre zone di disponibilità. Amazon Neptune includerà automaticamente tali repliche nella selezione primaria del failover in caso di interruzione della disponibilità del database.

D: Quali operazioni vengono eseguite 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.

D: 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.

D: 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 decimi di millisecondo.

 

Sicurezza

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

Sì. Tutte le istanze database di Amazon Neptune devono essere create in VPC. Con Amazon VPC, è possibile definire una topologia di rete virtuale simile a una rete tradizionale che si potrebbe gestire nel proprio data center. Questa soluzione offre il controllo completo sugli utenti che possono accedere ai database di Amazon Neptune.

 

D: Amazon Neptune supporta la crittografia dei dati inattivi?

Amazon Neptune, 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.

D: È 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 database con la crittografia attivata in cui eseguire la migrazione dei dati.

D: Com'è possibile accedere al database di Amazon Neptune?

L'accesso ai database di Amazon Neptune deve essere eseguito mediante la porta HTTP specificata durante la creazione del database nel cloud privato virtuale. In questo modo viene fornito un layer 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 di Amazon Neptune

Visita la pagina dei prezzi
Sei pronto per iniziare?
Inizia a usare Amazon Neptune
Hai ulteriori domande?
Contattaci