Мегасерверы Microsoft® SQL Server: Масштабируемость, Надежность, Управляемость

Официальный документ подразделения бизнес-систем

Февраль 2000 г.

Предисловие

Microsoft SQL Server и продукты семейства BackOffice™, работающие на серверах под управлением Windows 2000®, способны поддерживать огромные базы данных и мощнейшие приложения. Настоящий документ посвящен истории и современным возможностям Microsoft SQL Server. В нем показано, что SQL Server масштабируется как в сторону небольших персональных баз данных объемом в один мегабайт, так и до гигантских баз данных, занимающих несколько терабайт, которые используются миллионами пользователей. Такая масштабируемость SQL Server достигается за счет поддержки технологии интенсивного масштабирования в системах с симметричным мультипроцессированием (SMP), что позволяет добавлять процессоры, оперативную память, диски и сетевые адаптеры для наращивания мощности одного узла. SQL Server также поддерживает экстенсивное масштабирование в многоузловых кластерах с секционированием больших баз данных в кластерах серверов, каждый из которых хранит свою долю целой базы данных и выполняет часть общей работы, однако при этом все они работают с единой базой данных. Благодаря экстенсивному масштабированию, SQL Server 2000 удалось достичь самых высоких результатов в тестах производительности TPC-C среди всех СУБД и платформ.

Кластеры Windows 2000 и Microsoft SQL Server обеспечивают высокую надежность и автоматизацию управления. Для поддержания постоянной доступности, в SQL Server встроена поддержка технологий аварийного переключения и репликации. Кроме того, SQL Server предоставляет мощную модель управления, а также средства с графическим интерфейсом, программы-мастера, планировщика для выполнения периодических задач и SQL-DMO для разработки прикладных сценариев. Архитектура SQL Server предусматривает возможности модульного расширения, автоматизированной настройки, сопровождения и программирования крупных серверных "ферм".

 

Серия официальных документов подразделения бизнес-систем Microsoft создана для ознакомления специалистов по информационным технологиям (IT) с Windows 2000 и семейством продуктов Microsoft BackOffice. Хотя в них рассматриваются современные технологии, используемые в продуктах Microsoft, их истинное предназначение — дать читателям представление о том, как развиваются основные технологии, как Microsoft применяет их и как это влияет на перспективы.

Для получения самой последней информации о Microsoft SQL Server посетите наш Web-узел, расположенный по адресу http://www.microsoft.com/sql или посвященный SQL Server форум в сети Microsoft Network (GO WORD: MSSQL).


Правовые аспекты

Информация, представленная в настоящем документе, отображает отношение корпорации Microsoft к обсуждаемым здесь вопросам на момент публикации. Поскольку Microsoft должна реагировать на меняющиеся условия рынка, данный документ не следует интерпретировать как обязательство со стороны Microsoft, которая не может гарантировать точность любой информации, представленной позднее даты публикации.

Этот документ носит исключительно информативный характер. MICROSOFT НЕ ДАЕТ В НЕМ НИКАКИХ ГАРАНТИЙ, НИ ЯВНЫХ, НИ ПОДРАЗУМЕВАЕМЫХ.

 

© 1996, 1997, 1998, 1999, 2000 Microsoft Corporation. Все права защищены.

Microsoft, логотип BackOffice, Visual Basic и Windows 2000 являются либо зарегистрированными товарными знаками, а BackOffice — товарный знак корпорации Microsoft.

Других товарные знаки и торговые марки, упомянутые в настоящем документе, являются товарными знаками своих законных владельцев.

 

098-88516

Содержание.......................................................................................................... 5

Введение............................................................................................................... 6

Microsoft SQL Server 2000 и Windows 2000: SMP и кластерные мегасерверы...................... 7

Масштабируемость, надежность и управляемость Microsoft SQL Server 2000 и Windows 2000     9

Масштабируемость SQL Server: в сторону уменьшения, интенсивное и экстенсивное.. 11

Показатели масштабируемости..................................................................... 13

Направления развития....................................................................................................................... 13

Уменьшение, интенсивное масштабирование, ускорение и экстенсивное масштабирование          13

Масштабируемые аппаратные архитектуры................................................ 17

Технологические тенденции способствуют созданию масштабируемых систем............ 17

Варианты архитектуры: SMP-системы и кластеры................................................................... 17

Симметричное мультипроцессирование....................................................................................... 18

Масштабируемость SMP................................................................................................................... 18

Кластерные архитектуры.................................................................................................................. 20

Кластеры с разделяемыми дисками и без разделяемых ресурсов......................................... 20

Кластеры SQL Server 2000................................................................................................................ 22

Повышение производительности SQL Server с течением времени......................................... 22

Масштабируемая архитектура Microsoft SQL Server................................ 24

Архитектура Microsoft SQL Server 2000........................................................................................ 24

Механизмы распределенных систем, обеспечивающие прозрачность кластера............. 24

Распределенные секционированные представления обеспечивают "прозрачность" кластера       26

Секционирование и каналы данных.............................................................................................. 26

Распределенные транзакции в Windows 2000............................................................................. 27

Прозрачное разбиение и механизмы параллельных баз данных.......................................... 27

Пример разбиения данных: TPC-C и миллиард транзакций в день...................................... 28

Базы данных с высокой доступностью, использующие службу Microsoft Cluster Service (MSCS)  29

Репликация данных для поддержки киосков данных и аварийного восстановления...... 29

Управляемость Microsoft SQL Server и Windows 2000............................... 31

Масштабируемое управление Windows 2000............................................................................. 31

Масштабируемое управление Microsoft SQL Server................................................................. 32

Заключение........................................................................................................ 34

 

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

 

 

 

 

 

 

 

Системы могут масштабироваться интенсивно: за счет переноса на более мощный компьютер; системы могут масштабироваться экстенсивно: путем добавления узлов в кластер.

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

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

Традиционно в большинстве случаев масштабирование осуществлялось интенсивно с использованием симметричного мультипроцессирования (SMP): путем установки в один сервер дополнительных процессоров, памяти, дисков и сетевых плат. Несколько производителей продемонстрировали, что SMP-серверы могут обеспечить в условиях коммерческого использования десятикратное масштабирование по сравнению с однопроцессорными системами.

В конце концов, единственный узел становится "узким местом" и не может более расширяться. Это приводит к снижению отдачи на инвестиции или к резкому удорожанию оборудования. Чтобы преодолеть десятикратный барьер, разработчики приложений использовали кластерную архитектуру экстенсивного масштабирования, когда рабочая нагрузка и база данных распределяются между SMP-узлами массива. Мощность таких систем наращивается путем добавления узлов в кластер. В идеальном случае разбиение "прозрачно" для клиентов и приложений. Кластер программируется и управляется как единое целое, однако на самом деле состоит из узлов. Все действительно крупные системы построены на экстенсивно масштабируемых кластерах. IBM® MVS Geoplex™ и SP2, Compaq VMScluster и NonStop™ Himalaya, а также NCR Teradata — все эти системы являются кластерными. Кластеры также используются в виде системных сетей (Storage Area Networks), созданных Compaq, EMC, IBM и другими компаниями.

Подход с использованием кластеров имеет два преимущества перед SMP-системами высокой мощности: (1) мощность кластеров может увеличиваться с небольшим приращением путем добавления широкодоступных компонентов; (2) относительная независимость узлов кластера позволяет естественным образом реализовать аварийное переключение и добиться практически постоянной доступности. Однако кластеризация порождает целый ряд проблем, связанных с управлением, поскольку должно контролироваться больше компонентов.


Microsoft SQL Server 2000 и Windows 2000: SMP и кластерные мегасерверы

Microsoft Windows 2000 и Microsoft SQL Server 2000 поддерживают как интенсивное SMP-масштабирование, так и экстенсивное масштабирование с использованием кластеров. SQL Server может работать на портативных компьютерах и масштабируется до огромных серверов. Он обеспечивает впечатляющую пиковую производительность и в приложениях обработки транзакций, и в хранилищах данных.

Microsoft SQL Server 2000 и Windows 2000 способны работать на 32-процессорных SMP-системах, тогда как наиболее распространенными являются 2, 4 и 8-процессорные. В этих системах может быть установлено до 32 ГБ оперативной памяти при использовании 32-разрядной архитектуры Intel и до 4 ТБ при использовании новой 64-разрядной платформы Intel Itanium. Они демонстрируют превосходную масштабируемость как по результатам тестовых замеров, так и в реальных приложениях. Современный 8-процессорный узел способен обслуживать более 40 тыс. пользователей, которые одновременно обращаются к Microsoft SQL Server, хранящему миллиарды записей БД на дисковом массиве емкостью 4 ТБ. Эти серверы способны ежедневно обработать более чем по 50 млн. бизнес-транзакций.

Кластер SQL Server на основе мощных SMP-узлов способен на гораздо большее. В одном из тестов 12-узловой кластер обслуживал около 200 тыс. одновременно работающих пользователей и ежеминутно обрабатывал 227079 транзакций базы данных объемом 18 ТБ. При этом удельная стоимость составила менее $19,12 за транзакцию в минуту (tpmC). Это лучшие пиковая производительность и соотношение цена/производительность среди всех существующих в мире СУБД.

