D: Cos'è Amazon Kinesis Analytics?

Amazon Kinesis Analytics è il mezzo più semplice per elaborare e analizzare flussi di dati in tempo reale. Grazie With Amazon Kinesis Analytics, puoi elaborare flussi di dati semplicemente tramite SQL standard, perciò non dovrai apprendere specifiche competenze su eventuali linguaggi di programmazione. È sufficiente indirizzare Kinesis Analytics sul flusso di dati in ingresso scrivere query SQL e specificare dove caricare i risultati. L'esecuzione continua delle query SQL sui dati in transito e l'invio dei risultati dell'elaborazione saranno a carico di Kinesis Analytics.

D: Cosa si intende per elaborazione di flussi in tempo reale e a cosa serve?

I dati ci raggiungono con una frequenza elevatissima perché le origini dati in tempo reale crescono ad un ritmo esplosivo. I log di dati provenienti da applicazioni Web e mobili, i dati di acquisto di siti di e-commerce, i dati dei sensori di dispositivi IoT: sono tutte informazioni che aiutano le aziende a scoprire di più sui loro clienti, sul loro settore e sulla loro stessa azienda. Grazie alla visibilità su questi dati, puoi monitorare l'azienda in tempo reale e sfruttare sempre al meglio le opportunità di business che si presentano, ad esempio inoltrando offerte promozionali ai clienti in base a dove si trovano in un determinato momento, oppure monitorando il social sentiment e le abitudini degli utenti.

Per sfruttare queste opportunità, dovrei poter contare su una serie di strumenti analitici che ti permetteranno di raccogliere e analizzare flussi di dati in tempo reale, strumenti diversi da quelli impiegati in genere per dati statici. Con le soluzioni di analisi tradizionali, prima raccogli le informazioni e le memorizzi in un database, poi impieghi tutto il tempo necessario per analizzarle, anche in un secondo momento. L'analisi dei dati in tempo reale necessita di un approccio totalmente diverso, così come di diversi strumenti e servizi. Invece di eseguire query di database sui dati memorizzati, le piattaforme di analisi di flussi elaborano i dati in modo continuo prima che vengano memorizzati in un database. I flussi trasmettono volumi di dati variabili e di grandi dimensioni. Le piattaforme di analisi di flussi devono essere in grado di elaborare questi dati mentre sono in transito, spesso nella misura di milioni di eventi all'ora.

D: Cosa è possibile fare con Kinesis Analytics?

Puoi usare Kinesis Analytics per tutti i casi d'uso in cui i dati vengono raccolti in modo continuo e in tempo reale ed è necessario ottenere informazioni e analisi in pochi secondi o minuti invece di dover attendere per giorni o settimane. In particolare, Kinesis Analytics consente di creare applicazioni di elaborazione di flussi in tempo reale complete, che operano con analisi di log, analisi di clickstream, Internet of Things (IoT), tecnologie pubblicitarie, giochi e molto altro. I tre modelli di utilizzo più comuni sono analisi di dati di serie temporale, pannelli di controllo in tempo reale e notifiche e allarmi in tempo reale.

Generazione di analisi di serie temporali

L'analisi di serie temporali consente di monitorare e scoprire i trend dei dati nel corso del tempo. Con Kinesis Analytics, puoi creare codice SQL che genera analisi di serie tempo reale in modo continuo su finestre scorrevoli. Ad esempio, puoi creare una classifica generale in cui vengono mostrati i giocatori con i punteggi più alti di un videogioco, il tutto in tempo reale, inviando quindi i dati ad Amazon S3. Oppure puoi monitorare il traffico sul tuo sito Web calcolando il numero di visitatori unici ogni cinque minuti e inviando i risultati ad Amazon Redshift.

Pannelli di controllo per feed in tempo reale

Puoi creare applicazioni che elaborano i risultati delle query e li inoltrano a pannelli di controllo che ti permettono di visualizzare i dati quasi in tempo reale. Ad esempio, un'applicazione può calcolare in modo continuo determinati parametri, come il numero di acquisti da un sito di e-commerce, raggruppati per categoria, inviando i risultati ad Amazon Redshift per consentirne la visualizzazione su uno strumento di business intelligence a tua scelta. Oppure ancora, un'applicazione che elabora dati di log e calcola il numero di errori delle applicazioni, inviando i risultati ad Amazon Elasticsearch Services per la visualizzazione in Kibana.

