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 a 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 a 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 previsti costi anticipati né impegni a lungo termine.

D: Quali popolari linguaggi di query a 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: È possibile utilizzare Apache TinkerPop Gremlin e RDF/SPARQL nella stessa istanza Neptune?

Sì, ciascuna istanza Neptune fornisce un Gremlin Websocket Server e un endpoint REST protocollo SPARQL 1.1. I dati vengono separati tra stack, ovvero non è possibile seguire un Gremlin trasversale su dati RDF o viceversa. Lo scopo è quello di consentire agli utenti di sperimentare e scoprire quale soluzione è più adatta alla propria applicazione. In produzione, con la condivisione delle risorse su una singola istanza, raccomandiamo che i client accedano a un'istanza tramite uno solo dei linguaggi, ovvero Gremlin o SPARQL.

 

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.

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

Sì. Consulta lo SLA di Amazon Neptune.

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 a grafo sono ottimizzati per il lavoro con Amazon Neptune?

Amazon Neptune è progettato per supportare le applicazioni dei grafi che richiedono query a 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 aggiornate 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 viene considerata 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 dimensionamento

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 il dimensionamento delle risorse di elaborazione allocate all'istanza di database nella Console di gestione AWS selezionando l'istanza di database desiderata, quindi facendo clic sul pulsante Modify. 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.

Backup e ripristino

D: Come vengono abilitati i backup per l'istanza di 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 di 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 di database?

È possibile scegliere di creare uno snapshot DB finale quando viene eliminata l'istanza di database. 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 conservati dopo l'eliminazione dell'istanza di 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. 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.

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 crearne una copia e condividerla manualmente.

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

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: 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 assegnare una priorità maggiore ad alcune repliche in quanto destinazioni di failover?

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 integre o non sono disponibili, Amazon Neptune promuoverà la replica 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. 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 con quale durata?

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 decine di millisecondi.

 

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

 

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

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.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Ulteriori informazioni sui prezzi

Informazioni sui prezzi di Amazon Neptune.

Ulteriori informazioni 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Registrati per creare un account gratuito

Ottieni accesso istantaneo al piano gratuito di AWS. 

Registrati 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Inizia subito nella console

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

Accedi