Condividi tramite


Sicurezza, accesso e operazioni per le migrazioni di Netezza

Questo articolo è la terza parte di una serie in sette parti che fornisce indicazioni su come eseguire la migrazione da Netezza ad Azure Synapse Analytics. Nello specifico, descrive le procedure consigliate per le operazioni di accesso di sicurezza.

Considerazioni relative alla sicurezza

Questo articolo illustra i metodi di connessione per gli ambienti Netezza legacy esistenti e il modo in cui è possibile eseguirne la migrazione ad Azure Synapse Analytics con un impatto minimo sul rischio e sull'utente.

Questo articolo presuppone che esista un requisito per eseguire la migrazione dei metodi esistenti di connessione e struttura utente/ruolo/autorizzazione as-is. In caso contrario, usare il portale di Azure per creare e gestire un nuovo regime di sicurezza.

Per altre informazioni sulle opzioni di sicurezza di Azure Synapse , vedere White paper sulla sicurezza.

Connessione e autenticazione

Suggerimento

L'autenticazione sia in Netezza che in Azure Synapse può essere "nel database" o tramite metodi esterni.

Opzioni di autorizzazione Netezza

Il sistema IBM Netezza offre diversi metodi di autenticazione per gli utenti del database Netezza:

  • Autenticazione locale: gli amministratori di Netezza definiscono gli utenti del database e le relative password usando il CREATE USER comando o tramite interfacce amministrative di Netezza. Nell'autenticazione locale usare il sistema Netezza per gestire gli account e le password del database e per aggiungere e rimuovere utenti di database dal sistema. Questo metodo è il metodo di autenticazione predefinito.

  • Autenticazione LDAP: usare un server dei nomi LDAP per autenticare gli utenti del database e gestire password, attivazioni e disattivazioni dell'account di database. Il sistema Netezza usa un pluggable Authentication Module (PAM) per autenticare gli utenti nel server dei nomi LDAP. Microsoft Active Directory è conforme al protocollo LDAP, pertanto può essere considerato come un server LDAP ai fini dell'autenticazione LDAP.

  • Autenticazione Kerberos: usare un server di distribuzione Kerberos per autenticare gli utenti del database e gestire password, attivazioni di account di database e disattivazioni.

L'autenticazione è un'impostazione a livello di sistema. Gli utenti devono essere autenticati o autenticati localmente tramite il metodo LDAP o Kerberos. Se si sceglie l'autenticazione LDAP o Kerberos, creare utenti con autenticazione locale in base all'utente. LDAP e Kerberos non possono essere usati contemporaneamente per autenticare gli utenti. L'host Netezza supporta solo l'autenticazione LDAP o Kerberos per gli account di accesso utente del database, non per gli account di accesso del sistema operativo nell'host.

Opzioni di autorizzazione di Azure Synapse

Azure Synapse supporta due opzioni di base per la connessione e l'autorizzazione:

  • Autenticazione SQL: l'autenticazione SQL viene eseguita tramite una connessione di database che include un identificatore di database, un ID utente e una password e altri parametri facoltativi. Ciò equivale funzionalmente alle connessioni locali di Netezza.

  • Autenticazione di Microsoft Entra: con l'autenticazione Microsoft Entra, è possibile gestire centralmente le identità degli utenti del database e di altri servizi Microsoft in una posizione centrale. La gestione degli ID centrali offre un'unica posizione per gestire gli utenti di Azure Synapse e semplifica la gestione delle autorizzazioni. Microsoft Entra ID può anche supportare le connessioni ai servizi LDAP e Kerberos, ad esempio Microsoft Entra ID può essere usato per connettersi alle directory LDAP esistenti se devono rimanere attive dopo la migrazione del database.

Utenti, ruoli e autorizzazioni

Informazioni generali

Suggerimento

La pianificazione generale è essenziale per un progetto di migrazione riuscito.

Sia Netezza che Azure Synapse implementano il controllo di accesso al database tramite una combinazione di utenti, ruoli (gruppi in Netezza) e autorizzazioni. Entrambi usano istruzioni SQL CREATE USER e CREATE ROLE/GROUP standard per definire utenti e ruoli e istruzioni GRANT e REVOKE per assegnare o rimuovere autorizzazioni di quegli utenti e/o ruoli.