Creazione di notifiche e allarmi in tempo reale

Puoi creare applicazioni che inviano notifiche o allarmi in tempo reale quando determinati parametri raggiungono soglie predefinite, oppure quando l'applicazione rileva anomalie nell'utilizzo dell'algoritmo di apprendimento automatico fornito da AWS. Ad esempio, un'applicazione può elaborare la disponibilità o la percentuale di successi di un'API utilizzata dai clienti nel corso del tempo, inviando i risultati ad Amazon CloudWatch. Puoi anche creare un'altra applicazione per individuare gli eventi che soddisfano determinati criteri, notificando automaticamente i clienti specifici con Kinesis Streams e Amazon Simple Notification Service (SNS).

D: Come si inizia a usare Kinesis Analytics?

Accedi alla console di Kinesis Analytics e crea una nuova applicazione di elaborazione di flussi. Puoi anche usare l'interfaccia a riga di comando e i kit SDK AWS. Per creare un'applicazione end-to-end sono richieste tre fasi: 1) configurazione del flusso di dati in ingresso; 2) scrittura delle query SQL; 3) scelta della destinazione dei risultati. Kinesis Analytics riconosce i formati standard quali JSON, CSV e TSV e crea automaticamente uno schema di base.  Puoi ottimizzare lo schema oppure, se desideri dati non strutturati, definirne uno nuovo utilizzando un intuitivo editor apposito. Il servizio applica quindi lo schema ai flussi in ingresso rendendoli simili a una tabella SQL aggiornata in modo continuo, su cui vengono quindi eseguite le query SQL. Per creare le query, è disponibile un editor SQL. L'editor contiene tutte le funzioni più importanti, tra cui verifica della sintassi e testing su dati reali. AWS fornisce inoltre alcuni modelli predefiniti, con cui creare semplici filtri di flusso o sistemi più avanzati, ad esempio per il rilevamento di anomalie e l'analisi dei top-K dei flussi di dati. Il provisioning e il dimensionamento elastico delle risorse dell'infrastruttura sono a carico di Kinesis Analytics, che farà in modo di gestire qualsiasi throughput. Non è necessario pianificare, acquisire o gestire un'infrastruttura.

D: Quali sono i limiti di Kinesis Analytics?

Kinesis Analytics ricalibra in modo elastico le risorse dell'applicazione per poter gestire throughput elevati e query complesse. Tuttavia, usando Amazon Kinesis Analytics è importante tenere bene a mente determinate limitazioni:

  • Un record non può superare i 50 KB. I record con dimensioni maggiori di 50 KB possono essere divisi in più record al momento della definizione dello schema di ingresso.
  • È possibile creare fino a 5 applicazioni Kinesis Analytics per ogni regione AWS in un account. Per aumentare questi limiti, puoi compilare l'apposito modulo di richiesta di aumento dei limiti di servizio.
  • Per poter gestire tutti i dati in un flusso, potrebbe essere necessario creare query parallele. Per farlo, puoi specificare che il flusso di dati in ingresso venga mappato su fino a 10 flussi in applicazione.
  • Il numero massimo di unità di elaborazione di Kinesis o KPU (Kinesis Processing Unit) è otto.
  • È possibile configurare il caricamento dei dati in uscita dall'applicazione su fino a quattro destinazioni.
  • Le dimensioni massimo dell'oggetto Amazon S3 che memorizza i dati di riferimento sono di 1 GB.

D: Cos'è un'applicazione Kinesis Analytics?

Un'applicazione è l'entità Kinesis Analytics su cui lavori. Le applicazioni Kinesis Analytics leggono ed elaborano i flussi di dati in modo continuo e in tempo reale. Potrai scrivere il codice dell'applicazione utilizzando SQL per elaborare i flussi di dati in entrata e creare un determinato risultato. Kinesis Analytics carica quindi i risultati dell'elaborazione su destinazioni preconfigurate.

