Condividi tramite


Affidabilità in Azure Data Explorer

Esplora dati di Azure è un servizio di analisi che consente di inserire, archiviare ed eseguire query su grandi volumi di dati con bassa latenza. Viene comunemente usato per analisi dei log, telemetria e carichi di lavoro di serie temporali che richiedono query rapide su grandi set di dati.

Quando si usa Azure, l'affidabilità è una responsabilità condivisa. Microsoft offre una gamma di funzionalità per supportare la resilienza e il ripristino. L'utente è responsabile della comprensione del funzionamento di tali funzionalità all'interno di tutti i servizi usati e della selezione delle funzionalità necessarie per soddisfare gli obiettivi aziendali e gli obiettivi di tempo di attività.

Questo articolo descrive come rendere Esplora dati di Azure resiliente a varie potenziali interruzioni e problemi, tra cui errori temporanei, errori della zona di disponibilità e errori a livello di area. Descrive anche le opzioni di backup e ripristino e la resilienza per la manutenzione del servizio ed evidenzia le informazioni chiave sul contratto di servizio di Esplora dati di Azure.

Raccomandazioni per la distribuzione di produzione per l'affidabilità

Per i carichi di lavoro di produzione, è consigliabile seguire questa procedura per migliorare l'affidabilità del cluster di Esplora dati di Azure:

  • Distribuire un cluster completo. Azure Data Explorer offre cluster gratuiti a scopo di valutazione. Per i carichi di lavoro di produzione, distribuire un cluster completo.
  • Abilitare il supporto della zona di disponibilità. Esplora dati di Azure supporta le zone di disponibilità. Quando il supporto della zona di disponibilità è abilitato, i nodi di calcolo vengono distribuiti tra più zone di disponibilità e i dati vengono archiviati usando l'archiviazione con ridondanza della zona. Questa configurazione migliora la resilienza agli errori della zona di disponibilità.

Panoramica dell'architettura di affidabilità

Questa sezione descrive alcuni degli aspetti importanti del funzionamento del servizio più rilevanti dal punto di vista dell'affidabilità. La sezione presenta l'architettura logica, che include alcune delle risorse e delle funzionalità distribuite e usate. Illustra anche l'architettura fisica, che fornisce informazioni dettagliate sul funzionamento del servizio sotto le quinte.

Architettura logica

La risorsa primaria distribuita è un cluster, che rappresenta l'infrastruttura necessaria per inserire, archiviare ed eseguire query sui dati. Con un cluster si creano database, che a loro volta contengono tabelle.

Diagramma che mostra un cluster che contiene due database, ognuno con un set di tabelle.

I cluster eseguono l'inserimento per recuperare dati da altre origini dati e caricarli in una tabella nel cluster. È quindi possibile eseguire query sui dati usando la sintassi KQL (Kusto Query Language). I cluster dispongono anche di un set di operazioni di gestione che è possibile eseguire.

Architettura fisica

Un cluster di Esplora dati di Azure ha due livelli principali applicabili alla configurazione dell'affidabilità:

  • Livello di calcolo: Azure Data Explorer è una piattaforma di elaborazione distribuita e può avere due o più macchine virtuali nodo a seconda del tipo di ruolo del nodo e della scala. I nodi gestiscono l'inserimento dei dati e il lavoro di elaborazione delle query. Le macchine virtuali del nodo non vengono visualizzate o gestite direttamente. La piattaforma gestisce automaticamente la creazione dell'istanza, il monitoraggio dell'integrità e la sostituzione di nodi non integri. Quando il cluster è configurato per l'uso delle zone di disponibilità, i nodi vengono distribuiti tra data center diversi.

  • Livello di archiviazione: Azure Data Explorer utilizza Azure Storage come livello di persistenza durevole. Azure Storage fornisce automaticamente la tolleranza di errore con l'impostazione predefinita che offre l'archiviazione con ridondanza locale all'interno di un data center. Vengono mantenute tre repliche. Se una replica viene persa durante l'uso, un'altra viene distribuita senza interruzioni. Quando il cluster è configurato per l'uso di più zone di disponibilità, le repliche vengono distribuite tra data center diversi.

Diagramma che mostra un cluster con nodi di calcolo e più copie di dati.

Per altre informazioni, vedere Funzionamento di Esplora dati di Azure.

Resilienza a errori temporanei

