TABLAS PARTICIONADAS
Enviado por Fito92 • 3 de Marzo de 2013 • 1.313 Palabras (6 Páginas) • 411 Visitas
TABLAS PARTICIONADAS.
Un desafío para un diseñador de base de datos es diseñar sistemas que sean mantenibles, escalables y que tengan un buen desempeño.
Aunque el objetivo suena obvio, algunas veces es difícil de lograr.
Una técnica usada para intentar lograr un balance razonable entre mantenimiento y escalabilidad vs. Desempeño es las Tablas Particionadas.
Esto no es nuevo, fue un cambio significante en SQL Server 2005 y continua en SQL Server 2008 proveyendo herramientas para ayudar a los desarrolladores a lograr esta tarea.
¿Por qué particionar?
El particionamiento divide grandes cantidades de datos en pequeños y más manejables sets.
¿Cómo ayuda?
Modificar y buscar datos en un conjunto más pequeño es más fácil y rápido que trabajar con un gran set de datos.
Por ejemplo: Buscar una factura por una fecha dada es más eficiente cuando buscamos en un archivador organizado. Lo mismo sucede cuando buscamos en las tablas.
Beneficios:
Más rápido y eficiente acceso a datos.
El desempeño incrementa para operaciones en paralelo con servidores multiprocesadores, cada procesador puede acceder a multiples particiones simultáneamente.
Términos a Considerar
Partition Key: Una columna en una Tabla determina a cual partición los datos residirán
Partition Function: Una función que especifica que datos iran a que partición definidos por el Partition Key.
Partition Schema: Mapea una partición a un Filegroups.
Limites LEFT y RIGHT
Una función para 4 particiones:
Aquí lo que significa:
CREAR TABLAS PARTICIONADAS EN SQL SERVER.
Primero debemos de crear una base de datos con diferentes filegroups definidos, que es donde vamos a colocar las particiones de la tabla.
Ahora debemos de crear una funcion del tipo partición, que nos va a dar el rango para cada una de las particiones. En este caso creemos una para particionar los datos por nombre G y N. De esta manera los datos van a quedar divididos en 3 particiones; De la A a la F, de la G a la M y de la N a la Z.
CREATE PARTITION FUNCTION nombrePF(nvarchar(30))
AS RANGE RIGHT
FOR VALUES ('G', 'N')
GO
Ahora creemos un esquema para esta partición, para mapear las particiones a los filegroups.
CREATE PARTITION SCHEME nombrePS
AS PARTITION nombrePF TO (fg1,fg2,fg3)
Finalmente podemos crear una tabla particionada en el esquema que creamos para la partición, especificando una columna particionada apropiada, en este caso el nombre.
CREATE TABLE DBASupport.Clientes
(ClienteID int, Nombre nvarchar(30))
ON nombrePS (Nombre)
GO
Ahora podemos insertar la información como normalmente lo hacemos.
INSERT DBASupport.Clientes VALUES (1,’Antonio’)
INSERT DBASupport.Clientes VALUES (1,’Marco’)
INSERT DBASupport.Clientes VALUES (1,’Oscar’)
GO
Podemos usar la función $partition, para verificar que la información a sido automáticamente insertada en su correspondiente filegroup.
SELECT Nombre, $partition,nombrePF(Nombre) Partición
FROM DBASupport.Nombre
PAGINACIÓN DE TABLAS.
Una paginación eficiente es aquella que es capaz de presentar al usuario final una página en el menor tiempo posible y consumiendo la mínima cantidad posible de recursos. Estos recursos son:
• Ancho de banda de la red. Deberíamos consumir el mínimo ancho de banda posible, para ello, cada vez que se solicita una página, sólo debe viajar por la red la página solicitada. En algunas malas implementaciones de la paginación, cada vez que se solicita una página, circula por la red la totalidad de los registros, esto es inaceptable en la mayoría de los casos.
• Procesamiento del servidor. Deberíamos diseñar la paginación de manera que el servidor de base de datos pueda proporcionar la página solicitada con el mínimo consumo de procesador, memoria y acceso a disco. Para ello deberemos crear los índices adecuados y diseñar correctamente la manera de acceder a los datos.
• Procesamiento en el cliente. En la aplicación cliente deberíamos minimizar el consumo de procesador y memoria.
Funciones Predefinidas
Una función predefinida es una pieza de código que trabaja como una solaunidad lógica, ya definida en el SQL.
SQL Server 2005 proporciona numerosas funciones integradas y permitecrear funciones definidas por el usuario.
Tipos de Funciones.
Función Descripción
...