Ogni applicazione è composta da 3 componenti principali:

  • Input: il flusso di origine per l'applicazione. Nella relativa configurazione, devi mappare il flusso di origine a un flusso in ingresso in applicazione. Il flusso in applicazione è come una tabella che viene aggiornata di continuo, e su cui puoi eseguire operazioni SQL SELECT e INSERT. Ad ogni record di input è associato uno schema, che si applica al momento dell'inserimento del record nel flusso in applicazione.
  • Codice dell'applicazione: una serie di istruzioni SQL che elaborano l'input e producono l'output. Nella sua forma più semplice, il codice dell'applicazione può essere una singola istruzione SQL che seleziona un flusso in ingresso e ne inserisce i risultati in un flusso in uscita. Può anche essere una serie di istruzioni SQL in cui i risultati di un'istruzione vanno ad alimentare l'input di quella successiva. Inoltre, puoi scrivere codice che divida un flusso in ingresso in diversi flussi, applicando quindi ulteriori query per elaborare i flussi separati. 
  • Output: puoi creare uno o più flussi in applicazione per conservare i risultati intermedi. Puoi anche configurare l'output di un'applicazione affinché inoltri i dati provenienti da flussi in applicazione specifici verso una destinazione esterna. 

D: Cos'è un flusso in applicazione?

Un flusso in applicazione è un'entità che memorizza in modo continuo i dati nell'applicazione per consentire operazioni SQL SELECT e INSERT. L'uso di un flusso in applicazione è analogo a quello di una tabella SQL. La differenza è che i dati in un flusso vengono costantemente aggiornati. Nel codice dell'applicazione, puoi creare flussi in applicazione aggiuntivi per memorizzare i risultati intermedi delle query. Anche input e output configurati vengono rappresentati, all'interno dell'applicazione, come flussi in applicazione.

D: Quali input sono supportati per le applicazioni Kinesis Analytics?

Kinesis Analytics due tipi di input: flussi di dati di origine e origini dati di riferimento. Un flusso di dati di origine è una sequenza di dati in costante generazione che viene letta dall'applicazione per essere elaborata. Un'origine dati di riferimento è una sequenza di dati statici utilizzata dall'applicazione per migliorare i dati provenienti da flussi di origine. Ogni applicazione non può avere più di un flusso di dati di origine e un'origine dati di riferimento. Le applicazioni leggono ed elaborano in modo continuo i nuovi dati provenienti da flussi di dati di origine, inclusi Amazon Kinesis Streams e Amazon Kinesis Firehose. Inoltre, leggono un'origine dati di riferimento nella sua interezza, ad esempio Amazon S3, per poter migliorare la qualità dei flussi di dati di origine tramite istruzioni SQL JOIN.

D: Cos'è un'origine dati di riferimento?

Un'origine dati di riferimento è una sequenza di dati statici utilizzata dall'applicazione per migliorare i dati provenienti da flussi di origine. Per te, l'origine dati di riferimento sarà un oggetto nel bucket S3. Quando l'applicazione viene avviata, Kinesis Analytics legge l'oggetto S3 e crea una tabella SQL in applicazione per memorizzare i dati di riferimento. Il codice dell'applicazione li unirà in un secondo momento con il flusso in applicazione. I dati nella tabella SQL possono quindi essere aggiornati richiamando l'API UpdateApplicazion.

D: Quale tipo di codice è supportato?

Kinesis Analytics supporta SQL ANSI con alcune estensioni allo standard SQL, per semplificare le operazioni sui flussi di dati. Inoltre, Kinesis Analytics fornisce diversi algoritmi di apprendimento automatico sotto forma di funzioni SQL, ad esempio per il rilevamento di anomalie e l'approssimazione dei top-K e l'approssimazione di elementi distinti.

D: Quali destinazioni sono supportate?

Kinesis Analytics supporta fino a quattro destinazioni per applicazione. Puoi inoltrare i risultati delle query SQL in Amazon S3, Amazon Redshift e Amazon Elasticsearch Service (tramite Amazon Kinesis Firehose), nonché Amazon Kinesis Streams. In ogni caso, puoi scrivere su una destinazione non supportata direttamente da Kinesis Analytics inviando i risultati delle query SQL ad Amazon Kinesis Streams e sfruttandone l'integrazione con Lambda.


D: Come si configura un flusso di dati di origine?

Un flusso di dati di origine può essere un flusso Amazon Kinesis o un flusso di distribuzione Amazon Kinesis Firehose. L'applicazione Kinesis Analytics procederà alla lettura continua del flusso di dati di origine in tempo reale. I dati vengono resi accessibili nel codice SQL tramite flussi in applicazione. Un flusso in applicazione si comporta come una tabella SQL, perché è in grado di creare, inserire e selezionare elementi. La differenza è che i flussi in applicazione vengono aggiornati costantemente con nuovi dati provenienti dal flusso di dati di origine.

Per aggiungere flussi di dati di origine, puoi usare la Console di gestione AWS. Per ulteriori informazioni, consulta la sezione Configuring Application Input della Kinesis Analytics Developer Guide.

D: Come si configura un'origine dati di riferimento?

Un'origine dati di riferimento può essere un oggetto Amazon S3. L'applicazione Kinesis Analytics procede alla lettura completa dell'oggetto S3 al momento dell'avvio. I dati vengono resi accessibili nel codice SQL tramite una tabella. Il caso d'uso più comune per le origini dati di riferimento è la correzione di dati provenienti dal flusso di dati di origine tramite istruzioni SQL JOIN.

Tramite l'interfaccia a riga di comando di AWS, puoi aggiungere un'origine dati di riferimento specificando il bucket S3, l'oggetto, il ruolo IAM e lo schema associato. Kinesis Analytics caricherà questi dati all'avvio dell'applicazione, ricaricandoli ogni volta che viene richiamata l'API di aggiornamento.

D: Quali formati di dati sono supportati?

Kinesis Analytics rileva lo schema automaticamente e analizza i record JSON e CSV con codifica UTF-8 usando l'API DiscoverInputSchema. Questo schema viene applicato ai dati in lettura provenienti dal flusso al momento dell'inserimento del record nel flusso in applicazione.

Per altri dati codificati in UTF-8 che non usano delimitatore o che usano un delimitatore diverso da CSV, oppure nel caso in cui l'apposita API non sia in grado di riconoscere lo schema, puoi definire uno schema utilizzando l'apposito editor oppure mediante le funzioni di manipolazione delle stringhe per strutturare i dati. Per ulteriori informazioni, consulta Using the Schema Discovery Feature and Related Editing nella Kinesis Analytics Developer Guide.

D: In quale forma si presentano i flussi in ingresso al codice SQL?

Kinesis Analytics applica lo schema selezionato e inserisce i dati in uno o più flussi in applicazione per ogni flussi di origine e in una singola tabella SQL per le origini di riferimento. Il numero predefinito di flussi in applicazione è in grado di soddisfare la maggiore parte dei casi d'uso. Se noti che l'applicazione non riesce ad elaborare i dati più recenti provenienti dal flusso di origine, secondo le impostazioni definite nel parametro MillisBehindLatest di CloudWatch, puoi aumentare questo limite. Il numero di flussi in applicazione richiesti può variare in base al throughput del flusso di origine e alla complessità delle query. Il parametro per specificare il numero di flussi in applicazione mappati al flusso di origine è il parallelismo di input.


D: Qual è l'aspetto del codice dell'applicazione?

Il codice dell'applicazione è composto da una serie di istruzioni SQL che elaborano l'input e producono l'output. Le istruzioni SQL operano su flussi in applicazione e tabelle di riferimento. Il flusso in applicazione è come una tabella che viene aggiornata di continuo, e su cui puoi eseguire operazioni SQL SELECT e INSERT. Le origini e le destinazioni configurate si presentano al codice SQL tramite flussi in applicazione. Puoi anche creare flussi in applicazione aggiuntivi per memorizzare risultati intermedi delle query.

Per operare su flussi in applicazione, puoi usare il seguente modello:

  • Usa sempre un'istruzione SELECT nel contesto di un'istruzione INSERT. Quando selezioni una riga, inserisci i risultati in un altro flusso in applicazione.
  • Usa un'istruzione INSERT nel contesto di un pump. Usa un pump per rendere continua un'istruzione INSERT e procedere alla scrittura su un flusso in applicazione.
  • Usa una pump per collegare diversi flussi in applicazione effettuando la selezione da un flusso e completando l'inserimento in un altro flusso. 