SQL Server также прекрасно подходит для применения в системах поддержки принятия решения и извлечения информации из данных (data mining). Он демонстрирует превосходные производительность и соотношение цена/производительность при выполнении популярного тестового набора запросов TPC-H.

С 1995 г. производительность SQL Server по результатам тестов TPC-C повышалась ежегодно более чем на 200%. Соотношение цена/производительность улучшалось столь же высокими темпами. Дальнейшее совершенствование оборудования и программного обеспечения сохранит эту тенденцию в обозримом будущем.

Масштабируемость Microsoft SQL Server 2000 сегодня (февраль 2000 г.)
(жестких ограничений не существует, это просто крупнейшие в мире системы,
с которыми нам довелось сталкиваться.)

Технологии

Число активных пользователей

Пропускная способность

Объем БД

SMP, аварийное переключение, параллельное исполнение запросов, распределенные транзакции, SQL Enterprise Manager

50 тыс.

50 тыс. транзакций в минуту

50 млн. транзакций в день

4 ТБ

Кластеры SMP-узлов, аварийное переключение, параллельное исполнение запросов, распределенные транзакции, SQL Server Enterprise Manager

200 тыс.

220 тыс. транзакций в минуту

250 млн. транзакций в день

18 ТБ

Хранилища данных и поддержка принятия решений, звездообразные схемы, оптимизация сложных запросов, кубы данных, извлечение информации из данных

100

1000 запросов в час

100 ГБ

 


Масштабируемость, надежность и управляемость Microsoft SQL Server 2000 и Windows 2000

Подпись: Краткий обзор средств, обеспечивающих масштабируемость и надежность SQL Server 2000
SQL Server 2000 содержит мощные новые средства, повышающие его масштабируемость и надежность:
•	Перенос журнала на серверы "горячего резерва"
•	Обновляемые секционированные представления, распределенные по узлам кластера.
•	Поддержка ОЗУ большого объема (до 4 ТБ)
•	Поддержка больших кластеров Windows 2000 Data Center Server
•	Работа нескольких экземпляров SQL Server 2000 на одном сервере
•	Интеграция с Active Directory™ для обеспечения "прозрачности" доступа к серверам SQL Server.
•	Улучшенное распараллеливание операций обработки данных и управления базами данных
•	Индексированные представления и поддержка схемы снежинки для крупномасштабных хранилищ данных
•	Встроенная поддержка XML для Интернет-приложений и обмена данными. 
SQL Server 2000 Enterprise Edition использует возможности Windows 2000 Server для организации мегасерверов. SQL Server использует дополнительные процессоры для выполнения дополнительных потоков, а оперативную память — для хранения большей части базы данных в ОЗУ. Процессор БД SQL Server поддерживает обработку транзакций с высокой скоростью, а также требовательные к объему данных приложения хранилищ данных. Процессор обработки запросов применяет гибридно-хэшированные объединения и слияния при параллельном исполнении потоков, чтобы полностью использовать ресурсы мультипроцессорных многодисковых систем. Он содержит множество уникальных нововведений, включая объединение хэш-таблиц, слияние индексов для расширения диапазона и битово-векторные фильтры в объединенных хэш-таблицах, а также "прозрачный" доступ приложений к представлениям на основе секционированных по значению ключа таблиц в кластере. Процессор исполнения запросов использует большой объем оперативной памяти (до 32 ГБ), скоростной ввод-вывод и распараллеливание запросов для обеспечения высокой производительности на SMP-системах при выполнении запросов приложений поддержки принятия решений. Оптимизатор запросов использует множество специальных алгоритмов для звездообразных схем и других интенсивно индексированных баз данных. Он оптимизирует операции группового обновления, осуществляя сортировку перед занесением в таблицы и индексы базы данных. Процессор обработки запросов предоставляет и использует встроенный интерфейс OLE DB. Таким образом, он может интегрировать данные из разнородных источников. Благодаря применению этих методов, была достигнута наивысшая производительность в тестах TPC-C и наилучшая масштабируемость на некластерных SMP-системах архитектуры Intel, а также наивысшая пиковая производительность на SMP-кластерах. SQL Server 2000 поддерживает индексированные представления, что обеспечивает большие преимущества в приложениях для формирования отчетов. Кроме того, SQL Server включает мощный набор аналитических инструментов (OLAP), а также компоненты для индексирования и поиска текстов.

Механизм распределенных транзакций позволяет секционировать базы данных Microsoft SQL Server и размещать их на нескольких серверах, работающих под управлением Windows 2000, а также Windows 98 и Windows CE SQL. Этот же механизм позволяет SQL Server принимать участие в транзакциях, затрагивающих узлы под управлением DB2/MVS™, UNIX™ и Windows 2000 — включая СУБД IBM, Oracle и Informix. Координатор распределенных транзакций поддерживает интерфейсы XOpen XA и автоматически управляет исполнением транзакций, затрагивающих эти узлы. Microsoft и Compaq создали кластеры с 12 и 45 узлами, которые продемонстрировали способность обрабатывать миллиарды транзакций в день с помощью координатора распределенных транзакций. Один из таких кластеров состоял из 20 серверов SQL Server, каждый из которых хранил одну двадцатую часть базы данных. Управление приложениями и координация транзакций между серверами SQL Server осуществлялись с помощью Microsoft COM+.

SQL Server использует службу Microsoft Cluster Service для поддержки симметричных виртуальных серверов — при этом каждый узел кластера выступает в роли "горячего резерва" для остальных, число которых может достигать трех, и, кроме того, выполняет полезную работу. Для сохранения работоспособности в случае аварии SQL Server поддерживает перенос журнала с одного сервера на другой. При возникновении серьезного сбоя на основном сервере второй может в течение нескольких минут восстановить работоспособность БД и продолжить обслуживание клиентов.

SQL Server заслужил репутацию простого в установке и управлении продукта. Microsoft SQL Enterprise Manager позволяет оператору наблюдать за работой и управлять несколькими серверами SQL Server из одной консоли, встроенной в главную консоль Windows 2000. СУБД обладает способностью автоматической настройки: при увеличении объема доступной памяти SQL Server использует ее, при возрастании потребности в оперативной памяти со стороны других приложений SQL Server сокращает объем используемой памяти. Аналогичным образом, в зависимости от потребностей, SQL Server динамически увеличивает и сокращает дисковое пространство, занимаемое базой данных и журналом. Система автоматически рассчитывает статистические характеристики использования базы данных и выполняет другие задачи по администрированию — освобождая администраторам и операторам время для решения более важных вопросов. SQL Server содержит развитый набор программ-мастеров, которые помогают администратору автоматизировать стандартные действия. Планировщик заданий позволяет запланировать их регулярное автоматическое выполнение. Система извещения записывает сообщения о событиях в журнал Windows 2000, а также может отправить их оператору по электронной почте или на пейджер. Кроме того, она способна автоматически запускать для каждого класса событий определенную пользователем процедуру базы данных. SQL Server 2000 допускает работу нескольких экземпляров на одном SMP-узле. Таким образом, на одном мощном SMP-сервере может работать несколько серверов SQL Server 2000, каждый из которых обслуживает несколько баз данных.

SQL Server разработан так, что может обслуживать базы данных объемом в несколько ексабайт; единственным ограничением служит время резервного копирования/восстановления/реорганизации базы данных. За последние несколько лет группа разработчиков SQL Server сделала в этой области несколько больших шагов вперед. Резервное копирование/восстановление стали инкрементальными и могут запускаться повторно. Теперь они могут осуществляться со скоростью приблизительно полтерабайта в час. Таких показателей удалось достичь за счет усовершенствования технологий хранения данных и сетевых технологий. Скорость более 700 ГБ/час была продемонстрирована в лабораторных условиях, а при скоростях порядка 300 ГБ/час снижение производительности доступа в период пиковых нагрузок составило менее 10%.

Были добавлены программы-мастера для автоматизации решения таких задач, как проектирование баз данных, контроль работы системы, графическое отображение ее состояния и планов исполнения запросов, выработка рекомендаций по реорганизации, а также выполнение рутинных действий администратором. SQL Server спроектирован так, что может автоматически следить за своей работой и настраиваться при изменении нагрузки или аппаратной среды. Развитая встроенная система автоматизации административных работ сочетает средства очистки, преобразования и загрузки данных, которые найдут широкое применение в большинстве киосков (data-mart) и хранилищ данных (data warehouse). Ряд программ-мастеров анализирует нагрузку на систему и выдает рекомендации по оптимизации конфигурации оборудования.

Масштабируемость SQL Server: в сторону уменьшения, интенсивное и экстенсивное.

Самые последние шаги Windows 2000 и SQL Server 2000 в сторону концепции мегасерверов, это:

·         Использование памяти большого объема,

·         мощные SMP-конфигурации,

·         секционированные представления в кластерах

·         кластеры с постоянной доступностью

·         распределенное между узлами кластера выполнение транзакций.

SQL Server масштабируется интенсивно и способен работать на мощных многопроцессорных SMP-системах с несколькими сотнями дисков (мультитерабайтные БД). Такие системы способны обслуживать десятки тысяч пользователей систем оперативной обработки транзакций, а также справляться с очень высокой нагрузкой от систем поддержки принятия решений и извлечения информации из данных (data mining). Применение кластеров позволяет экстенсивно масштабировать SQL Server для работы со сколь угодно большими базами данных. Кластеры Windows 2000 позволяют наращивать мощность поблочно — потребитель может купить ровно столько оборудования, сколько ему необходимо, а затем добавлять модули процессоров, хранения данных и сетевого интерфейса по мере роста своих потребностей. Microsoft намерена облегчить построение таких суперсерверов и управление ими — фактически мы хотим перенести простоту технологии plug-and-play на уровень корпоративных серверов. Мы автоматизирует большую часть работы по настройке и управлению кластером. SQL Server 2000 обеспечивает "прозрачный" доступ к данным, распределенным в таких кластерах. Таким образом, потенциальный размер баз данных может достигать сотен терабайт. Подобные системы должны удовлетворять потребности большинства приложений, и, если современные тенденции сохранятся, в 2005 г. подобный кластер можно будет построить из широкодоступных компонентов всего за несколько миллионов долларов.

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


 

Масштабируемость Microsoft SQL Server
(это не жесткие ограничения архитектуры, а примерные практические лимиты)

к концу года

Технологии

Число пользователей

Пропускная способность

Размер БД

2000

поддержка 64-разрядной архитектуры

масштабирование "вниз" до Windows CE

Секционированные представления в кластерах

39 тыс. / SMP

200 тыс. / кластер

48000 tpmC/SMP

220000 tpmC

5 ТБ / узел

40 ТБ / кластер

2002

задача

Кластеры с сотнями узлов

Секционированные таблицы

Многоузловое распараллеливание запросов

1 млн. / кластер

>1000000 tpm

 

250 ТБ / кластер

 

С другой стороны, SQL Server 2000 может масштабироваться "вниз" до небольших систем, работающих под управлением Windows 98. Он обеспечивает работу таких систем в автономном режиме, поддерживая мобильные приложения. Версия SQL Server для Windows CE уже продемонстрирована и должна быть скоро выпущена.

 

Направления развития

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

Масштабируемость позволяет справиться с несколькими аспектами роста:

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

n  Увеличение размера базы данных. При достижении размера в несколько сотен гигабайт такие операции, как резервное копирование, восстановление и загрузка данных, могут стать "узким местом".

n  Увеличение сложности транзакций. Разработчики приложений реализуют в них все более сложную логику, освобождая пользователей от решения рутинных задач. Все чаще используются приложения для анализа данных и извлечения информации (data mining).

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

n  Увеличение количества серверов. Кластерные и распределенные приложения вовлекают в работу множество узлов. По мере повышения мощности настольных и портативных компьютеров они все чаще используются для локального хранения данных и копий основных информационных ресурсов. Масштабируемые системы позволяют организовать простое централизованное управление множеством узлов.

Уменьшение, интенсивное масштабирование, ускорение и экстенсивное масштабирование

Идеальная система масштабируется линейно, т.е. если число процессоров или дисков увеличивается вдвое, то удваивается и пропускная способность (линейное интенсивное масштабирование) или время ответа сокращается вдвое (линейное повышение скорости). На практике линейная масштабируемость достигается редко, поскольку для этого требуется, чтобы все компоненты системы были в равной степени хорошо масштабируемы.

Было бы очень заманчиво свести понятие масштабируемости к какому-либо одному параметру, например, количеству процессоров, которые может поддержать система. Это утверждение может показаться банальным, но многие приложения баз данных требуют интенсивного ввода/вывода, однако, добавление процессоров в систему, достигшую предела производительности ввода/вывода, не приведет к повышению скорости ее работы. Microsoft SQL Server, работающий на распространенных сегодня четырехпроцессорных серверах, может достичь производительности, сравнимой с производительностью другого программного обеспечения, функционирующего на системах с десятком процессоров!

SQL Server 2000 и Windows 2000 Datacenter Server поддерживают 32ГБ оперативной памяти при использовании 32-разрядной архитектуры Intel и до 4 терабайт — при использовании новой 64-разрядной архитектуры Intel Itanium™. Большая оперативная память снижает интенсивность трафика ввода/вывода и позволяет существенно повысить производительность SQL Server. SQL Server 2000 и Windows 2000 Datacenter Server также поддерживают 32-процессорные SMP-системы и большие кластеры на основе таких систем.

Единой методики оценки масштабируемости не существует. Однако полезную информацию можно получить с помощью тестов Transaction Processing Performance Council (TPC). TPC — это некоммерческая организация, занимающаяся разработкой промышленных стандартов в области обработки транзакций и тестов производительности баз данных. Ее членами в настоящее время являются все крупнейшие производители СУБД и серверного оборудования. Этой организацией создан целый ряд тестов производительности: TPC-A, TPC-B, TPC-C, TPC-D, TPC-H и TPC-R.

TPC-C — это стандартный в отрасли тест для измерения производительности и масштабируемости систем OLTP. Он учитывает широкий спектр функциональных возможностей СУБД, включая исполнение запросов, обновление данных и обработку очередей мини-пакетных транзакций. Спецификации, касающиеся таких критических аспектов, как прозрачность базы данных и изоляция транзакций, предельно строги. С другой стороны, многие допущения, принятые в TPC-C, хорошо отражают “реалии” производительности систем OLTP. Независимые контролеры проверяют результаты тестов, и TPC выпускает подробные развернутые отчеты. Эти отчеты — бесценный источник информации о том, насколько просты в использовании те или иные системы и сколько они стоят. Проверенные результаты и опубликованные цифры свидетельствуют о том, что Microsoft SQL Server 7.0 Enterprise Edition и Windows NT 4.0 Enterprise Edition обеспечивают превосходную масштабируемость в SMP-системах в числом процессоров до восьми.

Приведенная ниже таблица содержит результаты недавних тестов TPC-C для SQL Server на SMP-системах, а также лучшие показатели, достигнутые производителями других СУБД. Они показывают, что Microsoft SQL Server масштабируется до огромной пропускной способности: он способен обслуживать 32 тыс. пользователей базы данных объемом 4,6 ТБ. SQL Server и Windows NT, установленные на 8-процессорной SMP-системе, обеспечивают производительность, сопоставимую с 8-процессорными UNIX-системами с СУБД DB2 и Oracle, однако при этом решения Microsoft стоят в два или три раза меньше. Oracle демонстрирует впечатляющую производительность, но требует системы с 64 процессорами, которая стоит около 12 млн. долл. Основной вывод заключается в том, что SQL Server обладает превосходной производительностью и стоит от половины до трети стоимости решений на основе UNIX (обратите внимание на многомиллионную стоимость UNIX-систем).

Результаты тестов TPC-C для Windows NT с Microsoft SQL Server и решений
на основе UNIX
® на SMP –системах
(приведены лучшие результаты, достигнутые каждым из производителей на SMP-системах к 16 февраля 2000 г.)

 

СУБД

Сервер

Число процессоров

tpmC

долл. /tpmC

Цена системы, долл.

 

Microsoft® SQL Server 2000 Enterprise Edition

Unisys e-@action
ES5580R Server

8

48767

20,13

981337

 

Microsoft® SQL Server 7.0 Enterprise Edition

Compaq Proliant 8500 Server

8

40697

16,80

683666

 

Microsoft® SQL Server 7.0
Enterprise Edition

Unisys Aquanta ES5085R Server

4

26922

17,39

468169

 

Oracle 8i

HP 9000  Model V2500

32

102024

63,21

6448894

 

Oracle 8i

Sun  Enterprise 10000

64

115396

105,63

12189298

 

Oracle 8i

IBM RS64-III AIX

24

135815

52,70

7256910

 

DB2/AS400

AS/400e Model 740

12

43419

69,96

3037802

 

Результаты тестов TPC-C для Microsoft SQL Server и решений на основе UNIX®
(приведены лучшие результаты, достигнутые каждым из производителей к 17 февраля 2000 г.)

СУБД

Сервер

Число процессоров

tpmC

долл. /tpmC

Цена системы, долл.

Microsoft® SQL Server 2000 Enterprise Edition

Compaq
8500-550-64P
Windows 2000 AS

64
=8x8

152207

18,93

2881278

Microsoft® SQL Server 2000 Enterprise Edition

Compaq
8500-550-96P

Windows 2000 AS

96
=12x8

227079

19,12

4341750

Oracle 8i

Compaq PDC/02000
Windows NT

48
=6x8

99275

39,14

3886116

Oracle 8i

Sun Enterprise 6500 Solaris

96
=4x24

135461

97,10

13153324

Oracle 8i

IBM SP2 AIX

24

135815

52,70

7256910

Подпись:  SQL Server 2000 масштабируется на кластерах Compaq, работающих под управлением Windows 2000, практически линейно. График демонстрирует количество тысяч транзакций, обрабатываемых кластерами Compaq с 8 и 12 узлами. Эти показатели — самые высокие из достигнутых любыми системами на любых платформах.В этой таблице приведены наилучшие результаты TPC-C для кластеров. Как и ожидалось, они значительно выше, чем те, которых можно достичь на SMP-системах. Однако, что удивительно — SQL Server 2000 с Windows 2000 продолжают удерживать первые места по производительности и обеспечивают при этом в 3-5 раз лучшее соотношение цена/производительность, чем решения на основе UNIX. SQL Server 2000 обеспечивает наивысшую производительность и имеет лучшее соотношение цена/производительность среди всех СУБД. Его производительность почти вдвое превышает показатели своих ближайших конкурентов.

Как показано на графике слева, SQL Server 2000 экстенсивно масштабируется на кластерах с 8 и 12 узлами практически линейно. Самая большая из этих систем оснащена дисковой подсистемой емкостью 18 ТБ и способна обслуживать до 200 тыс. активных пользователей. Этого должно быть достаточно даже для самых крупных Web-узлов электронной коммерции. Однако, если их все-таки окажется недостаточно, мощность кластера может быть повышена путем добавления узлов в кластер.


Что касается производительности в системах поддержки принятия решений и формирования отчетов, то ни DB2, ни Oracle не сообщали о результатах в какой-либо из категорий тестов TPC-H. Результаты Informix на 15% выше, чем у SQL Server, однако при этом цена ее продуктов на 400% выше. Таким образом, опять продемонстрировано 3-кратное превосходство SQL Server над сопоставимыми UNIX-системами по соотношению цена/производительность.

 

Результаты тестов TPC-H для Windows NT с Microsoft SQL Server и решений на основе UNIX® в SMP-системах (100 ГБ)
(приведены лучшие показатели каждого производителя на SMP-системах, по состоянию на февраль 2000 г.)

СУБД

Сервер

Число процессоров

qphH@100ГБ

долл./qphH @100ГБ

Цена системы, долл.

Informix

HP 9000 N4000

8

1481

872

1292063

Microsoft® SQL Server 7.0 Enterprise Edition

HP NetServer LXr8500 

8

1291

222

285958

Oracle 

DB2

 

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

Технологические тенденции способствуют созданию масштабируемых систем

Развитие технологии и широкое внедрение компьютеров привело к некоторым неожиданным последствиям. Сегодня стали широко доступны самые производительные и надежные компьютеры, сети и устройства хранения данных. Острая конкуренция между производителями привела к созданию невероятно быстрых микропроцессоров. На самом деле наиболее мощные суперкомпьютеры построены на основе таких микросхем. Традиционные большие ЭВМ с водяным охлаждением перешли на эту высокоскоростную технологию.

Широкодоступные рабочие станции и серверы соперничают в производительности и зачастую одерживают победу над большими ЭВМ. Темпы перемен на этом массовом рынке столь стремительны, что “младшие модели” на несколько лет опережают эксплуатируемый парк традиционных больших ЭВМ и мини-компьютеров. На графике слева проиллюстрированы ошеломляющие темпы повышения скорости микропроцессоров.

Выдающийся прогресс произошел и в возможностях соединения компьютеров. Пропускная способность Ethernet достигла 120 мегабайт в секунду. Коммутируемые гигабитные сети Ethernet обеспечивают стократное повышение скорости передачи в локальных сетях при весьма доступных ценах. Asynchronous Transfer Mode (ATM), Fiber-channel, ServerNet и другие новые технологии соединения предлагают свои альтернативы коммутируемым сетям Ethernet. Подобные недорогие высокоскоростные системные сети (SAN) станут основой кластерной архитектуры на протяжении нескольких ближайших лет.

Вся компьютерная индустрия использует единое семейство 64 Мбит микросхем ОЗУ, которые применяются в ПК. Стоимость оперативной памяти для массовых компьютеров зачастую в 3-10 раз ниже, чем для нестандартных машин.

Наиболее производительные и надежные диски — это 3,5-дюймовые диски с интерфейсом SCSI. Их емкость ежегодно удваивается, а среднее время наработки на отказ составляет 50 лет. Сегодня 18-гигабайтные диски стали стандартом, а диски емкостью 74 ГБ уже доступны для применений, требующих хранения больших объемов данных. К концу 2000 г. диски емкостью 37 ГБ займут место 18-гигабайтных и будут стоить примерно столько же; кроме того, появятся диски еще большей емкости. В 2000 г. на тысячу долларов можно будет купить 40 ГБ дискового пространства (см. иллюстрацию слева). Это в десять тысяч раз больше, чем 20 лет назад. Такие низкие цены служат объяснением тому, что сегодня типичные серверы оснащаются дисковыми подсистемами емкостью от 200 ГБ до 2 ТБ. При этом удельная стоимость терабайта составляет от 5 до 50 тыс. долл. Если продолжить график, то в 2005 г, серверы будут оснащаться дисковыми подсистемами емкостью от 1 до 10 терабайт. На них можно будет размещать очень большие базы данных.

Варианты архитектуры: SMP-системы и кластеры

Увеличение числа процессоров, дисков и сетевых адаптеров приводит к возникновению проблем, связанных с архитектурой. Какая из них позволяет наилучшим образом использовать эти массовые компоненты? Ни одна из архитектур не стала абсолютным победителем, однако широкую поддержку получили три архитектуры, обеспечивающие масштабируемость: (1) с разделяемой памятью, (2) с разделяемыми дисками и (3) без разделяемых ресурсов. Windows 2000 поддерживает все три архитектуры и будет развиваться вместе с ними.

Симметричное мультипроцессирование

 

 

 

 


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

.

При симметричном мультипроцессирования (SMP) мощность сервера увеличивается за счет использования нескольких процессоров, которые работают с общей оперативной памятью. Такая система может наращиваться путем добавления памяти, дисков, сетевых адаптеров и процессоров. SMP — наиболее популярный способ масштабирования, позволяющий преодолеть ограничения одного процессора. Модель программного обеспечения для SMP, часто называемая моделью с разделяемой памятью, предусматривает работу единственной копии операционной системы, где прикладные процессы исполняются так, как если бы это была однопроцессорная система. Программы для SMP-систем относительно просты в разработке и позволяют воспользоваться преимуществами стандартизированных промышленных аппаратных и программных компонентов.

Microsoft Windows 2000 и Microsoft SQL Server 2000 спроектированы так, что способны хорошо масштабироваться на SMP-системах. В некоторых приложениях они могут использовать до 32 процессоров, однако практические ограничения при работе с приложениями общего назначения сегодня составляют:

n  8 процессоров

n  32 ГБ оперативной памяти

n  10 ТБ защищенного от сбоев дискового пространства (300 дисков емкостью по 36 ГБ, сконфигурированных в виде 60 аппаратных RAID-массивов и образующих 10 логических томов.) 

n  50000 активных клиентов, одновременно обращающихся к серверу SQL Server через Web-сервер IIS или какой-либо монитор обработки транзакций.

Это самая мощная конфигурация, с которой мы когда-либо сталкивались. Обычно мощные серверы обладают половиной этих ресурсов или даже менее. Со временем Microsoft SQL Server, Windows 2000 и аппаратные технологии позволят поддерживать еще более мощные конфигурации.

Подпись:  SMP-масштабируемость SQL Server на тестах OLTP TPC-C почти линейна. Пропускная способность (транзакций в минуту) возрастает при добавлении процессоров. Последние результаты SQL Server 2000 в 48768 tpmC, дос-тигнутые на 8-процессорной системе не показаны, поскольку они получены на новейшем программном и аппарат¬ном обеспечении, и масштабируе¬мость выглядела бы как суперлинейная.Масштабируемость SMP

Сегодня SMP, несомненно, наиболее популярная параллельная аппаратная архитектура. SMP-серверы на основе стандартных микропроцессоров Intel® обеспечивают ошеломляющую производительность и имеют отличное соотношение цена/производительность при использовании в качестве платформы баз данных. Intel производит 8-процессорные SMP-платы с процессорами Xeon™. Они используются в серверах почти всех производителей оборудования. Серверы Intel 8x Xeon будут "рабочими лошадками" в области клиент-серверных приложений и систем электронной коммерции на протяжении нескольких ближайших лет. К тому же Intel только начинает внедрение своей новой 64-разрядной архитектуры Itanium.

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

С точки зрения программного обеспечения, несколько процессоров с одновременным доступом к разделяемым ресурсам должны быть "построены" в очередь, что ограничивает практическую масштабируемость отдельно взятого приложения в SMP-системах с разделяемой памятью. Это "узкое место" операционных систем, СУБД и приложений столь же существенно, как и аппаратные ограничения.

Тем не менее, SMP-системы — самый распространенная форма масштабируемости. Они будут доминировать в течение многих лет. Появление аппаратных SMP-платформ Intel Pentium Xeon, DEC Alpha, SUN UltraSPARC® и SGI MIPS® позволяет создавать очень мощные и недорогие SMP-узлы.

График слева, демонстрирует, что масштабируемость SQL Server, измеренная с помощью тестов TPC-C на единичных SMP-системах с числом процессоров от одного до восьми, близка к линейной. 

Снижение отдачи от инвестиций в SMP-системы: 4-процессорные узлы имеют очень хорошие характеристики.

СУБД

Сервер

Число процес-соров

tpmC

долл. /tpmC

Стоимость системы

Microsoft® SQL Server 7.0 EE

Compaq ProLiant
3000-6/600-1P

1

8049,6

19,96

160643

Microsoft® SQL Server 7.0 EE

Compaq ProLiant
3000-6/600-2P

2

13598,1

17,80

241916

Microsoft® SQL Server 7.0  EE

Unisys Aquanta
ES5085R Server (4P)

4

26922,6

17,39

468169

