SQL Server 2005 il trattamento di dati massiccia



di grandi dimensioni del database è spesso centinaia di GB, e talvolta anche l'uso del calcolo TB. I dati di tabelle singole, spesso raggiungono milioni di record e registra il numero crescerà nel tempo. Questo non riguarda solo l'efficienza del database, manutenzione del database aumenta anche la difficoltà. Oltre alla quantità di dati della tabella, i modelli di accesso diversi sul tavolo può anche influire sulle prestazioni e la disponibilità. Questi problemi possono essere ragionevoli in una zona tabella di grandi dimensioni sono notevolmente migliorate. Quando le tabelle e gli indici diventano molto grandi, partizionare i dati possono essere suddivisi in più piccoli, le parti più gestibili per migliorare l'efficienza del sistema. Se ci sono CPU multiple o sottosistemi di dischi multipli, è possibile ottenere migliori prestazioni nelle operazioni parallele. Quindi, per partizionare il grande tavolo per trattare grandi quantità di dati un modo molto efficiente. In questo lavoro, un esempio concreto di come creare e modificare la tabella delle partizioni, e come visualizzare la tabella delle partizioni.

1, SQL Server 2005

SQL Server 2005 è il lancio di Microsoft di SQL Server 2000 dopo un intervallo di cinque anni dopo il lancio di una piattaforma di database, il suo motore di database relazionale per i dati e dati strutturati per fornire una capacità di storage più sicuro e affidabile, permette agli utenti di creare e gestire per imprese, elevata disponibilità e dati ad alta performance delle applicazioni. Inoltre, SQL Server 2005 combina le analisi, la comunicazione, integrazione e notifiche. Questo consente alle aziende di creare e distribuire soluzioni convenienti di BI per aiutare la squadra attraverso la scorecard, dashboard, i Web Services e applicazioni mobili di dati a tutte le aree di business. Entrambi gli sviluppatori, amministratori di database, i lavoratori di informazioni, decisori politici, SQL Server 2005 in grado di fornire soluzioni innovative e di guadagnare di più dai benefici dei dati.

Porta nuove funzionalità, come miglioramenti di T-SQL, partizione dati, gli agenti di servizio e con. Net Framework integrazione nella gestibilità, disponibilità, scalabilità e miglioramenti della sicurezza e altri aspetti .

2, tabella delle partizioni metodo di realizzazione

Partition Table diviso in partizioni orizzontali e la partizione verticale. Tabella delle partizioni orizzontali in più tabelle. Ogni tabella contiene lo stesso numero di colonne, ma un minor numero di righe. Ad esempio, un tavolo multi-miliardi-riga contenente il livello di partizione in 12 tavole, ognuna tavolino, ha detto un mese di dati all'interno di un dato anno. Ogni mese particolare di dati devono solo riferimento al mese corrispondente della tabella query. La partizione verticale succhiato oltre la tabella originale nella tabella contiene solo un minor numero di colonne. Zonizzazione livello distrettuale è il modo più comune per presentare questo al livello di realizzazione specifico quartiere.

partizione orizzontale comunemente usato metodo si basa sull'uso dei dati del periodo e il livello di partizione. Ad esempio, questo esempio invia un messaggio di log contiene l'anno più recente di dati, ma solo a visitare periodicamente questa dati di fine trimestre. In questo caso, considerare i dati in quattro regioni, ognuna contiene solo un quarto dei dati.

2.1, creare un gruppo di file

La creazione della tabella delle partizioni prima creare un gruppo di file e creare più gruppi di file è principalmente quello di ottenere una buona I / O equilibrio. In circostanze normali, il numero di file del miglior gruppo del numero stesso con il territorio, e questi gruppi sono usually trova in un file diverso per il disco. Ogni gruppo di file può costituire uno o più file, ogni partizione deve essere mappato a un gruppo di file. Un gruppo di file può essere utilizzato da più partizioni. Al fine di gestire meglio i dati (per esempio, di ottenere più controllo Jingque backup De), tabella delle partizioni diritto dovrebbe essere Jinxingsheji, i dati pertinenti o Yipianzhiyou logica Fenzu i dati Wei Yu con un gruppi di file. Utilizzare ALTER DATABASE, aggiungere il nome di un gruppo logico di file:

ALTER DATABASE] DeanDB [ADD filegroup [FG1]

DeanDB per il nome del database, FG1 nome di un gruppo di file. Creare un gruppo di file, quindi utilizzare ALTER DATABASE per aggiungere file al gruppo di file:

[ALTER DATABASE DeanDB] ADD FILE (NAME = N'FG1 ', FILENAME = N'C: DeanDataFG1.ndf', size = 3072KB, FILEGROWTH = 1024KB) TO filegroup [FG1]

L'istituzione di un analogo gruppo di quattro atti e documenti e per memorizzare i dati per ogni file sul disco diverso.

2.2, creare una funzione di partizione

funzione di partizione Creare tabella delle partizioni deve essere determinato meccanismo, la tabella delle partizioni standard è determinata dalla funzione di partizione. Creare una funzione di partizione dati è RANGE "SINISTRA | / DESTRA" due opzioni. A nome di ciascuna delle quali parte del valore limite parziale. Ad esempio ci sono quattro partizioni, allora la determinazione del valore di tre Valico, e specificare ogni valore is la prima partizione su il confine (sinistra) o uno seconda partizione del limite inferiore (destra). Codice:

CREATE PARTITION FUNCTION [SendSMSPF] (datetime) AS DIRITTO DI GAMMA VALUES ('20070401 ', '20070701', '20071001 ')

2.3, creare uno schema di partizione

funzione di partizione Crea, deve essere connessi con lo schema di partizionamento partizionare un documento che punta a un gruppo specifico. È di definire le immagazzinamento dei supporti di dati e la corrispondenza tra blocchi di dati. Tabella di dati multipli possono condividere la stessa funzione di partizione dati, in genere non condividono lo stesso schema di partizionamento dei dati. Con schema di partizionamento diverso, utilizzare la stessa funzione di partizione, le tabelle di dati differenti hanno le stesse condizioni geografiche, ma memorizzati in diversi media. Creare una partizione di codice del programma è il seguente:

[Crea partizione SCHEME SendSMSPS] AS [PARTITION SendSMSPF] a ([FG1], [FG2], [FG3], [FG4])

2.4, creare una tabella delle partizioni

La creazione di una funzione di partizione buona e schema di partizione, è possibile creare una tabella delle partizioni. Partition Table chiavi delle partizioni e la partizione con la definizione del programma associato. Inserire il disco, SQL SERVER chiave basato sulla partizione diversa, funzione di partizione è definita dai dati nella partizione appropriata. Così la funzione di partizione, schema di partizione della tabella delle partizioni e combinando le tre. Il codice per creare la tabella delle partizioni è il seguente:

CREATE TABLE SendSMSLog ([ID] [int] IDENTITY (1,1) NOT NULL, [IDNUM] [nvarchar] (50) NULL, [SendContent] [testo] null [SendDate] [datetime] NOT NULL) ON SendSMSPS ( SendDate)

2.5, visualizzare le informazioni di tabella delle partizioni

Sistema in funzione per un certo tempo o se i dati precedenti nella tabella delle partizioni, abbiamo bisogno di vedere le condizioni di conservazione dei dati esatti, cioè il numero di record per partizione di accesso, l'accesso a tali documenti, ecc in quella zona. $ Partition.SendSMSPF possiamo vedere, il codice è il seguente:

SELECT $ partition.SendSMSPF (o.SendDate) AS [Partition Number], min (o.SendDate) AS [Min SendDate], max (o.SendDate) AS [Max SendDate], count (*) AS [righe nella partizione] DA dbo.SendSMSLog AS oGROUP da $ partition.SendSMSPF (o.SendDate) ORDER BY [Partition Number]

In fase di attuazione dello script sopra in Query Analyzer, i risultati mostrati nella figura 1:






Figura 1: La tabella delle partizioni informazioni

2.6 Manutenzione Divisione

Manutenzione del principale quartiere nell'area di progettazione per aggiungere, ridurre, unire e convertire le partizioni. Con ALTER PARTITION FUNCTION opzione dividere, unire, e ALTER TABLE SWITCH possibilità di raggiungere. SPLIT aumenterà più di una zona, ma Megre unirà o ridurre la partizione, SWITCH è la conversione tra le partizioni logiche del gruppo.

3, di confronto della performance

I nostri dati su 26,5 milioni, circa il 4G spazio di memoria occupata, confrontando le prestazioni di IBM365 prova a tavolo singolo ambiente, CPU Xeon 2.7G * 2, la memoria, 16G, HDD 136g * 2, la piattaforma di sistema per Windows 2003 SP1 + SQL Server 2005 SP1 . I risultati in tabella 1:

Tabella 1: Confronto delle prestazioni della partizione e non tabella delle partizioni (unità: ms)

Test partizione voce non è partizione

11654661466

21.333

32014061546

41714061000

Descrizione:

1, secondo il tempo di un record giornalieri il tempo dedicato recupero

2, un singolo record nel tempo

3, a seconda del tempo un record giorni il tempo necessario per eliminare

record 4, il numero di volte statistico mensile

Come si può vedere dalla tabella 1, la tabella delle partizioni da utilizzare rispetto alla tabella delle partizioni non per essere veloce, questo è perché la tabella delle partizioni del funzionamento delle CPU utilizzate e di I / O per funzionamento in parallelo, per recuperare i dati in i dati sono cambiate poco, e il posizionamento più brevi i dati in termini di tempo.

4 Conclusione

Del trattamento di massa è stato un mal di testa. La tecnologia di separazione è la prima considerazione di tutti i progettisti, sia esso is la separazione della funzionalità dell'applicazione o un accesso di dati separati, se per essere uno piano ragionevole può essere una solution molto efficace for large tables dati ei costi di manutenzione di efficiency low tali problemi. SQL Server 2005 caratteristiche del tavolo nuova partizione, è possibile partizionare i dati è ragionevole, quando l'utente visita, quando una parte dei dati, motore SQL Optimization Server possono essere dati in base a Shiticunfang find il miglior programma di attuazione e pertanto non ago in uno pagliaio .