Il codice illustrato di seguito fornisce un'applicazione funzionante base:

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (

    ticker_symbol VARCHAR(4),

    change DOUBLE,

    price DOUBLE);

 

CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM    

    SELECT STREAM ticker_symbol, change, price    

    FROM "SOURCE_SQL_STREAM_001";

Per ulteriori informazioni sul codice dell'applicazione, consulta Application Code nella Kinesis Analytics Developer Guide.

D: In che modo Kinesis Analytics semplifica la scrittura di codice SQL?

Kinesis Analytics include una libreria di modelli di analisi per i casi d'uso più comuni, tra cui filtri di flussi, finestre temporali a cascata e rilevamento di anomalie. Puoi accedere a questi modelli tramite l'editor SQL nella Console di gestione AWS. Dopo aver creato un'applicazione e aver esplorato l'editor SQL, potrai trovare i modelli nell'angolo superiore sinistro della console.

D: In che modo è possibile eseguire il rilevamento di anomalie in Kinesis Analytics?

Kinesis Analytics include funzioni SQL predefinite per diversi tipi di analisi, tra cui il rilevamento di anomalie. È sufficiente una chiamata a questa funzione tramite il codice SQL per rilevare eventuali anomalie in tempo reale. Kinesis Analytics usa l'algoritmo Random Cut Forest per implementare questa analisi. Per ulteriori informazioni sull'algoritmo Random Cut Forests, consulta il whitepaper Streaming Data Anomaly Detection.


D: Come si configura una destinazione?

All'interno del codice dell'applicazione, puoi inoltrare i risultati delle istruzioni SQL verso uno o più flussi in applicazione. Facoltativamente, puoi configurare ulteriormente l'output dell'applicazione affinché tutti i dati scritti in determinati flussi in applicazione vengano inoltrati in fino a quattro destinazioni esterne. Tali destinazioni possono essere un bucket Amazon S3, una tabella Amazon Redshift, un dominio Amazon Elasticsearch (tramite Amazon Kinesis Firehose) e un flusso Amazon Kinesis. Ogni applicazione supporta fino a quattro destinazioni in qualsiasi combinazione. Per ulteriori informazioni, consulta Configuring Output Streams nella Kinesis Analytics Developer Guide.

D: La destinazione utilizzata abitualmente non è supportata in modo diretto. Come si inviano i risultati delle query SQL a questa destinazione?

Per inoltrare i dati a una destinazione non direttamente supportata puoi impiegare AWS Lambda. A tale scopo, consigliamo di scrivere i risultati in un flusso di Amazon Kinesis per usare poi AWS Lambda per leggere i risultati elaborati e inviarli alla tua destinazione preferita. Per ulteriori informazioni, consulta Example: AWS Lambda Integration nellaKinesis Analytics Developer Guide. In alternativa, puoi usare un flusso di distribuzione Amazon Kinesis Firehose per caricare i dati in Amazon S3, per attivare quindi una funzione AWS Lambda che proceda alla lettura e all'invio dei dati alla tua destinazione preferita. Per ulteriori informazioni, consulta Using AWS Lambda with Amazon S3 nella AWS Lambda Developer Guide.

D: Quale modello di erogazione dei servizi prevede Kinesis Analytics?

Kinesis Analytics usa un modello di distribuzione "almeno una volta" per l'output dell'applicazione verso le destinazioni configurate. L'applicazione Kinesis Analytics presenta punti di controllo interni, ovvero point-in-time in cui i record di output vengono distribuiti alle destinazioni senza perdita di dati. Il servizio usa questi punti di controllo in base alle esigenze per assicurare l'output venga distribuito correttamente almeno una volta alle destinazioni configurate. Per ulteriori informazioni sui modelli di erogazione dei servizi, consulta Configuring Application Output nella Kinesis Analytics Developer Guide.


D: Come è possibile monitorare il funzionamento e le prestazioni di un'applicazione Kinesis Analytics?