Microsoft® SQL Server 7.0 EE

Fujitsu Siemens Primergy K800

8

 40696

16,78

682917

Microsoft® SQL Server 2000 Enterprise Edition

Unisys e-@action
ES5580R Server

8

  48767

20,13

981337

Oracle® 8i 8.1.5.1 for AIX

IBM RS64-III AIX

24

135815

52,70

7256910

Oracle® 8.1.5.1.1 for HUPX

HP 9000 Model V2500 Enterprise Server

32

  92833

87,71

8142782

Oracle® 8.1.5.1 for Solaris

Sun®
Starfire Enterprise 10000

64

115396

105,6

12189298

 

Эта таблица демонстрирует, что Microsoft SQL Server обеспечивает высокую производительность на стандартных широко доступных SMP-системах. За счет применения массовых компонентов обеспечивается также весьма эффективная с точки зрения затрат поддержка баз данных. Сравнение 8-процессорной системы с SQL Server и 32-процессорной UNIX-машины с системой Oracle показывает, что UNIX-система стоит в 11 раз больше, однако обеспечивает производительность всего в 2,3 раза выше. В среднем удельная стоимость транзакции в секунду у UNIX-систем в 3-6 раза выше.

Windows 2000 предоставляют возможность "горизонтального" наращивания мощности или экстенсивного масштабирования, позволяя добавлять модули обработки,  хранения данных и сетевых служб к существующим конфигурациям. Эта иллюстрация демонстрирует наращивание количества узлов кластера от одного до шести путем добавления по одному узлу за раз. В данном случае каждый узел является SMP-суперсервером. Кластеры часто строятся на основе широкодоступных компонентов и соединений. Дублирование межсоединений обеспечивает отказоустойчивость.

Кластерные архитектуры

Кластер — это набор относительно слабо связанных независимых компьютерных систем, которые ведут себя как одна система. Узлами кластера могут быть и однопроцессорные системы, и SMP-системы. Узлы могут быть соединены как обычной сетью, так и специализированной высокоскоростной шиной. Компьютеры в кластере взаимодействуют таким образом, что для клиентов кластер выглядит так, как если бы это был один очень производительный и надежный сервер. Поскольку кластер имеет модульную структуру, его экстенсивное масштабирование может осуществляться поэтапно и с относительно небольшими затратами путем добавления серверов, дисков и сетевых адаптеров.  

Кластерные архитектуры позволяют экстенсивно масштабировать системы до мощностей, превосходящих мощность любого одиночного SMP-узла. Microsoft считает, что кластер — это наиболее экономичный путь масштабирования при числе процессоров более восьми. Если потребности превышают возможности обычных SMP-узлов или когда для достижения отказоустойчивости требуется резервный сервер с возможностью аварийного переключения, использование нескольких узлов для организации кластера становится очень привлекательным.

Кластеры Microsoft SQL Server 2000 и Windows 2000 обеспечивают масштабируемость и отказоустойчивость при использовании широко доступных компонентов. Microsoft встроила поддержку кластеров непосредственно в операционную систему Windows 2000. Эта технология прекрасно работает на обычных серверах при их соединении друг с другом, а также позволяет использовать специализированные аппаратные ускорители таких производителей, как Compaq, Dell, HP, IBM и Unisys. Продукты семейства Microsoft BackOffice, в частности Microsoft SQL Server, Internet Information Server и Exchange, используют преимущества поддержки кластеров. Многие сторонние разработчики также начинают адаптировать свои продукты к этой архитектуре.

Кластеры с разделяемыми дисками и без разделяемых ресурсов

Подпись:  
Узлы кластера имеют доступ только к собственным дискам и устройствам, либо все устройства могут быть доступны всем узлам. Из широкодоступ-ных компонентов проще построить кластер без разделяемых ресурсов.
Существует две основных программных модели кластеров: с разделяемыми дисками и без разделяемых ресурсов. В кластерах с разделяемыми дисками все процессоры имеют непосредственный доступ ко всем дискам (и данным), однако у них нет общей оперативной памяти. Дополнительный уровень программного обеспечения, называемый распределенным кэшем или менеджером блокировок, необходим в такой конфигурации для координации конкурентного доступа между процессорами. Кластер IBM DB2/OS390 SysPlex™ — наиболее типичный пример архитектуры параллельной базы данных с разделяемыми дисками. Поскольку менеджер кэша или блокировок управляет очередностью доступа к данным, кластеры с разделяемыми дисками сохраняют некоторые ограничения масштабируемости, присущие SMP-системам с разделяемой оперативной памятью.

Кластеры без разделяемых ресурсов — это объединение взаимодействующих СУБД или федеративных серверов баз данных. Каждый узел имеет собственную оперативную память и дисковую подсистему. Узлы взаимодействуют друг с другом, обмениваясь сообщениями через общее соединение. Каждый узел кластера без разделяемых ресурсов — это автономный компьютер со своими собственными ресурсами и операционной системой, который берет на себя долю нагрузки по обслуживанию и обеспечению постоянной доступности. Каждый узел владеет некоторыми дисками, ленточными накопителями, сетевыми соединениями, секциями базы данных или другими ресурсами и предоставляет к ним доступ. В случае аварии диски могут быть автоматически переключены с одного узла на другой, расположенный по соседству — однако в каждый момент времени каждым из дисков управляет только один узел.


Кластеры SQL Server 2000

Подпись:  Результаты TPC-C, превышающие 100000 tpmC показаны в зависимости от числа использованных процессоров. Обратите внимание, что SLQ Server 2000 обеспечивает наилучшую производительность и является единственной системой, преодолевшей черту 150 тыс. tpmC.SQL Server 2000 поддерживает модель кластеров без разделяемых ресурсов с использованием распределенных секционированных представлений и распределенных транзакций. Таблица может быть разбита по диапазонам значений первичного ключа на отдельные таблицы-члены, каждая из которых хранится на одном из узлов кластера. Распределенное секционированное представление описывается на каждом узле и объединяет таблицы-члены в "прозрачное" относительно расположения данных представление. Приложения могут использовать это представление для доступа к объединению таблиц-членов как к единой виртуальной таблице. Более подробно эта концепция описана в следующем разделе документа.

Приведенные ранее результаты тестов производительности TPC-C были получены с использованием распределенных секционированных представлений на кластерах без разделяемых ресурсов, насчитывающих до 12 узлов. Итоговая производительность намного превысила показатели, достигнутые другими СУБД.  Приведенный слева график иллюстрирует производительность SQL Server на таком кластере, на нем также показаны все другие результаты TPC-C, превышающие значение 100000 tmpC, достигнутые СУБД других производителей.

Подпись:  
 
Производительность и соотношение цена/производительность для SQL Server на SMP-серверах значительно улучшились за последние годы. Эти графики демонстрируют изменения в показателях, измеренных с помощью тестов TPC-C, за период с 1997 по 1999 гг.
Только пять систем достигли таких результатов: Oracle8i/IBM RISC System 6000 Enterprise Server S80 показал 135816 tpmC при удельной стоимости 52,7 долл./tpmc, Oracle8i/Sun Enterprise 6500 Cluster достиг 135462 tpmC при 97,1 долл./tpmC, Oracle8i Sun Starfire Enterprise 10000 — 114396 tpmC при 105 долл./tpmC, а Sybase/HP 9000 V2500 — 102024 tpmC при 63,2 долл./tpmC.

Повышение производительности SQL Server с течением времени

Производительность Microsoft SQL Server по результатам тестов TPC-C за последнее время значительно повысилась. Графики слева демонстрируют, как улучшались в период с начала 1997 г. пиковая производительность и соотношение цена/производительность SQL Server. Производительность возросла с 4 до 40 тыс. транзакций в минуту — в десять раз за два с половиной года. Удельная стоимость упала приблизительно с 70 долл. /tpmC до менее чем 15 долл./tpmC. Это означает 1000%-ый прирост производительности и 450%-ое снижение удельной стоимости, что в расчете на один год составляет 200% и 65%, соответственно. Благодаря реализации в SQL Server 2000 поддержки кластеров, снимаются практически все ограничения на размеры систем обработки транзакций баз данных, которые вы можете построить на основе SQL Server.

Один Microsoft SQL Server, работающий в среде Windows 2000, способен обслужить тысячи пользователей, обращающихся к базе данных с миллиардами записей. Подобные системы могут обслуживать более 50 тыс. пользователей или гораздо большее сообщество пользователей Интернета, которые подключаются к серверу периодически. Чтобы дать предоставление о масштаб, заметим, что крупнейшие американские банки имеют около 10 тыс. служащих, а крупнейшие телемаркетинговые организации менее 10 тыс. активных агентов. Таким образом, рассматриваемые системы могут поддерживать работу традиционных отделов обслуживания клиентов огромных корпораций.

В качестве демонстрации коллектив разработчиков SQL Server создал большую мультимедийную базу данных под названием Terra-Server. Она хранит несколько терабайтов сделанных со спутников фотографий земной поверхности общей площадью 5 млн. квадратных километров. Изображения хранятся в 250 миллионах записей базы данных, размещенной на  324 дисках Compaq StorageWorks™. Сервер доступен в Интернете с июня 1998 г. За время работы он обслужил порядка двух миллиардов запросов, поступавших от нескольких миллионов посетителей. Во втором демонстрационном примере используется секционированная база данных SQL Server, содержащая миллиард записей и распределенная между двадцатью серверами SQL Servers, каждый из которых работает на одном из двадцати узлов. Секционирование базы данных управляется приложением. Для координации выполнения транзакций, затрагивающих более двух серверов, используются COM+ и координатор распределенных транзакций.