Gli errori temporanei sono errori brevi e intermittenti nei componenti. Si verificano spesso in un ambiente distribuito come il cloud e fanno parte delle normali operazioni. Gli errori temporanei si correggono dopo un breve periodo di tempo. È importante che le applicazioni possano gestire gli errori temporanei, in genere ritentando le richieste interessate.

Tutte le applicazioni ospitate nel cloud devono seguire le indicazioni sulla gestione degli errori temporanei di Azure quando comunicano con qualsiasi API, database e altri componenti ospitati nel cloud. Per altre informazioni, vedere Raccomandazioni per la gestione degli errori temporanei.

Per creare resilienza a errori temporanei quando si usa Esplora dati di Azure, seguire queste procedure:

Resilienza ai guasti delle zone di disponibilità

Le zone di disponibilità sono gruppi di data center separati fisicamente all'interno di un'area di Azure. In caso di guasto in una zona, i servizi possono passare a una delle zone restanti.

Esplora dati di Azure supporta due tipi di configurazione della zona di disponibilità:

  • Ridondanza della zona (scelta consigliata): Quando si abilitano le zone di disponibilità nel cluster, i nodi del cluster vengono distribuiti in più zone. Microsoft gestisce la distribuzione dei nodi tra le zone di disponibilità selezionate e gestisce il rilevamento e la risposta agli errori della zona di disponibilità. Un cluster a ridondanza di zona è resiliente a un guasto della zona di disponibilità.

    Quando configuri il cluster per essere a ridondanza di zona, i tuoi dati vengono archiviati utilizzando l'archiviazione ridondante a zone di Azure Storage, che replica sincronicamente almeno tre copie dei dati in più zone di disponibilità.

    Diagramma che mostra una distribuzione con ridondanza della zona di un cluster di Esplora dati di Azure, con nodi di calcolo e archiviazione distribuiti tra più zone.

  • Zonale: Facoltativamente, è possibile selezionare una singola zona quando si abilitano le zone di disponibilità nel cluster. Microsoft inserisce tutte le note di calcolo in tale zona. Si tratta di un cluster a zona unica (zona singola). Questa configurazione può talvolta essere utile se si dispone di un carico di lavoro insolitamente sensibile alla latenza, ma non offre resilienza alle interruzioni della zona.

    Importante

    Si consiglia di limitarsi a una singola zona di disponibilità solo quando la latenza inter-zona è troppo elevata per le proprie esigenze e dopo aver verificato che la latenza effettivamente non soddisfi i requisiti. Di per sé, una risorsa di zona non fornisce resilienza a un'interruzione della zona di disponibilità. Per migliorare la resilienza di una risorsa di zona, è necessario distribuire in modo esplicito risorse separate in più zone di disponibilità e configurare il routing e il failover del traffico. Per altre informazioni, vedere Risorse di zona e resilienza della zona.

    La selezione della zona si applica solo ai nodi di calcolo. Per un cluster zonale, i dati di archiviazione continuano a utilizzare LRS (archiviazione con ridondanza locale) e potrebbero essere archiviati in una zona diversa rispetto ai nodi di calcolo.

    Diagramma che mostra una distribuzione a livello di zona di un cluster di Azure Data Explorer, con tutti i nodi di calcolo in una singola zona e l'archiviazione a ridondanza di zona.

Se non si abilitano le zone di disponibilità, il cluster è non a livello di zona, ovvero Azure seleziona la zona di disponibilità per ogni nodo e i dati. Se una zona di disponibilità nell'area ha un'interruzione, potrebbe influire sui nodi, i dati o entrambi i nodi del cluster. Non è consigliabile una configurazione non di zona perché non fornisce protezione dalle interruzioni della zona di disponibilità.

Requisiti

  • Supporto per l'area: Il supporto della zona di disponibilità è disponibile nelle aree di Azure che supportano le zone di disponibilità.

    Tuttavia, alcuni tipi di nodo di calcolo e dimensioni sono disponibili solo in aree specifiche o in zone specifiche all'interno di un'area.

  • Cluster completi: Il supporto della zona di disponibilità è disponibile con cluster completi. Non è disponibile con cluster gratuiti.

Considerazioni

Selezione zona: Per i nodi di calcolo, è possibile scegliere le zone di disponibilità da usare. Il posizionamento della zona di archiviazione è gestito da Microsoft e le repliche di archiviazione possono essere inserite in zone diverse nei nodi di calcolo.

Cost

L'abilitazione del supporto per le availability zone comporta costi aggiuntivi per l'archiviazione con ridondanza nelle zone, che viene fatturata a un tasso superiore rispetto all'archiviazione con ridondanza locale. Per altre informazioni, vedere Prezzi di Archiviazione di Azure.

I nodi di calcolo vengono addebitati alla stessa tariffa, indipendentemente dal fatto che si usi o meno il supporto della zona di disponibilità. Per ulteriori informazioni, consulta Prezzi di Azure Data Explorer.

Configurare il supporto delle zone di disponibilità

  • Creare un nuovo cluster con supporto per la zona di disponibilità: È possibile abilitare il supporto della zona di disponibilità quando si crea un nuovo cluster di Esplora dati di Azure. Per altre informazioni, vedere Creare un cluster e un database.

    Quando si crea un cluster abilitato per le zone di disponibilità usando il portale di Azure, questo è automaticamente a ridondanza di zona e Microsoft seleziona le zone.

    Per selezionare manualmente le zone o per creare un cluster a livello di zona, usare un altro approccio di distribuzione, ad esempio le API di Azure Resource Manager o Bicep. Per la maggior parte delle situazioni, è consigliabile creare un cluster con ridondanza della zona e usare tutte le zone nell'area.

    Annotazioni

    Quando si selezionano le zone di disponibilità da usare, si seleziona effettivamente la zona di disponibilità logica. Se si distribuiscono altri componenti del carico di lavoro in una sottoscrizione di Azure diversa, è possibile usare un numero di zona di disponibilità logico diverso per accedere alla stessa zona di disponibilità fisica. Per altre informazioni, vedere Zone di disponibilità fisiche e logiche.

  • Abilitare le zone di disponibilità in un cluster esistente (anteprima): È possibile eseguire la migrazione di un cluster non di zona esistente per usare le zone di disponibilità. Questa funzionalità è disponibile in anteprima. Per altre informazioni, vedere Eseguire la migrazione del cluster per supportare più zone di disponibilità.

  • Riconfigurare le zone di disponibilità in un cluster esistente (anteprima): È possibile modificare le zone usate per un cluster. Questa funzionalità è disponibile in anteprima. Per altre informazioni, vedere Eseguire la migrazione del cluster per supportare più zone di disponibilità.

  • Disabilitare il supporto della zona di disponibilità in un cluster esistente: Dopo aver configurato un cluster con le zone di disponibilità, non è possibile modificare il cluster in modo da non usare le zone di disponibilità.

  • Verificare la configurazione della zona di disponibilità per i cluster: È possibile usare la proprietà stato della zona del cluster (la zoneStatus proprietà nell'API REST) per verificare la configurazione della zona di disponibilità di un cluster.

    Se il valore è Zonal, significa che il cluster è stato configurato per l'uso delle zone di disponibilità. Tuttavia, il cluster potrebbe essere zonale o ridondante a livello di zona. Per determinare quale, utilizzare la proprietà zones . Se nell'elenco delle zone è elencata una zona, il cluster è zonale (singola zona). Se sono elencate più zone, è ridondante per la zona.

Pianificazione e gestione della capacità

Quando una zona di disponibilità non è disponibile, i nodi in tale zona potrebbero essere temporaneamente non disponibili, riducendo così la capacità di calcolo del cluster fino al ripristino della zona.

Se il cluster non può tollerare la perdita di capacità, considerare il sovraprovisionamento del cluster. Questo approccio consente alla soluzione di tollerare alcune perdite di capacità e continuare a funzionare senza riduzione delle prestazioni. Tuttavia, quando si sovradimensiona il cluster, questo potrebbe avere un numero sbilanciato di nodi tra le varie zone.

Distribuzione di istanze tra zone

Il livello di calcolo del cluster usa un approccio ottimale per distribuire uniformemente le istanze tra le zone selezionate.

Comportamento quando tutte le zone sono integre

Questa sezione descrive cosa aspettarsi quando si configura un cluster per il supporto della zona di disponibilità e tutte le zone sono operative.

  • Operazione tra zone: Durante il normale funzionamento, Esplora dati di Azure usa tutti i nodi di calcolo disponibili per l'inserimento, l'elaborazione di query e altre operazioni. Il lavoro viene distribuito tra i nodi indipendentemente dalla propria zona di disponibilità.

  • Replica dei dati tra zone: Il comportamento di replica dei dati tra zone dipende dalla configurazione della zona di disponibilità usata dal cluster.

    • Con ridondanza di zona: I dati vengono replicati in modo sincrono tra zone di disponibilità usando l'archiviazione ridondante di zona di Azure Storage. Ciò offre un livello elevato di coerenza dei dati e riduce al minimo il rischio di perdita di dati durante un errore di zona.

    • Zonale: I dati vengono archiviati usando Archiviazione di Azure con ridondanza locale, il che significa che tutte e tre le copie potrebbero trovarsi in una singola zona di disponibilità.

Comportamento durante un errore di zona

Questa sezione descrive cosa aspettarsi quando si configura un cluster per il supporto della zona di disponibilità e si verifica un'interruzione in una delle zone.

  • Rilevamento e risposta: La responsabilità del rilevamento e della risposta dipende dalla configurazione della zona di disponibilità usata dal cluster.

    • Ridondante a livello di zona: Microsoft rileva i guasti nelle zone di disponibilità e gestisce la risposta per Azure Data Explorer. Non è necessario eseguire alcuna operazione per avviare un failover di zona.

    • Zonale: Sei responsabile del rilevamento di un errore che influisce su una zona di disponibilità utilizzata dal cluster. Si è anche responsabili di qualsiasi risposta che si decide di avviare, ad esempio il passaggio a un secondo cluster creato in precedenza in una zona di disponibilità diversa.

  • Notifica: Microsoft non invia automaticamente una notifica quando una zona è inattiva. È tuttavia possibile usare Integrità dei servizi di Azure per comprendere l'integrità complessiva del servizio, inclusi eventuali errori di zona, ed è possibile configurare gli avvisi di integrità dei servizi per notificare eventuali problemi.
  • Richieste attive: Le richieste attive che si basano su risorse di calcolo o di archiviazione nella zona non riuscita potrebbero essere terminate e devono essere ritentate dal client. Assicurarsi che le applicazioni vengano preparate seguendo le indicazioni sulla gestione degli errori temporanei.

  • Perdita di dati prevista: La perdita di dati prevista dipende dalla configurazione della zona di disponibilità usata dal cluster.

    • Ridondanza della zona: Non è prevista alcuna perdita di dati durante un'interruzione della zona di disponibilità perché i dati vengono replicati in modo sincrono tra zone.

    • Zonale: I dati non sono disponibili fino al ripristino della zona. Nel caso improbabile di una perdita permanente di una zona che contiene tutte le repliche di archiviazione, i dati potrebbero andare persi definitivamente.

  • Tempo di inattività previsto: Il tempo di inattività previsto dipende dalla configurazione della zona di disponibilità usata dal cluster.

    • Zona ridondante: Potrebbe verificarsi una breve interruzione del servizio mentre il traffico viene reindirizzato alle zone di disponibilità operative. Assicurarsi che le applicazioni vengano preparate seguendo le indicazioni sulla gestione degli errori temporanei.

    • Zonale: I nodi di calcolo del cluster non saranno disponibili fino al ripristino della zona di disponibilità. Potrebbe anche non essere possibile accedere ai dati del cluster durante un errore di zona.

  • Ridistribuzione: Il comportamento di reindirizzamento del traffico dipende dalla configurazione della zona di disponibilità usata dal cluster.

    • Zone-ridondante: Azure Data Explorer instrada le nuove richieste alle risorse di calcolo e archiviazione nelle zone sane rimanenti.

    • Zonale: Il cluster sarà indisponibile fino a quando la zona di disponibilità non sarà ripristinata.

Ripristino della zona

Quando la zona di disponibilità non riuscita viene ripristinata, Microsoft ricrea i nodi del cluster e le repliche di archiviazione in tale zona e ripristina la normale distribuzione del traffico in tutte le zone. Non è necessaria alcuna azione da parte del cliente.

Verifica dei guasti di zona

Le opzioni per il test degli errori di zona dipendono dalla configurazione della zona di disponibilità usata dal cluster.

  • Zona ridondante: Il failover e il ripristino della zona di disponibilità per Esplora dati di Azure sono completamente gestiti da Microsoft. Non è necessario avviare o convalidare i processi per la gestione dei guasti delle zone di disponibilità.

  • Zonale: Per simulare parzialmente la perdita di tutti i nodi di calcolo durante un guasto nell'area, è possibile arrestare il cluster. È possibile usare questo approccio per convalidare parti dei processi di rilevamento dei guasti della zona e di failover.

Resilienza agli errori a livello di area

Un cluster di Azure Data Explorer viene distribuito in una singola area di Azure. Se tale area non è più disponibile, il cluster e i relativi dati non sono disponibili.

Soluzioni personalizzate in più aree per la resilienza

Per ridurre al minimo l'impatto aziendale di un'interruzione dell'area, è possibile distribuire cluster di Esplora dati di Azure separati in più aree. Ogni cluster è indipendente e si è responsabili della gestione di ogni cluster e del coordinamento della replica dei dati, del routing del traffico e del failover tra aree.

È possibile decidere tra diversi tipi di configurazioni cluster in più aree, che supportano livelli diversi di tempo di ripristino, potenziale perdita di dati, sforzo e costo. È possibile selezionare le aree di Azure per ogni cluster che supportano i requisiti di latenza e residenza dei dati. Per altre informazioni sulle configurazioni e i modelli del cluster in più aree, vedere Interruzione di un'area di Azure.

Backup e ripristino

Per la maggior parte delle soluzioni, non è consigliabile basarsi esclusivamente sui backup. Usare invece le altre funzionalità descritte in questa guida per supportare i requisiti di resilienza. Tuttavia, i backup proteggono da alcuni rischi che altri approcci non comportano. Per altre informazioni, vedere Che cosa sono ridondanza, replica e backup?.

Esplora dati di Azure non offre una funzionalità di backup e ripristino nativa. Se è necessario eseguire backup dei dati, è possibile considerare gli approcci seguenti:

  • Esportazione continua, che esporta periodicamente i dati in una risorsa di archiviazione esterna e supporta esattamente una volta l'esportazione dei dati supportati.
  • Esportazione dei dati nell'archiviazione cloud, che consente di esportare manualmente i dati in una risorsa di archiviazione esterna.
  • Inserire dati non elaborati in Esplora dati di Azure da un'origine upstream, ad esempio un data lake, di cui è possibile eseguire il backup separatamente.

Resilienza all'eliminazione accidentale

Esplora dati di Azure include diversi meccanismi che consentono di proteggersi dall'eliminazione accidentale di cluster, database, tabelle e tabelle esterne:

  • Eliminazione accidentale del cluster o del database: L'eliminazione accidentale del cluster o del database è un'azione irreversibile. È possibile evitare la perdita di dati abilitando un blocco di eliminazione nel cluster o nella risorsa di database.

  • Eliminazione accidentale della tabella: Gli utenti con autorizzazioni di amministratore tabella o superiori possono eliminare le tabelle. Se uno di questi utenti elimina accidentalmente una tabella, è possibile recuperarla usando il .undo drop table comando . Affinché questo comando venga completato correttamente, è prima necessario abilitare la proprietà di ripristinabilità nei criteri di conservazione.

  • Eliminazione accidentale di tabelle esterne:le tabelle esterne sono entità dello schema di query Kusto che fanno riferimento ai dati archiviati all'esterno del database. L'eliminazione di una tabella esterna elimina solo i metadati della tabella. È possibile recuperarli eseguendo di nuovo il comando di creazione della tabella.

    Per Azure Blob Storage e le tabelle esterne di Azure Data Lake, utilizzare la funzionalità di eliminazione reversibile per proteggersi dall'eliminazione o sovrascrittura accidentale di un blob per un periodo configurabile dall'utente.

Resilienza alla manutenzione del servizio

Esplora dati di Azure applica regolarmente gli aggiornamenti del servizio ed esegue la manutenzione di routine. La piattaforma Azure gestisce automaticamente queste attività pur rimanendo entro i livelli di disponibilità specificati nel contratto di servizio. Assicurarsi che le applicazioni siano preparate per la perdita occasionale della connettività durante la manutenzione del servizio seguendo le indicazioni sulla gestione degli errori temporanei.

Per informazioni sulla manutenzione futura, usare Integrità dei servizi di Azure.

Contratto di servizio

Il contratto di servizio per i servizi di Azure descrive la disponibilità prevista di ogni servizio e le condizioni che la soluzione deve soddisfare per raggiungere tale aspettativa di disponibilità. Per altre informazioni, vedere SLA per servizi online.

Per essere idoneo per il contratto di servizio di disponibilità di Esplora dati di Azure, l'applicazione deve gestire gli errori temporanei ritentando le richieste non riuscite.