AWS fornisce diversi strumenti che permettono di monitorare le applicazioni Kinesis Analytics. Alcuni di questi strumenti possono essere configurati per monitorare le applicazioni in automatico. Per ulteriori informazioni sul monitoraggio dell'applicazione, consulta Monitoring Kinesis Analytics nella Kinesis Analytics Developer Guide.

D: Come è possibile controllare e gestire gli accessi a un'applicazione Kinesis Analytics?

Kinesis Analytics deve disporre delle autorizzazioni di lettura dei record provenienti dai flussi di dati di origine specificati nell'applicazione. Inoltre deve disporre delle autorizzazioni di scrittura dell'output dell'applicazione nei flussi specificati nella relativa configurazione. Per concedere queste autorizzazioni, puoi creare ruoli IAM da assegnare a Kinesis Analytics. Le autorizzazioni concesse a un ruolo determineranno le operazioni che Kinesis Analytics potrà o non potrà effettuare una volta assunto il ruolo. Per ulteriori informazioni, consulta Granting Permissions nella Kinesis Analytics Developer Guide.

D: Kinesis Analytics ricalibra le risorse dell'applicazione?

Kinesis Analytics ricalibra in modo elastico le risorse dell'applicazione per poter gestire throughput elevati e query complesse. Il servizio effettua il provisioning di capacità sotto forma di unità di elaborazione di Kinesis o KPU (Kinesis Processing Unit). Una KPU fornisce risorse di memoria (4 GB), di elaborazione e di rete.
Ogni flusso di origine viene mappato a un flusso in applicazione corrispondente. Anche se si tratta di un'operazione non necessaria per molti clienti, puoi utilizzare le KPU in modo più efficiente aumentando il numero di flussi in applicazione a cui è mappata l'origine specificando il parametro di parallelismo di input. Kinesis Analytics divide le partizioni di cui è comporto flusso di dati di origine, ad esempio gli shard di Amazon Kinesis, assegnandole equamente al numero specificato di flussi in applicazione. Ad esempio, se il flusso di dati di origine è un flusso Amazon Kinesis da 10 shard e specifichi un parametro di parallelismo pari a due, Kinesis Analytics assegna cinque shard a ciascuno dei due flussi in applicazione, denominandoli "SOURCE_SQL_STREAM_001" e "SOURCE_SQL_STREAM_002". Per ulteriori informazioni, consulta Configuring Application Input nella Kinesis Analytics Developer Guide.

D: Quali sono le best practice relative alla creazione alla gestione di applicazioni Kinesis Analytics?

Per ulteriori informazioni sulle best practice, consulta la sezione Best Practices nella Kinesis Analytics Developer Guide, che tratta di gestione delle applicazioni, definizione di uno schema di input, collegamento agli output e scrittura del codice dell'applicazione.


D: Una delle istruzioni SQL non funziona correttamente. Come risolvo il problema?

Per informazioni dettagliate, consulta Example Applications nella Kinesis Analytics Developer Guide, che contiene una serie di esempi. Inoltre, la Kinesis Analytics SQL Reference fornisce una guida dettagliata su come scrivere il codice delle istruzioni SQL. Se riscontri ancora problemi, prova a scrivere nei forum di Amazon Kinesis.

D: Kinesis Analytics non è in grado di rilevare uno schema. In che modo si può usare Kinesis Analytics?

Per altri dati codificati in UTF-8 che non usano delimitatore o che usano un delimitatore diverso da CSV, oppure nel caso in cui l'apposita API non sia in grado di riconoscere lo schema, puoi definire uno schema manualmente oppure mediante le funzioni di manipolazione delle stringhe per strutturare i dati. Per ulteriori informazioni, consulta Using the Schema Discovery Feature and Related Editing nella Kinesis Analytics Developer Guide.

D: Quali sono i parametri più importanti da monitorare per accertarsi che l'applicazione funzioni correttamente?

Il più importante è un parametro di CloudWatch, MillisBehindLatest, che rappresenta il ritardo di lettura rispetto ai dati del flusso. Questo parametro offre un meccanismo efficiente per determinare se i record provenienti dal flusso di origine sono elaborati abbastanza velocemente. Consigliamo quindi di impostare un allarme di CloudWatch che ti avvisi se la lettura ritarda di oltre un'ora (anche se questo intervallo può variare in base al caso d'uso e può essere modificato secondo le proprie necessità). Per ulteriori informazioni, consulta la sezione Best Practices nella Kinesis Analytics Developer Guide.