При использовании секционированных представлений, SQL Server 2000 демонстрирует на кластере, состоящем из 12 узлов, выдающуюся производительность: пиковое значение составляет 227079 tpmC при удельной стоимости 19,12 долл. /tpmC. Это почти в шесть раз больше, чем производительность единичного узла, причем объем базы данных составляет 18 ТБ. При увеличении количества узлов система может масштабироваться до еще более высокого уровня производительности.

Все эти примеры показывают, что SQL Server способен справиться с огромным объемом транзакций (несколько миллионов в день), обслуживать огромное количество пользователей (десятки тысяч) и громадные базы данных (объемом несколько терабайт). Кроме того, характеристики продукта ежегодно улучшаются в два-три раза. Эти успехи достигнуты частично за счет повышения производительности и снижения стоимости оборудования; однако SQL Server также прогрессировал очень быстро. Мы считаем, что в обозримом будущем совершенствование как оборудования, так и программного обеспечения будет продолжаться столь же стремительными темпами.

 

Архитектура Microsoft SQL Server 2000

Microsoft SQL Server 2000 спроектирован с учетом принципов архитектуры Windows DNA. Входящие в его состав инструментальные средства и система поддержки облегчают пользователям создание активных серверных страниц и объектов COM+, которые реализуют бизнес-логику и осуществляют доступ к данным SQL Server.

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

Обычно Microsoft SQL Server используется в среде клиент/сервер, где клиенты, установленные на других компьютерах, подключаются к серверу и выдают либо SQL-запросы, либо, что встречается чаще — запросы на выполнение хранимых процедур, написанных на языке Transact-SQL®. Клиенты могут располагаться и на том же самом узле, что и сервер. Microsoft SQL Server использует для обслуживания большого числа клиентов встроенный монитор обработки транзакций и службы Open Data Services. На практике такая конфигурация масштабируется до 5 тыс. одновременно работающих пользователей. При большем количестве пользователей имеет смысл распределить приложение между узлами кластера либо использовать для связи клиентов с сервером SQL Web-сервер или отдельный монитор обработки транзакций. Все популярные мониторы транзакций, такие как CICS™ , Tuxedo™ и Top End™, были перенесены на платформу Windows 2000 и могут взаимодействовать с Microsoft SQL Server. Все большее число приложений разрабатывается на основе Microsoft Internet Information Server (IIS) и Active Server Pages (ASP) для отображения данных. ASP используют VBscript™ или JavaScript™ для обращения к COM-объектам бизнес-логики, которые, в свою очередь, обращаются к SQL Server через интерфейс Active Data Objects (ADO). Брокер объектных запросов (object request broker — ORB) и менеджер распределенных транзакций (TM) встроены в Windows 2000.

Механизмы распределенных систем, обеспечивающие прозрачность кластера

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

Механизмы распределенных систем — ключ к обеспечению прозрачности кластеров. За счет структуризации приложений и систем в виде модулей, которые взаимодействуют через механизм вызова удаленных процедур, приложения становятся модульными и могут быть распределены по узлам кластера. Клиент обращается к службе по имени. Вызов соответствующей процедуры осуществляется локально или посредством механизма вызова удаленных процедур, если служба функционирует на другом узле.

Microsoft приложила много усилий для реализации своего программного обеспечения в виде структурированных компонентов, которые взаимодействуют посредством механизма вызова удаленных процедур. В результате была создана инфраструктура, разновидности которой называются OLE (object linking and embedding), COM (component object model), DCOM (distributed COM), ActiveX (расширение , COM, ориентированное на Интернет) и, с недавних пор, COM+. Многие концепции COM+ воплощены в жизнь уже сегодня, а многие будут реализованы в скором времени. В частности, в Windows 2000 и Microsoft SQL Server 7.0 Microsoft реализовала:

·         COM+, которая является центральным компонентом Windows 2000. Благодаря этому, обращение к любому объекту происходит безопасно и эффективно. Одна программа может активизировать другие программы, которые выполняются где угодно в сети. В ней сочетаются менеджер транзакций и возможности брокера объектных запросов (ORB), а также монитора обработки транзакций (TP monitor), которые образуют основу механизмов взаимодействия распределенных объектов

·         Распределенные транзакции позволяют приложениям выполнять работу в нескольких разделах базы данных Microsoft SQL Server и с помощью других менеджеров ресурсов, а также автоматически (в "прозрачном" режиме) использовать семантику распределенных транзакций автоматической классификации и интерпретации данных (ACID).

·         OLE DB позволяет Microsoft SQL Server и другим средствам интеграции данных получить доступ к данным практически из любых источников. Интерфейсы OLE DB создаются почти для всех источников данных. Большинство компонентов Microsoft для хранения данных имеют интерфейсы OLE DB (например, Exchange Server, Active Directory, Word, Excel и т.д.); кроме того, появляются интерфейсы OLE DB для давно существующих систем хранения данных, таких как VSAM и RMS.

·         DMO или Data Management Objects — это внешнее COM-представление всех интерфейсов управления SQL Server. С их помощью пользователи и независимые разработчики программного обеспечения могут создавать приложения для управления локальными и удаленными серверами SQL Server.

·         Windows 2000 также содержит надежный механизм обработки очередей (MSMQ), который позволяет приложениям осуществлять отсроченные обращения (промежуточное звено, ориентированное на обмен сообщениями). Эти очереди могут использоваться и для работы с отсоединенными узлами, позволяя передать им задание, которое выполняется при подключении этих узлов к основной сети.

Windows 2000 уже содержит все эти возможности, а также многие другие средства поддержки кластеров, включая обеспечение безопасности кластера (домены), управление программным обеспечением (System Management Server), систему имен (службы Distributed Name Service и Active Directory), а также монитор контроля работы кластера (PerfMon). Microsoft SQL Server дополняет эти средства инструментами управления, встроенными в Microsoft SQL Server Enterprise Manger, которые позволяют управлять массивом серверов Microsoft SQL Server и контролировать их работу.

Windows 2000 и SQL Server содержат средства для управления и распределения загрузки серверов приложений в кластерах с множеством узлов. Служба каталогов Active Directory хранит информацию об объектах и предоставляет клиентам прозрачный доступ к ним. Кластеры Windows 2000 управляются через общую консоль и имеют простую модель управления всеми компонентами. Основная задача Windows 2000 и Microsoft SQL Server — сделать управление кластером столь же простым, что и управление одной большой системой. Использование кластеров дает такие преимущества, как отказоустойчивость (когда многие сбои маскируются), а также практически постоянная доступность служб.

Распределенные секционированные представления обеспечивают "прозрачность" кластера

SQL Server позволяет разбить таблицу на несколько таблиц-членов, а затем создать секционированное представление на их основе. Каждая таблица-член может храниться на отдельном узле кластера. Если копия описания представления присутствует на каждом узле кластера, приложения могут осуществлять доступ ко всей таблице через любой узел кластера, как если бы она хранилась на нем локально. SQL Server 7.0 поддерживает секционированные представления, однако в SQL Server 2000 реализована эффективная поддержка распределенных секционированных представлений. В частности, если каждая таблица-член секционированного представления содержат непересекающиеся диапазоны значений предиката, оптимизатор запросов SQL Server способен направить операторы выборки, обновления, вставки и удаления именно на те узлы, которые должны участвовать в этих операциях. Распределенные секционированные представления позволяют масштабировать объединения федеративных серверов SQL Servers для работы с очень большими базами данных и достижения огромной пропускной способности при обработке транзакций.

Распределенные секционированные представления создаются следующим образом. Сначала таблица разбивается в соответствии со значениями префикса первичного ключа. Получившиеся таблицы называются таблицами-членами и имеют одинаковую структуру, совпадающую со структурой исходной таблицы, за исключением того, что для них определено дополнительное ограничение целостности, которое управляет диапазоном значений поля первичного ключа, например: customer_ID between 1000000 and 2000000. Затем создается представление, которое объединяет все эти таблицы. На каждом сервере-члене кластера администратор выполняет следующие действия:

(1)     Создает таблицу-член и наполняет ее соответствующими данными.

(2)     Создает описание связанных серверов, чтобы SQL Server 2000 мог обращаться к другим узлам в процессе обработки распределенных запросов.

(3)     Создает распределенное секционированное представление, которое объединяет таблицы-члены.

После этого приложения могут эффективно обращаться к распределенному секционированному представлению и образующим его таблицам-членам, как если бы все данные хранились локально. Оптимизатор запросов SQL Server 2000 и координатор распределенных транзакций Windows 20000 обеспечивают эффективную работу программ и придают им черты систем автоматической классификации и интерпретации данных (ACID).

Секционирование и каналы данных

Microsoft SQL Server с самого начала позволял секционировать базы данных и приложения, распределяя их между серверами SQL Server, работающими на нескольких узлах. Клиенты подключаются к приложению на одном из серверов. Если запросы клиента требуют доступа к данным на другом узле, приложение может либо использовать для доступа Transact SQL, либо осуществить вызов удаленной процедуры Microsoft SQL Server на другом узле.

