gran tamaño de la base de datos es a menudo cientos de GB, y en ocasiones incluso utilizan el cálculo de la TB. Los datos de una sola mesa a menudo llegan a millones de registros, y registra el número se irá ampliando con el tiempo. Esto no sólo afecta la eficiencia de la base de datos, mantenimiento de bases de datos también aumenta la dificultad. Además de la cantidad de datos de la tabla, los patrones de acceso diferentes en la tabla también pueden afectar al rendimiento y disponibilidad. Estos problemas pueden ser razonables en un área de gran mesa, tiene muchas mejores. Cuando las tablas e índices se hacen muy grandes, la partición de los datos se pueden dividir en partes más pequeñas, las piezas más manejables para mejorar la eficiencia del sistema. Si hay múltiples CPU o múltiples subsistemas de disco, puede obtener un mejor rendimiento en las operaciones paralelas. Por lo tanto, a la partición de la gran mesa para hacer frente a gran cantidad de datos de una manera muy eficiente. En este trabajo, un ejemplo concreto de cómo crear y modificar la tabla de particiones, y cómo ver la tabla de particiones.
1, SQL Server 2005
SQL Server 2005 es el lanzamiento de Microsoft de SQL Server 2000 después de un intervalo de cinco años después del lanzamiento de una plataforma de base de datos, su motor de base de datos relacional de datos y los datos estructurados para proporcionar una capacidad de almacenamiento más segura y fiable, permite a los usuarios crear y gestionar de negocio, alta disponibilidad y alto rendimiento de las aplicaciones de datos. Además, SQL Server 2005 combina el análisis, la presentación de informes, la integración, y las notificaciones. Esto permite a las empresas para construir y desplegar soluciones de BI rentables para ayudar al equipo a través de la tarjeta de puntuación, Dashboard, Servicios Web y aplicaciones de datos móviles a todas las áreas de negocio. Tanto los desarrolladores, administradores de bases de datos, trabajadores de la información, o los políticos, SQL Server 2005 puede proporcionar las soluciones innovadoras y de ganar más de los beneficios de los datos.
Trae nuevas características, tales como mejoras de T-SQL, la partición de datos, agentes de servicio y con. Net Framework de integración en la administración, la disponibilidad, la escalabilidad y mejoras de seguridad y otros aspectos .
2, la tabla de particiones realización método
Tabla de particiones dividido en particiones horizontales y verticales partición. Tabla de particiones horizontales en varias tablas. Cada tabla contiene el mismo número de columnas, pero menos filas. Por ejemplo, una mesa de miles de millones de fila que contiene el nivel de partición en 12 mesas, cada mesa pequeña, dijo que un mes de datos dentro de un año determinado. Cualquier mes en particular de los datos basta con respecto al mes correspondiente de la tabla de consulta. La partición vertical chupaba más de la tabla original en la tabla sólo contiene menos columnas. Zonificación a nivel de distrito es la forma más común de lo presentara en el grado de realización específicas del distrito.
Tabique horizontal de uso común método se basa en el uso del período de los datos y el nivel de partición. Por ejemplo, este ejemplo se envía un mensaje de registro contiene el año más reciente de los datos, pero sólo visitar periódicamente estos datos trimestre. En este caso, tenga en cuenta los datos en cuatro regiones, cada una contiene sólo una cuarta parte de los datos.
2,1, cree un grupo de archivos
La creación de la tabla de particiones primero cree un grupo de archivos, y crear varios grupos de archivos es principalmente para conseguir que buen equilibrio entre O. En general, el número de grupos de archivos el mejor y el mismo número de particiones, y estos grupos suelen estar ubicados en un archivo diferente en el disco. Cada grupo de archivos se pueden formar por uno o más archivos, cada partición debe ser asignado a un grupo de archivos. Un grupo de archivos puede ser utilizado por varias particiones. Con el fin de mejorar la gestión de datos (por ejemplo, copias de seguridad 为了 un control más preciso) en la tabla de particiones deben ser diseñados, de manera que sólo los datos pertinentes o lógico agrupar los datos es el mismo De un archivo de grupos. Utilice ALTER DATABASE, añada el nombre del archivo de grupo lógica:
ALTER DATABASE] DeanDB [AÑADIR FILEGROUP [FG1]
DeanDB para el nombre de base de datos, FG1 nombre del grupo de archivos. Crear un grupo de archivos, a continuación, utilice ALTER DATABASE para agregar archivos a el grupo de archivos:
[ALTER DATABASE DeanDB] ADD FILE (NAME = N'FG1 ', FILENAME = N'C: DeanDataFG1.ndf', SIZE = 3072KB, FILEGROWTH = 1024KB) A FILEGROUP [FG1]
El establecimiento de un grupo similar de cuatro papeles y documentos y para almacenar los datos de cada archivo en la unidad de disco diferente.
2.2, crear una función de partición
Crear partición tabla de función de partición se debe determinar mecanismo, la tabla de partición estándar de la función de partición está determinado por. Crear una función de partición de datos ha RANGO "IZQUIERDA | / DERECHA" dos opciones. En nombre de cada uno de ellos por debajo del valor límite en el local. Por ejemplo, hay cuatro particiones, entonces la definición del valor límite de tres puntos, y especificar cada valor es la primera partición en la frontera (izquierda) o una segunda partición del límite inferior (derecha). Código:
CREATE función de partición [SendSMSPF] (fecha y hora) COMO DERECHO GAMA DE VALORES ('20070401 ', '20070701', '20071001 ')
2,3, cree un esquema de partición
Crear la función de partición, que debe estar asociado con el esquema de partición para dividir un documento que apunta a un grupo específico. ¿Es para definir la real de almacenamiento de soportes de datos y la correspondencia entre bloques de datos. Múltiples tabla de datos puede compartir la función de los datos misma partición, por lo general no comparten el mismo esquema de partición de datos. Por esquema de particiones diferentes, utilice la función misma partición, las tablas de datos diferentes tienen el mismo las condiciones geográficas, sino que se almacenan en diferentes medios. Crear un código de programa de partición es el siguiente:
Crear una partición [RÉGIMEN SendSMSPS] AS [PARTICIÓN SendSMSPF] A ([FG1], [FG2], [FG3], [FG4])
2.4, crear una tabla de particiones
El establecimiento de una buena función de partición y el esquema de partición, puede crear una tabla de particiones. Partición de las claves de partición tabla de particiones y definiendo el programa asociado. Inserte el disco, SQL SERVER clave basada en la partición diferente, la función de partición es definida por los datos en la partición apropiada. Así, la función de partición, y el esquema de partición tabla de particiones mediante la combinación de los tres. El código para crear la tabla de particiones es el siguiente:
CREATE TABLE SendSMSLog ([ID] [int] IDENTIDAD (1,1) NOT NULL, [IDNUM] [nvarchar] (50) NULL, [SendContent texto] [] NULL [SendDate] [fecha y hora] NOT NULL,) ON SendSMSPS ( SendDate)
2.5, ver la información de la tabla de particiones
Sistema en funcionamiento durante algún tiempo o los datos anteriores en la tabla de particiones, hay que ver las condiciones específicas de almacenamiento de datos, es decir, el número de registros para cada distrito para acceder a los registros de acceso en esa zona y así sucesivamente. $ Partition.SendSMSPF podemos ver, el código es el siguiente:
SELECT $ partition.SendSMSPF (o.SendDate) AS [Partición] Número, min (o.SendDate) AS [Min SendDate], max (o.SendDate) AS [Max SendDate], conde (*) AS [filas en la partición] AS DE dbo.SendSMSLog oGROUP POR $ partition.SendSMSPF (o.SendDate) ORDER BY [número de partición]
En la ejecución de la secuencia de comandos en el Analizador de consultas, los resultados mostrados en la Figura 1:
Figura 1: La tabla de partición de información
2.6 División de Mantenimiento
Partición añadir el mantenimiento de la partición principal de diseño, reducir, fusionar y convertir particiones. En función de partición ALTER opción dividir, combinar, y ALTER TABLE opción Cambiar de lograr. SPLIT aumentará más de una zona, pero se fusionan se combinan o reducir la partición, SWITCH es la conversión entre las particiones lógicas en el grupo.
3, la comparación de rendimiento
Nuestros datos de 26,5 millones, cerca de 4G espacio de memoria ocupado por comparar el rendimiento de IBM365 una sola mesa entorno de prueba, CPU Xeon 2,7 g * 2, la memoria, 16G, HDD 136 g * 2, la plataforma de sistema de Windows 2003 SP1 + SQL Server 2005 Service Pack 1 . Los resultados del cuadro 1:
Tabla 1: Comparación de rendimiento de la partición y no la tabla de particiones (unidad: m)
partición de prueba artículo no es la partición
11654661466
21333
32014061546
41714061000
Descripción:
1, de acuerdo con el tiempo un registro de día el tiempo dedicado a la recuperación
2, un registro único en el tiempo
3, de acuerdo con el tiempo un registro de días el tiempo necesario para eliminar
record 4, el número de temporales estadísticas mensuales
Como se puede observar en el cuadro 1, para operar en la tabla de particiones de tabla de partición que no es más rápido, porque la operación de la tabla de partición utilizando el CPU y E / S, el funcionamiento en paralelo, la cantidad de datos para recuperar los datos son también más pequeños, la ubicación más corta de datos que requieren mucho tiempo.
4 Conclusión
Por el tratamiento masivo de datos ha sido un dolor de cabeza. La tecnología de separación es la primera consideración de todos los diseñadores, ya sea la separación de funcionalidad de la aplicación o un acceso a datos por separado, si ser un plan razonable puede ser una solución muy eficaz para las tablas de datos de gran tamaño, y los costos de mantenimiento de la baja eficiencia este tipo de problemas. SQL Server 2005 cuenta con la nueva tabla de particiones, puede dividir los datos razonables, cuando el acceso del usuario a algunos datos, motor de SQL Server puede optimizar el almacenamiento físico de los datos para encontrar la mejor aplicación del programa, que no es la aguja en un pajar .