D: In che modo è possibile risolvere i problemi relativi a codice non valido durante l'esecuzione di un'applicazione Kinesis Analytics?
Per informazioni sugli errori relativi a codice non valido e sulla risoluzione dei problemi per le applicazioni Kinesis Analytics, consulta la sezione Troubleshooting nella Amazon Kinesis Analytics Developer Guide.


D: Quanto costa Kinesis Analytics?

I prezzi di Kinesis Analytics sono calcolati in base all'uso effettivo. Viene addebitata una tariffa oraria calcolata sul numero medio di unità di elaborazione di Kinesis o KPU (Kinesis Processing Units) utilizzate per eseguire l'applicazione di elaborazione di flussi. I parametri vengono arrotondati alla KPU intera più vicina.

Una KPU fornisce risorse di memoria (4 GB), di elaborazione (1 vCPU) e di rete. Poiché il consumo di memoria e di potenza di calcolo da parte dell'applicazione può variare, Kinesis Analytics ridimensione automaticamente in modo elastico il numero di KPU in base al carico di lavoro. Non è necessario effettuare manualmente il provisioning di altre risorse e non sono previsti costi anticipati o tariffe minime.

Per ulteriori informazioni sui prezzi, consulta la pagina dei prezzi di Kinesis Analytics.

D: Kinesis Analytics è disponibile nel piano gratuito di AWS?

No. Kinesis Analytics non è attualmente disponibile nel piano gratuito di AWS. Il piano gratuito di AWS è un programma che offre prove gratuite per una serie di servizi AWS.

D: Quali costi vengono addebitati se un'applicazione Kinesis Analytics è in esecuzione ma non sta elaborando dati?

Quando l'applicazione è in esecuzione, l'addebito minimo corrisponde all'utilizzo di una KPU.

D: Oltre alle tariffe di Kinesis Analytics, vengono addebitati altri costi?

Kinesis Analytics è una soluzione di elaborazione di flussi completamente gestita e indipendente sia dal flusso di origine di cui esegue la lettura dei dati sia dalle destinazioni in cui esegue la scrittura dei dati elaborati. I costi relativi all'utilizzo di Kinesis Firehose e di Kinesis Streams saranno fatturati separatamente.

D: Quali differenze ci sono tra Kinesis Analytics e l'utilizzo di applicazioni proprietarie usando Amazon Kinesis Client Library?

Amazon Kinesis Client Library (KCL) è una libreria preconfigurata che semplifica la creazione di applicazioni per la lettura e l'elaborazione di dati provenienti da un flusso Amazon Kinesis. KCL gestisce problemi complessi quali l'adattamento alle variazioni di volume del flusso, il bilanciamento del carico dei dati, la coordinazione di servizi distribuiti e l'elaborazione di dati con tolleranza ai guasti. KCL consente di concentrare l'attenzione sulla logica di business durante la creazione di applicazioni.

Con Kinesis Analytics, puoi elaborare e interrogare i flussi di dati in tempo reale. Puoi elaborare flussi di dati semplicemente tramite SQL standard, perciò non dovrai apprendere specifiche competenze su eventuali linguaggi di programmazione. È sufficiente indirizzare Kinesis Analytics su un flusso di dati in ingresso scrivere query SQL personalizzate e specificare dove caricarne i risultati. Kinesis Analytics usa KCL per la lettura dei dati provenienti da flussi di origine all'interno dell'applicazione. Il servizio esegue automaticamente questa e molte altre operazioni associate con l'uso di KCL, ad esempio l'uso di punti di controllo.

Se cerchi una soluzione completamente gestita e desideri utilizzare SQL per elaborare i dati per il flusso, Kinesis Analytics è l'ideale. KCL è consigliato se devi creare una soluzione di elaborazione personalizzata i cui requisiti vanno oltre l'offerta di Kinesis Analytics e se sei sufficientemente esperto per gestire l'applicazione risultante.