Например, каждое хранилище распределенного приложения может содержать все локальные заказы, инвойсы и кадастры. При возврате заказа или поступлении с завода новой партии локальная система должна осуществить транзакции, затрагивающие как собственное хранилище данных, так и серверы SQL Server, установленные на заводе. В этом случае приложение, которое функционирует на сервере Microsoft SQL Server, установленном на складе, может непосредственно манипулировать данными на заводском сервере Microsoft SQL Server или вызвать на нем хранимую процедуру. Координатор распределенных транзакций Microsoft Distributed Transaction Coordinator (DTC) и Microsoft SQL Server автоматически обеспечат соответствие данных на заводе и на складе.

Если данные и приложения распределены между несколькими серверами Microsoft SQL Server в кластере, должен существовать удобный способ быстрой пересылки данных между этими серверами. Механизмы каналов данных (Data Pipes) облегчают обмен данными между серверами, собирая результирующие наборы, возвращенные вызовами удаленных процедур непосредственно в размещенных на локальном узле таблицах. Такой подход может использоваться многими приложениями в качестве альтернативы распределенным запросам.

Распределенные транзакции в Windows 2000

Для создания распределенной транзакции приложение должно просто содержать директиву BEGIN DISTRIBUTED TRANSACTION, и с момента ее выполнения транзакция автоматически обрабатывается координатором распределенных транзакций. Механизм обработки распределенных транзакций встроен в Windows 2000, что является очередным шагом Windows 2000 к всесторонней поддержке кластеров.

Координатор распределенных транзакций также позволяет связать Microsoft SQL Server со стандартом X/Open™ XA. Клиенты могут подключиться к таким мониторам обработки транзакций, как CICS, Encina и Tuxedo™, которые, в свою очередь, направляют запросы серверам Microsoft SQL Server. Применение мониторов обработки транзакций — еще один способ построения распределенных приложений путем использования монитора транзакций для маршрутизации транзакций соответствующим серверам. Монитор транзакций также позволяет Microsoft SQL Server принимать участие в транзакциях, распределенных между многими узлами.

Windows 2000 включает Microsoft COM+ — встроенный монитор транзакций. COM+ направляет запросы клиентов на серверы приложений.

Все рассмотренные подходы делают распределение данных и приложений между несколькими серверами SQL Server в кластере относительно несложным.

Прозрачное разбиение и механизмы параллельных баз данных

Все описанное выше уже реализовано на практике и доступно уже сегодня. Многие пользователи установили Microsoft SQL Servers, перешли на использование 8-процессорных SMP-систем, а затем масштабировали их еще больше, секционировав свои базы данных и приложения. Очень часто эти фрагменты размещены "поблизости" от пользователей, работающих с данными: сбор данных осуществляется в сети розничных магазинов, а данные о текущей деятельности размещены в бухгалтерских группах, а хранилища данных — в подразделениях планирования и маркетинга. Каждое из этих приложений самостоятельно, и разбиение происходит естественным образом. Кроме того, потоки данных между группами пользователей хорошо определены. Репликация и каналы данных облегчают передачу данных между серверами. Эти системы хорошо масштабируются. Графический и функциональный интерфейсы в сочетании со сценариями Visual Basic® используются для автоматизации работы нескольких серверов SQL Server.

В течение нескольких лет планируется реализовать в Microsoft SQL Server "прозрачное" секционирование данных между серверами SQL Server. Это позволит производить разбиение данных без вовлечения в этот процесс приложений — такое свойство часто называют прозрачностью разбиения.

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

Пример разбиения данных: TPC-C и миллиард транзакций в день

Распределенные секционированные представления позволяют SQL Server достичь очень высоких результатов в тестах производительности TPC-C, которые мы обсуждали в предыдущих разделах этого документа и которые почти вдвое превышают пиковую производительность всех остальных СУБД. Достоинство этой концепции заключается в том, что система может быть масштабирована для обработки вдвое большего объема данных и еще большего количества транзакций просто путем добавления в кластер новых узлов и федеративных серверов SQL Server.

Два года назад Microsoft, Intel и Compaq объединились для создания огромной системы (140 процессоров, 45 узлов, 4 ТБ), обрабатывающей дебитно-кредитные транзакции с помощью приложения, построенного по классической трехзвенной DCOM-схеме и использующего SQL Server. Двадцать клиентских узлов имитировали работу 160 тыс. пользователей, генерирующих транзакции со скоростью 14 тыс. в секунду. Каждый из двадцати серверных узлов хранил одну двадцатую часть базы данных SQL Server. В этой системе не использовались распределенные секционированные представления; вместо этого функции управления разбиением были возложены на приложение. Клиентские узлы имитировали сеть и осуществляли DCOM-вызовы объектов на клиенте, который, в свою очередь, инициировал ODBC-обращения к серверу. Серверы SQL Server хранили суммарно 1,6 миллиарда записей о счетах и связанные с ними 30 миллиардов записей о проводках. 85% транзакций обрабатывалось серверами локально, а 15% транзакций были удаленными. Координатор распределенных транзакций координировал выполнение распределенных транзакций. Пять узлов были выделены для осуществления этих функций.

Система, установленная в Microsoft Executive Briefing Center, работала непрерывно в течение года и обрабатывала около 1,1 млрд. транзакций каждый день. Это примерно в пять раз превышает общее количество транзакций туристических и транспортных агентств; в 10 раз больше, чем число транзакций по пластиковым картам и в тысячу раз больше объема транзакций самой крупной фондовой биржи. Сегодня такие приложения следует разрабатывать на основе SQL Server 2000 с использованием распределенных секционированных представлений.

Подпись:  SQL Server Enterprise Edition поддерживает базы данных с высокой доступностью. Он позволяет распределить базы данных и приложения между четырьмя серверами Windows 2000 Advanced Datacenter. В нормальном режиме работы каждый сервер берет на себя четверть нагрузки. Если на одном из серверов возникает поломка, база данных и SQL Server мигрируют на другой. Эта миграция и восстановление может занять менее одной минуты, после чего база данных включается в работу и может обслуживать пользователей. SQL Server 2000 и Windows 2000 Datacenter Server поддерживают аварийное переключение в кластерах с четырьмя узлами.Базы данных с высокой доступностью, использующие службу Microsoft Cluster Service (MSCS)

Microsoft SQL Server Enterprise Edition обеспечивает отказоустойчивость и высокую доступность, поддерживая аварийное переключение с одного сервера на другой, если на первом сервере возникает сбой или его необходимо отключить для обслуживания. Механизм аварийного переключения работает следующим образом: два сервера Windows 2000 могут образовывать кластер. На этих серверах функционируют два сервера SQL Server. Каждый из них работает со своей частью базы данных. Пока речь идет всего лишь о стандартной технологии SQL Server.

На основе SQL Server Enterprise Edition может быть создан виртуальный сервер, который не прерывает обслуживания даже при выходе из строя одного из узлов или его отключении для обслуживания. Для реализации такого механизма, базы данных SQL Server размещаются на разделяемых дисках с интерфейсом SCSI, которые доступны всем серверам. Если возникает поломка на одном сервере, другой сервер берет на себя управление диском и перезагружает отказавший сервер БД на уцелевшем узле кластера. Вновь запущенный сервер восстанавливает базу данных и начинает обслуживание клиентов. Клиенты, в свою очередь, заново подключаются к виртуальному серверу в случае сбоя основного. Служба Windows 2000 под названием Microsoft Cluster Service (MSCS) обеспечивает миграцию имени виртуального сервера и IP-адресов между узлами кластера, таким образом, клиентская часть даже не "подозревает" о перемещении сервера. MSCS входит в состав Windows 2000 Advanced Server и Windows 2000 Datacenter Server.

Аварийное переключение SQL Server происходит полностью автоматически. Продолжительность всего процесса выявления сбоя и восстановления с момента аварии составляет несколько минут. После починки сломавшегося узла он перезапускается и становится новым резервным сервером. При необходимости сервер, где работает SQL Server, может быть возвращен на исходный узел кластера после его ремонта. SQL Server EE содержит программу-мастер, которая помогает сконфигурировать виртуальный сервер. После настройки  виртуальный сервер выглядит как обычный SQL Server в сети — за исключением того, что он может противостоять аппаратным сбоям.

Репликация данных для поддержки киосков данных и аварийного восстановления

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

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

Этот же механизм может использоваться для сбора данных из систем оперативной обработки транзакций (OLTP) на одном узле, выступающем в роли хранилища данных. В свою очередь, такое хранилище может публиковать собранные данные во множестве киосков данных для поддержки принятия решений и анализа. Некоторые приложения обходятся без хранилищ данных и должны осуществлять передачу данных прямо из систем обработки транзакций в киоски данных.

Механизмы репликации данных Microsoft SQL Server очень мощны и просты в использовании. Графический интерфейс SQL Enterprise Manager позволяет администратору "приказывать" рабочим базам данных публиковать свои изменения и "подписывать" другие узлы на эти изменения. Эта метафора публикации-распространения-подписки позволяет организовать публикацию в режиме один-к-одному или один-ко-многим. Каскадное распространение позволяет масштабировать механизм репликации для обслуживания большого числа подписчиков. Репликация осуществляется с помощью транзакций, поэтому каждый подписчик имеет целостное представление о состоянии базы данных в некоторый момент времени.

Приложения Microsoft SQL Server регулярно публикуют десятки мегабайт обновлений в час. Публикация может быть немедленной, периодической или осуществляться по требованию. Репликация — полностью автоматический процесс, и ею очень легко управлять.

Построить большую систему на основе Microsoft SQL Server относительно несложно. Microsoft обеспечила простоту установки операционной системы и СУБД с помощью графических инструментов и программ-мастеров. SQL Server также содержит ряд программ-мастеров для выполнения работ по администрированию.

В таких крупных системах задействованы тысячи клиентских компьютеров и огромные базы данных; в связи с чем управляемость становится реальной проблемой. Управление и эксплуатация компьютерных систем всегда составляли основную часть стоимости владения. При снижении цен на оборудование и программное обеспечение остальные затраты на управление стали еще более существенными. Загрузка, выгрузка и реорганизация базы данных объемом 100 гигабайт превратились в проблему. При скорости большинства ленточных накопителей в 3 МБ/с, создание копии такой базы данных при использовании одного накопителя занимает около десяти часов. Создание 10 тыс. учетных записей пользователей и управление их атрибутами безопасности — пугающая перспектива. Конфигурирование компьютеров и программного обеспечения для 10 тыс. клиентов требует огромных затрат времени.

Microsoft хорошо понимает, что управляемость — наиболее серьезный барьер на пути к масштабируемости. Предлагаемое Microsoft решение этих проблем описано в официальном документе, посвященном Microsoft Enterprise Manager, а также в документации к продуктам. В настоящем разделе дается обзор средств администрирования Windows 2000 и Microsoft SQL Server 2000.

Масштабируемое управление Windows 2000

Управление конфигурацией программного обеспечения и оборудования тысяч клиентских систем — возможно, наиболее сложный аспект эксплуатации крупных систем с архитектурой клиент-сервер. Windows 2000 и Microsoft System Management Server позволяют автоматизировать многие из этих работ. Прежде всего, система безопасности Windows 2000 предоставляет концепцию домена и механизм однократной регистрации во всех приложениях, работающих в среде Windows 2000. Система безопасности Windows 2000 поддерживает группы пользователей. Большие сообщества пользователей могут управляться путем создания групп с определенными полномочиями и добавления в них пользователей. Механизмы системы безопасности Windows 2000 функционируют в виде группы серверов безопасности (контроллеров домена), распределенных по узлам сети. Такое распределение обеспечивает как масштабируемость, так и надежность. Отдельные домены были масштабированы до белее чем 40 тыс. пользователей. Система безопасности Windows 2000 может масштабироваться и до больших размеров путем разбиения на несколько доменов и перехода на мультидоменную архитектуру с доверительными отношениями между доменами. Система безопасности имеет как программный, так и графический интерфейс, которые позволяют управлять безопасностью сети с любого узла.

Microsoft System Management Server дает возможность одному администратору управлять конфигурацией, лицензиями и производить обновления программного обеспечения десятков тысяч клиентов. System Management Server автоматизирует выполнение большинства задач и помогает свести к минимуму количество исключительных ситуаций, требующих вмешательства специалиста. Еще один пример — автоматическое назначение TPC/IP-адресов по запросу узлов с помощью протокола Windows 2000 DHCP, что позволяет сэкономить время и сократить число ошибок, а также обеспечить мобильность узлов и контроль над пулом адресов.

В Windows 2000 встроены средства протоколирования ошибок, управления дисковым пространством и приоритетами, а также наблюдения за работой и производительностью системы. Все эти инструменты могут использоваться для управления кластерами клиентских и серверных узлов. На иллюстрации слева показан монитор PerfMon, работающий на одном узле и контролирующий загрузку процессоров и сети на нескольких других узлах. Каждый узел Windows 2000 поддерживает более 500 "датчиков" производительности, следящих за его работой. Microsoft SQL Server, Microsoft Exchange и многие другие продукты, перенесенные на платформу Windows 2000, могут интегрироваться с монитором производительности Windows 2000. Так, Microsoft SQL Server поддерживает более 75 собственных "датчиков" и интегрируется с журналом Windows 2000 для протоколирования событий.

Масштабируемое управление Microsoft SQL Server

Microsoft SQL Enterprise Manager — настоящий прорыв в управлении серверами баз данных. Он предоставляет администраторам визуальный метод управления и администрирования нескольких систем с одной консоли. Графический интерфейс снабжен целым рядом встроенных программ-мастеров, которые помогают автоматизировать выполнение стандартных действий. Среди основных особенностей SQL Enterprise Manager:

n  Графический интерфейс администрирования для контроля и наблюдения за работой множества серверов Microsoft SQL Servers и обращающихся к ним клиентов.

n  Планировщик работ, выполняющий периодические административные работы, такие как выгрузка, реорганизация и проверка целостности.

n  Механизм Distributed Management Objects, который позволяет администраторам автоматизировать обработку исключительных ситуаций и решение других задач путем написания сценариев Visual Basic самостоятельно или с помощью программ-мастеров. Эти сценарии могут использовать электронную почту или системы передачи сообщений на пэйджер через интерфейс TAPI для извещения операторов о предпринятых действиях или о необходимости вмешательства.

n  Механизм расширения, который позволяет сторонним разработчикам добавлять новые средства администрирования.

n  Полностью графический интерфейс для настройки и управления репликацией баз данных.

n  Интеграция с Active Directory, где регистрация серверов и баз данных осуществляется по имени, что обеспечивает "прозрачность" и независимость от физического размещения.

SQL Enterprise Manager включает ряд программ-мастеров для настройки автоматического выполнения рутинных операций. Среди них автоматическое резервное копирование, реорганизация и регламентные работы. Еще одна программа-мастер позволяет организовать регулярную публикацию Web-страниц с информацией из базы данных в Интернете или интрасети. Кроме того, предусмотрены программы-мастера для настройки репликации данных и мастера подсказок, которые помогают операторам найти нужную информацию в электронной документации.

Утилиты для загрузки данных, резервного копирования, восстановления, проверки целостности и реорганизации играют ключевую роль в эксплуатации больших баз данных. Резервное копирование базы данных объемом 1 ТБ с помощью одного высокопроизводительного накопителя на магнитной ленте займет много часов (и даже дней). При использовании нескольких дисковых и ленточных накопителей, работающих параллельно, Microsoft SQL Server и Windows 2000 продемонстрировали устойчивую скорость копирования на магнитную ленту в 600 ГБ/час. Этот показатель ограничен пропускной способностью устройств ввода-вывода; при использовании большего числа ленточных и дисковых накопителей скорость резервного копирования может быть еще выше. Планировщик работ в составе SQL Enterprise Manager управляет процессом резервного копирования/восстановления и координирует работу стандартных роботизированных накопителей на магнитной ленте. Резервное копирование может осуществляться с максимальной скоростью или медленнее в фоновом режиме. За счет применения механизма инкрементального копирования и увеличения степени параллелизма резервные копии очень больших баз данных могут быть созданы в течение нескольких часов.

Windows 2000 и Microsoft SQL Server могут масштабироваться интенсивно на одной SMP-системе, а также экстенсивно — за счет использования нескольких серверов, каждый из которых выполняет часть приложений и хранит часть базы данных. SQL Enterprise Manager облегчает конфигурирование этих серверов и управление ими. OLE-транзакции, репликация и каналы данных упрощают организацию обмена данными и запросами между ними.

В настоящее время один сервер Microsoft SQL Server способен обслужить более 50 тыс. активных пользователей, осуществляющих доступ через IIS и ADO/ODBC. Такие серверы могут обработать за восьмичасовой рабочий день несколько миллионов транзакций. Они способны работать с базами данных объемом в несколько терабайт, хранящими миллиарды записей на сотнях дисков.

Кластеры Windows 2000, состоящие из десятка таких серверов, могут обрабатывать более 200 тыс. бизнес-транзакций в минуту — это около полмиллиарда транзакций в день при объеме базы данных более 50 ТБ. При использовании кластеров практически не существует ограничений на размер и пропускную способность систем на основе SQL Server 2000. На стандартных тестах TPC-C SQL Server 2000 продемонстрировал наивысшую производительность среди всех подобных продуктов.

Microsoft SQL Server обладает непревзойденными соотношением цена/производительность и простотой использования. Производительность Microsoft SQL Server, Windows 2000 и соответствующего оборудования в течение последних трех лет ежегодно удваивалась. Мы считаем, что эта тенденция сохранится в течение ближайших лет.

Добавление средств автоматического аварийного переключения, COM+ и работы с большой оперативной памятью — вот самые последние шаги на пути к созданию кластеров Windows 2000 с Microsoft SQL Servers, которые могут масштабироваться как вертикально, так и горизонтально.

SQL Server обладает впечатляющей масштабируемостью уже сегодня. В последующих версиях будет достигнута еще более высокая производительность.

Самую свежую информацию о Microsoft SQL Server можно получить на Web-узле по адресу http://www.microsoft.com/sql или посетив Microsoft SQL Server Forum в сети Microsoft Network (GO WORD: MSSQL).