Multitenancy e database SQL di Azure

Le soluzioni multi-tenant in Azure usano in genere database SQL di Azure. Questo articolo illustra le principali funzionalità del database SQL che supportano la progettazione di sistemi multi-tenant. Fornisce anche indicazioni ed esempi per implementare Azure SQL in una soluzione multi-tenant.

Indicazioni

Il team del database SQL pubblica linee guida complete per implementare architetture multi-tenant usando il database SQL. Per altre informazioni, vedere Modelli di tenancy di database SaaS (Software as a Service) multi-tenant e database SQL di partizione.

Funzionalità del database SQL che supportano la multi-tenancy

Il database SQL include molte funzionalità che supportano la multi-tenancy.

Pool di elasticità

I pool elastici supportano la condivisione delle risorse di calcolo tra più database nello stesso server. Usando i pool elastici, è possibile ottenere l'elasticità delle prestazioni per ogni database. È anche possibile ottimizzare l'efficienza dei costi condividendo le risorse di cui è stato effettuato il provisioning tra più database. I pool elastici offrono protezioni predefinite contro il problema del vicino rumoroso.

I pool elastici Hyperscale estendono il modello di pool elastico al livello di servizio Hyperscale. È possibile ospitare molti database tenant in un singolo pool Hyperscale e ridimensionare le risorse di calcolo condivise indipendentemente dalle dimensioni dei dati per tenant. I pool Hyperscale supportano anche limiti di archiviazione più elevati per ogni database rispetto ad altri livelli di pool elastici. Usare pool Hyperscale quando i singoli database tenant superano i limiti di archiviazione dei pool non Hyperscale. È possibile aggiungere pool di repliche con scalabilità in lettura per eseguire l'offload dei carichi di lavoro di lettura tra tenant.

Per altre informazioni, vedere le risorse seguenti:

Strumenti di database elastici

È possibile usare il modello di partizionamento orizzontale per ridimensionare il carico di lavoro in più database. Il database SQL fornisce strumenti per supportare il partizionamento orizzontale. Questi strumenti includono la gestione delle mappe partizioni, che fungono da database che tengono traccia dei tenant assegnati a ogni partizione. Questi strumenti includono anche la possibilità di avviare e tenere traccia delle query e delle operazioni di gestione su più partizioni usando processi elastici.

Per altre informazioni, vedere le risorse seguenti:

Sicurezza a livello di riga

La sicurezza a livello di riga consente di applicare l'isolamento a livello di tenant nelle tabelle condivise. Per altre informazioni, vedere Implementazione della sicurezza a livello di riga in Azure SQL.

Gestione delle chiavi

La funzionalità Always Encrypted fornisce la crittografia end-to-end per i database. Se i tenant devono fornire le proprie chiavi di crittografia, provare a distribuire database separati per ogni tenant e attivare Always Encrypted in tali database.

Collaboratori

Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.

Autori principali:

  • Paul Burpo | Ingegnere Principale per i Clienti, FastTrack per Azure
  • John Downs | Ingegnere Software Principale, Azure Principi e Pratiche

Altri contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi