Новые возможности SQL Server 2008 - Новое для масштабируемости

ОГЛАВЛЕНИЕ

Новое для масштабируемости

По многолетним наблюдениям администраторов баз данных SQL Server размер их сред баз данных постоянно увеличивается. С увеличением размера среды базы данных требуются новые способы и средства для обеспечения масштабируемости, необходимой для большинства предприятий. В SQL Server 2008 появилось несколько новых функций, которые могут в этом помочь.

SQL Server 2008 имеет встроенную функцию сжатия, позволяющую сжимать файлы базы данных и журналов транзакций, связанные с соответствующей базой данных. В SQL Server 2005 появилась возможность сжатия данных файлов или файловых групп, доступных только для чтения, но эта форма сжатия просто использует возможность сжатия файловой системы Windows® NTFS. В SQL Server 2008 появилось сжатие на уровне строк и страниц, которое предоставляет преимущества, недоступные при сжатии на уровне файлов данных.

Сжатие на уровне строк и страниц уменьшает необходимое пространство данных, а также необходимый объект памяти, поскольку данные в памяти остаются сжатыми. Сжатые данные в памяти позволяют увеличить использование памяти, что выгодно для масштабируемости множества систем.

В SQL Server 2008 также появилось сжатие на уровне резервной копии. Хотя при резервном копировании базы данных создается только резервная копия активной части базы данных, это обеспечивает высвобождение сотен гигабайт или даже десятков терабайт свободного пространства. В средах баз данных с несколькими копиями файла резервной копии объемом несколько терабайт эти резервные копии часто занимают ценное дисковое пространство, которое могло использоваться более эффективно. Предоставляя администраторам баз данных возможность сжатия файлов резервных копий SQL Server 2008 освобождает часть этого пространства, чтобы оно могло использоваться для реальных данных.

Также появился регулятор ресурсов. Эта новая функция позволяет определять объем ресурсов, который может использоваться отдельными рабочими нагрузками или группами рабочих нагрузок во время выполнения. Регулятор ресурсов позволяет создавать среду, в которой на одном сервере сосуществует множество различных рабочих нагрузок без опасности того, что одна или несколько этих нагрузок вызовут перегрузку сервера или снижение производительности других рабочих нагрузок.

Преимущество этой функции заключается в том, что она обеспечивает возможность более эффективного использования общего объема ресурсов, доступных на серверах баз данных. На рис. 3 показан пример использования регулятора ресурсов для ограничения операций на сервере.

 Рис 3 Limit activity with the Resource Governor

USE master
go

--Drop function
IF OBJECT_ID('rgclassifier_demo','Function') IS NOT NULL
DROP FUNCTION rgclassifier_demo
go

--Create a classifier function for report group
CREATE FUNCTION rgclassifier_demo() RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN
    DECLARE @group_name AS SYSNAME
  IF (USER_NAME() LIKE '%Launch_Demo%')
         SET @group_name = 'demogroup'
    RETURN @group_name
END
GO

--Drop workload group for anything coming from Management Studio
IF EXISTS (SELECT name FROM sys.resource_governor_workload_groups
  WHERE name = 'demogroup')
BEGIN
  DROP WORKLOAD GROUP demogroup
END
GO

--Create workload group
CREATE WORKLOAD GROUP demogroup
GO

--Register the classifier function with
--Resource Governor
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION= dbo.rgclassifier_demo)
GO

--Alter the dbogroup workload group to only
--allow 10% of CPU for each workload request
ALTER WORKLOAD GROUP demogroup
WITH (REQUEST_MAX_CPU_TIME_SEC = 10)
GO

--Create a new resource pool and set a maximum CPU limit for all workloads.
IF EXISTS (SELECT name FROM sys.resource_governor_resource_pools
  WHERE name = 'pooldemo')
DROP RESOURCE POOL pooldemo
GO
 
CREATE RESOURCE POOL pooldemo
WITH (MAX_CPU_PERCENT = 40)
GO

--Configure the workload group so it uses the
--new resource pool.
ALTER WORKLOAD GROUP demogroup
USING pooldemo
GO

--Apply the changes to the Resource Governor
--in-memory configuration.
ALTER RESOURCE GOVERNOR RECONFIGURE
GO