Condividi tramite


Progettazione di applicazioni per l'utilizzo di federazioni di server di database

Tramite le viste partizionate distribuite aggiornabili è possibile distribuire l'elaborazione del carico di lavoro del database di siti Web di grandi dimensioni e a più livelli tra gruppi di server SQL Server 2005. Ogni server viene amministrato in modo indipendente, mentre le istanze di SQL Server 2005 di ogni server utilizzano le viste partizionate distribuite per la ripartizione del lavoro. Il gruppo di server autonomi tra cui viene distribuito il lavoro è definito federazione.

Per creare le federazioni di server database, è necessario creare database in ogni server e quindi partizionare le tabelle nei database. Tutte le tabelle originali di ogni server membro vengono suddivise in tabelle membro, ognuna delle quali include un subset di righe della tabella originale, che viene partizionata orizzontalmente nelle tabelle membro. Durante la fase di progettazione di una federazione di server di database, partizionare le tabelle in modo che tutti i dati correlati siano assegnati al medesimo server membro.

Uno dei risultati del partizionamento delle tabelle in una federazione di server database è un set di regole per il routing dei dati. Le applicazioni possono confrontare una parte dei dati dedotti dalle richieste degli utenti con le regole per il routing dei dati. In questo modo sono in grado di stabilire quale server membro contiene il maggior numero di dati richiesti dalle istruzioni SQL che è necessario generare per soddisfare la richiesta dell'utente. Per ulteriori informazioni, vedere Progettazione di federazioni di server database.

Nelle architetture a più livelli, i sistemi vengono implementati nei livelli seguenti:

  • Livello dei servizi utente. Un set di thin client addetti alla gestione dell'interfaccia utente. Il livello dei servizi utente richiama il livello successivo per l'esecuzione delle funzionalità business necessarie per supportare le richieste dell'utente.

  • Livello dei servizi business. Un set di componenti COM+ che incapsula la logica di business dell'organizzazione. Il livello dei servizi business utilizza il livello successivo per tutte le operazioni di archiviazione permanente dei dati.

  • Livello dei servizi dati. Set di componenti, quali i database di SQL Server, che consentono l'archiviazione di dati in un supporto permanente. Questa operazione è inoltre denominata persistenza dei dati.

Il livello dei servizi business è progettato come un set di componenti COM+ per server di applicazioni. Ciò consente a Bilanciamento del carico di rete di Microsoft Windows di distribuire in modo uniforme le richieste dell'utente nel livello business. Poiché le richieste dell'utente possono essere elaborate da qualsiasi server applicazioni, i componenti business devono prevedere un sistema che consenta di eseguire il routing delle istruzioni SQL generate dai componenti stessi al server membro appropriato. Per determinare quale server membro deve elaborare la richiesta, i componenti business devono essere in grado di confrontare parte delle informazioni contenute nei dati inviati dal client con le regole per il routing dei dati.

Un sistema flessibile per implementare il routing dei dati nel livello dei servizi business consiste nell'archiviare le regole di routing in un archivio permanente, ad esempio SQL Server 2005 o Windows Active Directory, e impostare il recupero dei dati da parte dei componenti business in fase di esecuzione. È possibile progettare un componente COM+ in modo che esegua il confronto delle chiavi con le regole di routing per determinare quale server membro è in grado di elaborare la query nel modo più efficiente. Tale componente può quindi essere chiamato da un altro componente COM+ del livello dei servizi business che deve accedere ai dati partizionati. Ad esempio, nel caso di un sistema che accede a dati sui clienti partizionati rispetto all'ID cliente, è possibile:

  • Creare una tabella di regole di routing in cui sono registrate le chiavi gestite in ogni server membro.

  • Creare un componente business per il routing dei dati che accetta come input un valore chiave o i valori iniziali e finali di un intervallo di valori chiave. In questo modo, il componente COM+ legge la tabella delle regole di routing, confronta la chiave o gli intervalli di chiavi di input con gli intervalli di chiavi registrati per ogni server membro e restituisce quindi il nome del server membro che meglio corrisponde all'applicazione o al componente di chiamata.

  • Progettare le applicazioni o i componenti generali del livello dei servizi business in modo che chiamino sempre il componente di routing dei dati durante l'esecuzione di un'istruzione SQL che fa riferimento alla vista partizionata. Il componente business seleziona la connessione di database in cui eseguire l'istruzione SQL in base al nome del server restituito dal componente di routing dei dati.

Tale metodo non richiede alcuna modifica a livello del codice dell'applicazione se si modifica il partizionamento dei dati. Le regole per il routing dei dati possono essere modificate mentre le applicazioni sono in esecuzione.

Vedere anche

Concetti