Creazione di database cloud scalabiliBuilding scalable cloud databases

La scalabilità orizzontale dei database può essere ottenuta facilmente con gli strumenti e le funzionalità scalabili per il database SQL di Azure.Scaling out databases can be easily accomplished using scalable tools and features for Azure SQL Database. In particolare, è possibile usare la libreria client dei database elastici per creare e gestire i database con scalabilità orizzontale.In particular, you can use the Elastic Database client library to create and manage scaled-out databases. Questa funzionalità consente di sviluppare con facilità applicazioni partizionate usando centinaia o anche migliaia di database SQL Azure.This feature lets you easily develop sharded applications using hundreds—or even thousands—of Azure SQL databases. processi elastici possono quindi essere usati per facilitare la gestione di questi database.Elastic jobs can then be used to help ease management of these databases.

Per eseguire il download:To download:

DocumentazioneDocumentation

  1. Iniziare a utilizzare gli strumenti di database elasticiGet started with Elastic Database tools
  2. Funzionalità di database elasticoElastic Database features
  3. Gestione mappe partizioniShard map management
  4. Eseguire la migrazione dei database esistenti per ottenere scalabilità orizzontaleMigrate existing databases to scale out
  5. Routing dipendente dei datiData dependent routing
  6. Query su più partizioniMulti-shard queries
  7. Aggiunta di una partizione utilizzando gli strumenti di database elasticiAdding a shard using Elastic Database tools
  8. Applicazioni multi-tenant con strumenti di database elastici e sicurezza a livello di rigaMulti-tenant applications with elastic database tools and row-level security
  9. Aggiornare le app della libreria clientUpgrade client library apps
  10. Panoramica sulle query di database elasticoElastic queries overview
  11. Glossario sugli strumenti di database elasticiElastic database tools glossary
  12. Libreria client dei database elastici con Entity FrameworkElastic Database client library with Entity Framework
  13. Uso della libreria client dei database elastici con DapperElastic database client library with Dapper
  14. Strumento di divisione-unioneSplit-merge tool
  15. Contatori delle prestazioni per Gestore mappe partizioniPerformance counters for shard map manager
  16. Domande frequenti sugli strumenti di database elasticiFAQ for Elastic database tools

Funzionalità clientClient capabilities

La gestione delle applicazioni con scalabilità orizzontale mediante il partizionamento orizzontale presenta sfide sia per gli sviluppatori che per gli amministratori.Scaling out applications using sharding presents challenges for both the developer as well as the administrator. La libreria client semplifica le attività di gestione, fornendo strumenti che consentono sia agli sviluppatori che agli amministratori di gestire più agevolmente i database con scalabilità orizzontale.The client library simplifies the management tasks by providing tools that let both developers and administrators manage scaled-out databases. In un esempio tipico, è necessario gestire molti database, detti anche "partizioni".In a typical example, there are many databases, known as "shards," to manage. I clienti si trovano nello stesso database ed è disponibile un database per cliente (modello single-tenant).Customers are co-located in the same database, and there is one database per customer (a single-tenant scheme). La libreria client include le seguenti funzionalità:The client library includes these features:

  • Gestione mappe partizioni: viene creato un database speciale denominato "gestore mappe partizioni".Shard Map Management: A special database called the "shard map manager" is created. La gestione delle mappe partizioni è la possibilità per un'applicazione di gestire metadati nelle proprie partizioni.Shard map management is the ability for an application to manage metadata about its shards. Gli sviluppatori possono usare questa funzionalità per registrare i database come partizioni, descrivere i mapping di singole chiavi di partizionamento orizzontale o di intervalli di chiavi per i database, nonché gestire i metadati man mano che il numero e la composizione dei database si evolve, per rispecchiare le modifiche apportate alla capacità.Developers can use this functionality to register databases as shards, describe mappings of individual sharding keys or key ranges to those databases, and maintain this metadata as the number and composition of databases evolves to reflect capacity changes. Senza la libreria client dei database elastici, è necessario dedicare molto tempo alla scrittura di codice di gestione durante l'implementazione del partizionamento orizzontale.Without the elastic database client library, you would need to spend a lot of time writing the management code when implementing sharding. Per informazioni dettagliate, vedere Gestione mappe partizioni.For details, see Shard map management.

  • Routing dipendente dai dati: immaginare una richiesta in arrivo nell'applicazione.Data dependent routing: Imagine a request coming into the application. L'applicazione individua il database corretto in base al valore della chiave di partizionamento orizzontale della richiesta.Based on the sharding key value of the request, the application needs to determine the correct database based on the key value. Quindi l'applicazione apre una connessione al database per elaborare la richiesta.It then opens a connection to the database to process the request. Il routing dipendente dai dati consente di aprire connessioni con una singola e semplice chiamata alla mappa partizioni dell'applicazione.Data dependent routing provides the ability to open connections with a single easy call into the shard map of the application. Il routing dipendente dai dati è un'altra area del codice dell'infrastruttura ora coperta dalle funzionalità della libreria client dei database elastici.Data dependent routing was another area of infrastructure code that is now covered by functionality in the elastic database client library. Per informazioni dettagliate, vedere Routing dipendente dai dati.For details, see Data dependent routing.

  • Query su più partizioni: l'esecuzione di query su più partizioni opera quando una richiesta include più partizioni o tutte le partizioni.Multi-shard queries (MSQ): Multi-shard querying works when a request involves several (or all) shards. Una query su più partizioni esegue lo stesso codice T-SQL in tutte le partizioni o in un set di partizioni.A multi-shard query executes the same T-SQL code on all shards or a set of shards. I risultati restituiti dalle partizioni coinvolte vengono uniti in un set di risultati complessivi mediante la semantica di UNION ALL.The results from the participating shards are merged into an overall result set using UNION ALL semantics. La funzionalità come viene esposta tramite la libreria client gestisce numerose attività, tra cui gestione delle connessioni, gestione dei thread, gestione degli errori ed elaborazione dei risultati intermedi.The functionality as exposed through the client library handles many tasks, including: connection management, thread management, fault handling, and intermediate results processing. e consente di eseguire query su centinaia di partizioni.MSQ can query up to hundreds of shards. Per informazioni dettagliate, vedere Esecuzione di query su più partizioni.For details, see Multi-shard querying.

In generale, i clienti che utilizzano gli strumenti dei database elastici quando inviano operazioni locali della partizione anziché operazioni tra più partizioni con la propria semantica, possono aspettarsi di ottenere funzionalità T-SQL complete.In general, customers using elastic database tools can expect to get full T-SQL functionality when submitting shard-local operations as opposed to cross-shard operations that have their own semantics.

Passaggi successiviNext steps

Risorse aggiuntiveAdditional resources

Se non si usano gli strumenti di database elastici,Not using elastic database tools yet? vedere la Guida introduttiva.Check out our Getting Started Guide. Se ci sono domande, è possibile visitare il forum sul database SQL mentre è possibile inserire le richieste di nuove funzionalità nel forum relativo a commenti e suggerimenti sul database SQL.For questions, please reach out to us on the SQL Database forum and for feature requests, please add them to the SQL Database feedback forum.