Suggerimento

È consigliabile automatizzare i processi di migrazione per ridurre il tempo trascorso e l'ambito degli errori.

Concettualmente i due database sono simili e potrebbe essere possibile automatizzare la migrazione di ID utente, gruppi e autorizzazioni esistenti in qualche modo. Eseguire la migrazione di tali dati estraendo le informazioni esistenti sull'utente e sul gruppo legacy dalle tabelle del catalogo di sistema Netezza e generando istruzioni equivalenti CREATE USER corrispondenti CREATE ROLE da eseguire in Azure Synapse per ricreare la stessa gerarchia di utenti/ruoli.

Dopo l'estrazione dei dati, usare le tabelle del catalogo di sistema Netezza per generare istruzioni equivalenti per assegnare autorizzazioni (in cui esiste un'istruzione equivalente GRANT ). Il diagramma seguente illustra come usare i metadati esistenti per generare il codice SQL necessario.

Grafico che mostra come automatizzare la migrazione dei privilegi da un sistema esistente.

Per altri dettagli, vedere le sezioni seguenti.

Utenti e ruoli

Suggerimento

La migrazione di un data warehouse richiede più di tabelle, viste e istruzioni SQL.

Le informazioni sugli utenti e i gruppi correnti in un sistema Netezza sono contenute nelle viste _v_users del catalogo di sistema e _v_groupusers. Usare l'utilità nzsql o gli strumenti come gli script Netezza Performance, NzAdmin o Netezza Utility per elencare i privilegi utente. Ad esempio, usare i dpu comandi e dpgu in nzsql per visualizzare utenti o gruppi con le relative autorizzazioni.

Utilizza o modifica gli script di utilità nz_get_users e nz_get_user_groups per ottenere le stesse informazioni nel formato richiesto.

Eseguire query sulle viste del catalogo di sistema direttamente (se l'utente ha SELECT accesso a tali viste) per ottenere gli elenchi correnti di utenti e ruoli definiti all'interno del sistema. Vedere esempi per elencare utenti, gruppi o utenti e i relativi gruppi associati:

-- List of users
SELECT USERNAME FROM _V_USER;

--List of groups
SELECT DISTINCT(GROUPNAME) FROM _V_USERGROUPS;

--List of users and their associated groups
SELECT USERNAME, GROUPNAME FROM _V_GROUPUSERS;

Modificare l'istruzione di esempio SELECT per produrre un set di risultati costituito da una serie di CREATE USER istruzioni e CREATE GROUP includendo il testo appropriato come valore letterale all'interno dell'istruzione SELECT .

Non è possibile recuperare le password esistenti, quindi è necessario implementare uno schema per allocare nuove password iniziali in Azure Synapse.

Permissions

Suggerimento

Esistono autorizzazioni equivalenti di Azure Synapse per operazioni di database di base, ad esempio DML e DDL.

In un sistema Netezza la tabella _t_usrobj_priv di sistema contiene i diritti di accesso per utenti e ruoli. Eseguire una query su queste tabelle (se l'utente ha SELECT accesso a tali tabelle) per ottenere gli elenchi correnti dei diritti di accesso definiti all'interno del sistema.

In Netezza le singole autorizzazioni vengono rappresentate come singoli bit all'interno di privilegi di campo o g_privileges. Vedere l'istruzione SQL di esempio nelle autorizzazioni del gruppo di utenti

Il modo più semplice per ottenere uno script DDL che contiene i GRANT comandi per replicare i privilegi correnti per utenti e gruppi consiste nell'usare gli script di utilità Netezza appropriati:

--List of group privileges
nz_ddl_grant_group -usrobj dbname > output_file_dbname;

--List of user privileges
nz_ddl_grant_user -usrobj dbname > output_file_dbname;

Il file di output può essere modificato per produrre uno script che è una serie di GRANT istruzioni per Azure Synapse.

Netezza supporta due classi di diritti di accesso, Admin e Object. Per un elenco dei diritti di accesso di Netezza e dell'equivalente in Azure Synapse, vedere le tabelle seguenti.

Privilegi di amministratore Descrzione Equivalente ad Azure Synapse
Backup Consente all'utente di creare backup. L'utente può eseguire i backup. L'utente può eseguire il comando nzbackup. 1
[Create] Aggregare Consente all'utente di creare aggregazioni definite dall'utente. L'autorizzazione per operare su UDA esistenti è controllata dai privilegi di oggetto. CREA FUNZIONE 3
[Crea] Database Consente all'utente di creare database. L'autorizzazione per operare sui database esistenti è controllata dai privilegi oggetto. CREA DATABASE
[Crea] Tabella esterna Consente all'utente di creare tabelle esterne. L'autorizzazione per operare su tabelle esistenti è controllata dai privilegi oggetto. CREATE TABLE
[Crea] Funzione Consente all'utente di creare funzioni definite dall'utente . L'autorizzazione per operare su funzioni definite dall'utente esistenti è controllata dai privilegi oggetto. CREATE FUNCTION
[Crea] Gruppo Consente all'utente di creare gruppi. L'autorizzazione per operare su gruppi esistenti è controllata dai privilegi oggetto. CREARE RUOLO
[Crea] Indice Solo per l'utilizzo di sistema. Gli utenti non possono creare indici. CREATE INDEX
[Crea] Libreria Consente all'utente di creare librerie condivise. L'autorizzazione per operare sulle librerie condivise esistenti è controllata dai privilegi di oggetto. 1
[Crea] Visualizzazione materializzata Consente all'utente di creare viste materializzate. CREA VISTA
[Crea] Procedura Consente all'utente di creare procedure memorizzate. L'autorizzazione per operare sulle stored procedure esistenti è controllata dai privilegi oggetto. CREATE PROCEDURE
[Crea] Schema Consente all'utente di creare schemi. L'autorizzazione per operare su schemi esistenti è controllata dai privilegi oggetto. CREATE SCHEMA
[Crea] Sequenza Consente all'utente di creare sequenze di database. 1
[Crea] Sinonimo Consente all'utente di creare sinonimi. CREA SINONIMO
[Crea] Tabella Consente all'utente di creare tabelle. L'autorizzazione per operare su tabelle esistenti è controllata dai privilegi oggetto. CREATE TABLE
[Crea] Tabella temporanea Consente all'utente di creare tabelle temporanee. L'autorizzazione per operare su tabelle esistenti è controllata dai privilegi oggetto. CREATE TABLE
[Crea] Utente Consente all'utente di creare utenti. L'autorizzazione per operare su utenti esistenti è controllata dai privilegi oggetto. CREA UTENTE
[Crea] Mostra Consente all'utente di creare visualizzazioni. L'autorizzazione per operare su viste esistenti è controllata dai privilegi oggetto. CREA VISTA
[Gestire l'hardware Consente all'utente di eseguire le operazioni correlate all'hardware seguenti: visualizzare lo stato dell'hardware, gestire le CPU, gestire la topologia e il mirroring ed eseguire test di diagnostica. L'utente può eseguire questi comandi: nzhw e nzds. 4
[Gestire la sicurezza Consente all'utente di eseguire comandi e operazioni correlate alle opzioni di sicurezza avanzate seguenti, ad esempio: gestione e configurazione di database della cronologia, gestione di oggetti di sicurezza a più livelli e specifica della sicurezza per utenti e gruppi, gestione di archivi chiavi e chiavi del database per la firma digitale dei dati di controllo. 4
[Gestisci sistema Consente all'utente di eseguire le operazioni di gestione seguenti: avvio/arresto/sospensione/ripresa del sistema, interruzione sessioni, visualizzazione della mappa di distribuzione, statistiche di sistema e log. L'utente può usare questi comandi: nzsystem, nzstate, nzstats e nzsession. 4
Ripristina Consente all'utente di ripristinare il sistema. L'utente può eseguire il comando nzrestore. 2
Rimuovere l'intervallo Consente all'utente di creare o modificare una funzione definita dall'utente o un aggregato da eseguire in modalità non delimitata. 1
Annullamento dei privilegi dell'oggetto Descrzione Equivalente ad Azure Synapse
Interrompi Consente all'utente di interrompere le sessioni. Si applica a gruppi e utenti. KILL DATABASE CONNECTION
Alter Consente all'utente di modificare gli attributi dell'oggetto. Si applica a tutti gli oggetti. ALTER
Delete Consente all'utente di eliminare righe di tabella. Si applica solo alle tabelle. DELETE
Drop Consente all'utente di eliminare oggetti. Si applica a tutti i tipi di oggetto. DROP
Execute Consente all'utente di eseguire funzioni definite dall'utente, aggregati definiti dall'utente, o procedure memorizzate. EXECUTE
GenStats Consente all'utente di generare statistiche su tabelle o database. L'utente può eseguire il comando GENERATE STATISTICS. 2
Sposo Consente all'utente di recuperare spazio su disco per le righe eliminate o obsolete e riorganizzare una tabella in base alle chiavi organizzative o di eseguire la migrazione dei dati per le tabelle con più versioni archiviate. 2
Inserire Consente all'utente di inserire righe in una tabella. Si applica solo alle tabelle. INSERT
Elenco Consente all'utente di visualizzare un nome di oggetto, in un elenco o in un altro modo. Si applica a tutti gli oggetti. ELENCO
Seleziona Consente all'utente di selezionare (o eseguire query) righe all'interno di una tabella. Si applica a tabelle e viste. SELECT
Truncate Consente all'utente di eliminare tutte le righe da una tabella. Si applica solo alle tabelle. TRUNCATE
Update Consente all'utente di modificare le righe della tabella. Si applica solo alle tabelle. AGGIORNAMENTO

Note tabella:

  1. Non esiste un equivalente diretto a questa funzione in Azure Synapse.

  2. Queste funzioni Netezza vengono gestite automaticamente in Azure Synapse.

  3. La funzionalità azure Synapse CREATE FUNCTION incorpora la funzionalità di aggregazione Netezza.

  4. Queste funzionalità vengono gestite automaticamente dal sistema o tramite il portale di Azure in Azure Synapse. Vedere la sezione successiva sulle considerazioni operative.

Fare riferimento alle autorizzazioni di sicurezza di Azure Synapse Analytics.

Considerazioni operative

Suggerimento

Le attività operative sono necessarie per mantenere efficiente il funzionamento di qualsiasi data warehouse.

Questa sezione illustra come implementare attività operative di Netezza tipiche in Azure Synapse con un rischio minimo e un impatto sugli utenti.

Come per tutti i prodotti del data warehouse, una volta in produzione sono necessarie attività di gestione in corso per mantenere il sistema in esecuzione in modo efficiente e fornire dati per il monitoraggio e il controllo. Anche l'utilizzo delle risorse e la pianificazione della capacità per una crescita futura rientrano in questa categoria, in quanto esegue il backup/ripristino dei dati.

Le attività di amministrazione di Netezza in genere rientrano in due categorie:

  • Amministrazione del sistema, che gestisce l'hardware, le impostazioni di configurazione, lo stato del sistema, l'accesso, lo spazio su disco, l'utilizzo, gli aggiornamenti e altre attività.

  • Amministrazione del database, che gestisce i database utente e il relativo contenuto, carica i dati, esegue il backup dei dati, ripristina i dati e controlla l'accesso ai dati e alle autorizzazioni.

IBM Netezza offre diversi modi o interfacce che è possibile usare per eseguire le varie attività di gestione del sistema e del database:

  • I comandi Netezza (nz*) vengono installati nella directory /nz/kit/bin sull'host Netezza. Per molti dei comandi, è necessario essere in grado di nz* accedere al sistema Netezza per accedere ed eseguire tali comandi. Nella maggior parte dei casi, gli utenti accedono come account utente predefinito nz , ma è possibile creare altri account utente Linux nel sistema. Alcuni comandi richiedono di specificare un account utente del database, una password e un database per assicurarsi di disporre delle autorizzazioni necessarie per eseguire l'attività.

  • Il kit client dell'interfaccia della riga di comando di Netezza crea un sottoinsieme dei nz* comandi che possono essere eseguiti dai sistemi client Windows e UNIX. I comandi client possono anche richiedere di specificare un account utente del database, una password e un database per assicurarsi di disporre delle autorizzazioni amministrative e degli oggetti del database per eseguire l'attività.

  • I comandi SQL supportano attività di amministrazione e query all'interno di una sessione del database SQL. È possibile eseguire i comandi SQL dall'interprete dei comandi netezza nzsql o tramite API SQL, ad esempio ODBC, JDBC e il provider OLE DB. È necessario disporre di un account utente del database per eseguire i comandi SQL con le autorizzazioni appropriate per le query e le attività eseguite.

  • Lo strumento NzAdmin è un'interfaccia Netezza che viene eseguita nelle workstation client Windows per gestire i sistemi Netezza.

Anche se concettualmente le attività di gestione e operazioni per data warehouse diversi sono simili, le singole implementazioni possono differire. In generale, i moderni prodotti basati sul cloud, ad esempio Azure Synapse, tendono a incorporare un approccio più automatizzato e "gestito dal sistema" (anziché un approccio più "manuale" nei data warehouse legacy, ad esempio Netezza).

Le sezioni seguenti confrontano le opzioni di Netezza e Azure Synapse per varie attività operative.

Attività di manutenzione

Suggerimento

Le attività di manutenzione mantengono un magazzino di produzione in modo efficiente e ottimizzano l'uso di risorse come lo spazio di archiviazione.

Nella maggior parte degli ambienti di data warehouse legacy, le normali attività di "manutenzione" richiedono molto tempo. Recuperare spazio di archiviazione su disco rimuovendo le versioni precedenti di righe aggiornate o eliminate o riorganizzando dati, file di log o blocchi di indice per l'efficienza (GROOM e VACUUM in Netezza). La raccolta delle statistiche è anche un'attività potenzialmente dispendiosa in termini di tempo, necessaria dopo un inserimento di dati in blocco per fornire a Query Optimizer dati up-to-date in cui basare i piani di esecuzione delle query.

Netezza consiglia di raccogliere statistiche nel modo seguente:

  • Raccogliere statistiche sulle tabelle non popolate per configurare l'istogramma a intervalli usato nei processi interni. Questa raccolta iniziale rende più veloci le raccolte statistiche successive. Assicurarsi di raccogliere nuovamente le statistiche dopo l'aggiunta dei dati.

  • Raccogliere le statistiche sulle fasi del prototipo per le tabelle appena popolate.

  • Raccogliere statistiche sulle fasi di produzione dopo una percentuale significativa di modifica alla tabella o alla partizione (circa 10% di righe). Per volumi elevati di valori non univoci, ad esempio date o timestamp, può essere vantaggioso raccogliere nuovamente al 7%.

  • Raccogliere le statistiche sulla fase di produzione dopo aver creato gli utenti e aver applicato carichi di query reali al database, per un periodo di circa tre mesi di interrogazioni.

  • Raccogliere statistiche nelle prime settimane dopo un aggiornamento o una migrazione durante i periodi di basso utilizzo della CPU.

Il database Netezza contiene molte tabelle di log nel dizionario dati che accumulano dati, automaticamente o dopo l'abilitazione di determinate funzionalità. Poiché i dati di log aumentano nel tempo, eliminare le informazioni meno recenti per evitare di usare spazio permanente. Sono disponibili opzioni per automatizzare la manutenzione di questi log.

Suggerimento

Automatizzare e monitorare le attività di manutenzione in Azure.

Azure Synapse offre un'opzione per creare automaticamente le statistiche in modo che possano essere usate in base alle esigenze. Eseguire manualmente la deframmentazione di indici e blocchi di dati, in base a una pianificazione o automaticamente. L'uso delle funzionalità predefinite native di Azure può ridurre il lavoro richiesto in un esercizio di migrazione.

Monitoraggio e controllo

Suggerimento

Netezza Performance Portal è il metodo consigliato per il monitoraggio e la registrazione per i sistemi Netezza.

Netezza fornisce il portale delle prestazioni di Netezza per monitorare vari aspetti di uno o più sistemi Netezza, tra cui attività, prestazioni, accodamento e utilizzo delle risorse. Netezza Performance Portal è un'interfaccia utente grafica interattiva che consente agli utenti di eseguire il drill-down in dettagli di basso livello per qualsiasi grafico.

Suggerimento

Il portale di Azure offre un'interfaccia utente per gestire le attività di monitoraggio e controllo per tutti i dati e i processi di Azure.

Analogamente, Azure Synapse offre un'esperienza di monitoraggio avanzata all'interno del portale di Azure per fornire informazioni dettagliate sul carico di lavoro del data warehouse. Il portale di Azure è lo strumento consigliato per il monitoraggio del data warehouse perché fornisce periodi di conservazione configurabili, avvisi, raccomandazioni e grafici e dashboard personalizzabili per metriche e log.

Il portale consente anche l'integrazione con altri servizi di monitoraggio di Azure, ad esempio Operations Management Suite (OMS) e Monitoraggio di Azure (log) per offrire un'esperienza di monitoraggio olistica non solo per il data warehouse, ma anche per l'intera piattaforma di analisi di Azure per un'esperienza di monitoraggio integrata.

Suggerimento

Le metriche di basso livello e a livello di sistema vengono registrate automaticamente in Azure Synapse.

Le statistiche di utilizzo delle risorse per Azure Synapse vengono registrate automaticamente all'interno del sistema. Le metriche per ogni query includono statistiche di utilizzo per CPU, memoria, cache, I/O e area di lavoro temporanea, nonché informazioni di connettività come i tentativi di connessione non riusciti.

Azure Synapse offre un set di dmv (Dynamic Management Views ). Queste visualizzazioni sono utili per la risoluzione attiva dei problemi e l'identificazione delle strozzature di prestazioni del carico di lavoro.

Per altre informazioni, vedere le opzioni per la gestione e le operazioni di Azure Synapse.

Disponibilità elevata e ripristino di emergenza

Le appliance Netezza sono sistemi ridondanti, a tolleranza di errore e sono disponibili diverse opzioni in un sistema Netezza per abilitare la disponibilità elevata e il ripristino di emergenza.

L'aggiunta di IBM Netezza Replication Services per il ripristino di emergenza migliora la tolleranza di errore estendendo la ridondanza tra reti locali e di area estesa.

IBM Netezza Replication Services protegge dalla perdita di dati sincronizzando i dati in un sistema primario (il nodo primario) con i dati in uno o più nodi di destinazione (subordinati). Questi nodi costituiscono un set di replica.

High-Availability Linux (detto anche Linux-HA) fornisce le funzionalità di failover da un host Netezza primario o attivo a un host Netezza secondario o standby. Il daemon di gestione del cluster principale nella soluzione Linux-HA è denominato Heartbeat. Heartbeat controlla gli host e gestisce i controlli di comunicazione e stato dei servizi.

Ogni servizio è una risorsa.

Netezza raggruppa i servizi specifici di Netezza nel gruppo di risorse nps. Quando Heartbeat rileva problemi che implicano una condizione di errore dell'host o una perdita di servizio per gli utenti di Netezza, Heartbeat può avviare un failover nell'host di standby.

Distributed Replicated Block Device (DRBD) è un driver di dispositivo a blocchi che rispecchia il contenuto dei dispositivi in blocchi (dischi rigidi, partizioni e volumi logici) tra gli host. Netezza usa la replica DRBD solo nelle partizioni /nz e /export/home . Man mano che i nuovi dati vengono scritti nella partizione /nz e nella partizione /export/home nell'host primario, il software DRBD apporta automaticamente le stesse modifiche alla partizione /nz e /export/home dell'host di standby.

Suggerimento

Azure Synapse crea automaticamente snapshot per garantire tempi di ripristino rapidi.

Azure Synapse usa gli snapshot del database per offrire disponibilità elevata del warehouse. Uno snapshot del data warehouse crea un punto di ripristino che può essere usato per ripristinare o copiare un data warehouse in uno stato precedente. Poiché Azure Synapse è un sistema distribuito, uno snapshot del data warehouse è costituito da molti file presenti in Archiviazione di Azure. Gli snapshot acquisiscono le modifiche incrementali dai dati archiviati nel data warehouse.

Suggerimento

Usare snapshot definiti dall'utente per definire un punto di ripristino prima degli aggiornamenti delle chiavi.

Suggerimento

Microsoft Azure offre backup automatici in una posizione geografica separata per abilitare il ripristino di emergenza.

Azure Synapse crea automaticamente snapshot durante il giorno, creando punti di ripristino disponibili per sette giorni. Non è possibile modificare questo periodo di conservazione. Azure Synapse supporta un obiettivo del punto di ripristino (RPO) di otto ore. Un data warehouse può essere ripristinato nell'area primaria da uno degli snapshot creati negli ultimi sette giorni.

Sono supportati anche i punti di ripristino definiti dall'utente, consentendo l'attivazione manuale degli snapshot per creare punti di ripristino di un data warehouse prima e dopo modifiche di grandi dimensioni. Questa funzionalità garantisce che i punti di ripristino siano coerenti logicamente, garantendo una protezione dei dati aggiuntiva in caso di interruzioni del carico di lavoro o errori dell'utente per un RPO desiderato inferiore a 8 ore.

Oltre agli snapshot descritti in precedenza, Azure Synapse esegue anche come backup geografico standard una volta al giorno in un data center associato. L'obiettivo del punto di ripristino per un ripristino geografico è di 24 ore. È possibile ripristinare il backup geografico in un server in qualsiasi altra area in cui è supportato Azure Synapse. Un backup geografico garantisce che un data warehouse possa essere ripristinato nel caso in cui i punti di ripristino nell'area primaria non siano disponibili.

Gestione dei carichi di lavoro

Suggerimento

In un data warehouse di produzione sono in genere presenti carichi di lavoro misti con diverse caratteristiche di utilizzo delle risorse in esecuzione simultaneamente.

Netezza incorpora varie funzionalità per la gestione dei carichi di lavoro:

Tecnica Descrzione
Regole del pianificatore Le regole dell'utilità di pianificazione influenzano la programmazione dei programmi. Ogni regola del pianificatore specifica una condizione o un insieme di condizioni. Ogni volta che il pianificatore riceve un piano, valuta tutte le regole di pianificazione modificanti ed esegue le azioni appropriate. Ogni volta che il pianificatore seleziona un piano per l'esecuzione, valuta tutte le regole di limitazione del pianificatore. Il piano viene eseguito solo se ciò non supererebbe un limite imposto da una regola di limitazione del pianificatore. In caso contrario, il piano attende. In questo modo è possibile classificare e modificare i piani in modo da influenzare le altre tecniche WLM (SQB, GRA e PQE).
Allocazione di risorse garantita È possibile assegnare una condivisione minima e una percentuale massima di risorse di sistema totali alle entità denominate gruppi di risorse. L'utilità di pianificazione garantisce che ogni gruppo di risorse riceva le risorse di sistema in proporzione alla sua quota minima. Un gruppo di risorse riceve una quota maggiore di risorse quando altri gruppi di risorse sono inattive, ma non riceve mai più della percentuale massima configurata. Ogni piano è associato a un gruppo di risorse e le impostazioni di tale gruppo di risorse determinano quale frazione delle risorse di sistema disponibili devono essere rese disponibili per elaborare il piano.
Distorsione di query corta (SQB) Le risorse di sistema (ovvero gli slot di pianificazione, la memoria e l'accodamento preferenziale) sono dedicate alle query brevi. Una query breve è una query per cui la stima dei costi è inferiore a un valore massimo specificato (il valore predefinito è due secondi). Con SQB, le query brevi possono essere eseguite anche quando il sistema sta elaborando altre query più lunghe.
Esecuzione di query con priorità (PQE) In base alle impostazioni configurate, il sistema assegna una priorità, critica, alta, normale o bassa, a ogni query. La priorità dipende da fattori quali l'utente, il gruppo o la sessione associati alla query. Il sistema può quindi usare la priorità come base per l'allocazione delle risorse.

Azure Synapse registra automaticamente le statistiche di utilizzo delle risorse. Le metriche includono statistiche di utilizzo per CPU, memoria, cache, I/O e area di lavoro temporanea per ogni query. Azure Synapse registra anche le informazioni di connettività, ad esempio i tentativi di connessione non riusciti.

Suggerimento

Le metriche di basso livello e di sistema vengono registrate automaticamente in Azure.

In Azure Synapse, le classi di risorse sono limiti di risorse predeterminati che regolano le risorse di calcolo e la concorrenza per l'esecuzione delle query. Le classi di risorse consentono di gestire il carico di lavoro impostando limiti sul numero di query eseguite simultaneamente e sulle risorse di calcolo assegnate a ogni query. È necessario trovare il giusto compromesso tra memoria e concorrenza.

Azure Synapse supporta questi concetti di base relativi alla gestione dei carichi di lavoro:

  • Classificazione del carico di lavoro: è possibile assegnare una richiesta a un gruppo di carichi di lavoro per impostare i livelli di importanza.

  • Importanza del carico di lavoro: è possibile influenzare l'ordine in una richiesta ottiene l'accesso alle risorse. Per impostazione predefinita, le query vengono rilasciate dalla coda in base al criterio first-in, first-out, man mano che le risorse diventano disponibili. L'importanza del carico di lavoro consente alle query con priorità più elevata di ricevere le risorse immediatamente, indipendentemente dalla coda.

  • Isolamento del carico di lavoro: è possibile riservare le risorse per un gruppo di carico di lavoro, assegnare un utilizzo massimo e minimo per varie risorse, limitare le risorse che un gruppo di richieste può utilizzare e impostare un valore di timeout per terminare automaticamente le query con eccessivo tempo di esecuzione.

L'esecuzione di carichi di lavoro misti può causare problemi di risorse nei sistemi sovraccarichi. Uno schema di gestione del carico di lavoro corretto consente una gestione efficace delle risorse, ne assicura un utilizzo altamente efficiente e ottimizza il ritorno sugli investimenti. La classificazione del carico di lavoro, l'importanza del carico di lavoro e l'isolamento del carico di lavoro offrono maggiore controllo sul modo in cui il carico di lavoro utilizza le risorse di sistema.

La guida alla gestione dei carichi di lavoro descrive le tecniche per analizzare il carico di lavoro, gestire e monitorare l'importanza del carico di lavoro](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) e i passaggi per convertire una classe di risorse in un gruppo di carichi di lavoro. Usare il portale di Azure e le query T-SQL in DMV per monitorare il carico di lavoro e garantire che le risorse applicabili vengano utilizzate in modo efficiente. Azure Synapse offre un set di DMV per il monitoraggio di tutti gli aspetti della gestione dei carichi di lavoro. Queste viste sono utili per la risoluzione dei problemi e l'identificazione dei colli di bottiglia nelle prestazioni del carico di lavoro.

Queste informazioni possono essere usate anche per la pianificazione della capacità, determinando le risorse necessarie per altri utenti o carichi di lavoro dell'applicazione. Questo vale anche per la pianificazione di aumento/riduzione della scala delle risorse di calcolo per il supporto efficiente in termini di costi dei carichi di lavoro irregolari, come quelli caratterizzati da picchi temporanei e intensi di attività, intervallati da periodi di attività poco frequenti.

Per altre informazioni sulla gestione dei carichi di lavoro in Azure Synapse, vedere Gestione del carico di lavoro con le classi di risorse.

Ridimensionare le prestazioni

Suggerimento

Un vantaggio importante di Azure consiste nella possibilità di aumentare e ridurre in modo indipendente le risorse di calcolo su richiesta per gestire i carichi di lavoro di picco in modo economicamente più conveniente.

L'architettura di Azure Synapse separa l'archiviazione e il calcolo, consentendo di ridimensionare ognuno in modo indipendente. Di conseguenza, è possibile ridimensionare le risorse di calcolo per soddisfare i requisiti di prestazioni indipendentemente dall'archiviazione dei dati. È anche possibile sospendere e riprendere le risorse di calcolo. Un vantaggio naturale di questa architettura è che la fatturazione per calcolo e archiviazione è separata. Se un data warehouse non è in uso, è possibile risparmiare sui costi di calcolo sospendendo il calcolo.

Le risorse di calcolo possono essere aumentate o ridotte modificando l'impostazione delle unità data warehouse. Il caricamento e le prestazioni delle query aumentano in modo lineare man mano che si aggiungono altre unità data warehouse.

L'aggiunta di più nodi di calcolo aggiunge maggiore potenza di calcolo e possibilità di sfruttare un maggior numero di elaborazione parallela. Man mano che aumenta il numero di nodi di calcolo, il numero di distribuzioni per ogni nodo di calcolo diminuisce, offrendo maggiore potenza di calcolo e elaborazione parallela per le query. Analogamente, la riduzione delle unità data warehouse riduce il numero di nodi di calcolo, riducendo così le risorse di calcolo per le query.

Passaggi successivi

Per altre informazioni sulla visualizzazione e la creazione di report, vedere l'articolo successivo di questa serie: Visualizzazione e creazione di report per le migrazioni di Netezza.