Современное предприятие, будь оно коммерческим или государственным, уже немыслимо без собственных баз данных и систем управления ими. Примером могут служить программы для отделов кадров, в которые встроена база данных с информацией обо всех работниках, это также может быть база данных заработной платы. Не суть важно в каком виде, но, по моему мнению, СУБД должны применяться, иначе предприятие не будет работать как положено. С появлением у руководящего звена организаций понимания важности информационных технологий в последнее время наблюдается самый настоящий бум в области создания корпоративных баз данных, особенно тех, которые выполнены по технологии клиент-сервер.
Существует множество СУБД, работающих на принципе клиент-сервер, наибольшее распространение получили продукты компаний Microsoft, Oracle, Informix, Sybase и IBM. В данной статье мы рассмотрим характеристики Microsoft SQL Server 6.5 как наиболее известного продукта класса систем управления базами данных.
СУБД SQL Server 6.5 является следующей версией после получившей широкое признание SQL Server 6.0, значительно (до 48%) опережает ее по производительности. Эта СУБД работает под управлением операционной системы Windows NT Server, вследствие чего способна работать в среде симметричной многопроцессорной обработки, на аппаратных платформах с процессорами Intel, RISC, PowerPC и MIPS. Поэтому пользователь обнаружит на дистрибутивном диске не одну, а целых четыре версии Microsoft SQL Server 6.5 - для процессоров всех четырех типов.
Будучи установленной на сервер, выполненный на базе операционной системы Windows NT Server, СУБД SQL Server становится его интегрированным компонентом.
Установка и настройка
В процессе установки SQL Server 6.5 на жесткий диск распаковываются несколько ключевых компонентов. Помимо сервера баз данных устанавливается основная база данных master, которая используется самим пакетом SQL Server 6.5. Если пользователь выберет соответствующую опцию, на жесткий диск будет также установлена электронная документация.
В версии 6.5 кроме базовой системы инсталлируются следующие новые компоненты:
- Distributed Transaction Coordinator (DTC);
- утилита Query;
- SNMP MIB и агент SNMP;
- SQL Server Web Assistant;
- SQL Trace.
Эти же утилиты устанавливаются на клиентские компьютеры вдобавок к различным драйверам ODBC.
Теперь о самом процессе установки. Устанавливать SQL Server 6.5 можно двумя способами. Первый, обычный производится интерактивно, т. е. пользователь отвечает на вопросы программы установки setup непосредственно по ходу процесса инсталляции. Второй способ установки требует использования файла инициализации. Этот файл похож по своей внутренней структуре на обычные INI-файлы, применяющиеся в таких операционных системах, как Windows 3.X и Windows 95, и также состоит из различных секций данных. Этот вид установки особенно полезен, когда структура баз данных и их архитектура уже сложились и не требуют изменений. В этом случае администратор составляет файл инициализации с теми установочными настройками, которые подходят для его задачи, запускает программу установки setup, указывая ей имя файла инициализации, и играет в Solitaire, пока процесс установки не завершится. В версии 6.5 в команды файла инициализации добавлен новый оператор - ForceReboot, перезапускающий операционную систему по завершении установки.
Я произвел установку SQL Server 6.5 на своем компьютере без проблем. И все-таки досадно, что на дистрибутивном диске системы нет файлов автоматического запуска программы инсталляции, как это сделано в других продуктах Microsoft. Признаюсь, что потратил целых пять минут, разыскивая программу установки. Но через некоторое время стало понятно, что надо просто войти в каталог с именем процессора и набрать команду setup. Конечно, в документации по установке это описано, но хотелось бы, чтобы можно было обойтись без нее.
Установка SQL Server 6.5 занимает приблизительно 40 минут. Из них копирование файлов на компьютер - лишь 15-20. Остальное время распаковывается системная база данных master и производится переиндексация. Затем приходится ответить на несколько вопросов, связанных с настройками сервера и клиентов.
Когда SQL Server установлен, его необходимо сконфигурировать:
- зарегистрировать сервер;
- настроить опцию памяти;
- настроить опцию SQL Server User Connections.
Утилита SQL Enterprise Manager помогает выполнить большую часть конфигурации.
Динамическая архитектура блокировок
В версии 6.5 пакета SQL Server стала доступна новая архитектура блокировок, названная "динамической архитектурой блокировок" (dynamic locking architecture). Блокировки действительно стали динамическими. Так, например, стало возможным блокирование отдельных строк (записей) при операции INSERT (вставка строк в таблицу) в отличие от блокирования целых страниц строк, как это происходило в предыдущей версии. Это очень удобно, так как при одной заблокированной строке остается возможность изменять другие строки этой же страницы, не дожидаясь, как раньше, освобождения от блокирования всей страницы. Как результат, повышается общая производительность.
Помимо всего прочего, менеджер блокировок SQL Server 6.5 позволяет устранить коллизии типа "горячая точка", возникающие при попытке нескольких пользователей добавить новые строки в последнюю страницу таблицы.
Координатор распределенных транзакций (DTC)
Впервые в SQL Server 6.5 применяется координатор распределенных транзакций - Distributed Transaction Coordinator (DTC). Он позволяет незаметно для пользователя обновлять записи в распределенной среде и производит это путем использования двухфазного подтверждения фиксации (COMMIT) между несколькими установленными SQL Server. Хранимые процедуры для взаимодействия между серверами обрабатываются в рамках одной распределенной транзакции.
Координатор DTC поддерживается множеством интерфейсов программирования, среди которых Transact-SQL, OLE-транзакции, ODBC, XA и DB-Library. Особенно хотелось бы отметить стандарт XA. Его применение делает возможным взаимодействие SQL Server 6.5 с такими популярными мониторами транзакций, как Encina, Tuxedo и т. д. Следовательно, обновление записей может успешно происходить в распределенной гетерогенной (разнородной) среде. Так что для программиста не возникнет проблемы выбора программного интерфейса - сгодится любой из перечисленных выше, тем более, что большая часть работы будет сделана простыми выражениями SQL (например, "BEGIN DISTRIBUTED TRAN"), а оставшуюся часть распределенной обработки завершит DTC. Координатор абсолютно незаметно для пользователя управляет процессом обновления данных на всех серверах.
Для удобства использования окно настройки DTC встроено в системную утилиту SQL Enterprise Manager, устанавливаемую вместе с SQL Server 6.5.
Новое в процессе тиражирования данных
Замечательной особенностью SQL Server 6.5 является тиражирование данных (replication) подписчикам, расположенным в гетерогенных, т. е. разнородных базах, через универсальный интерфейс ODBC. Среди подписчиков возможны следующие популярные базы данных:
- ORACLE;
- IBM DB/2;
- Microsoft Access;
- Sybase System 11.
В принципе любая база данных может стать подписчиком данных SQL Server, если она умеет работать через универсальный интерфейс ODBC. Мощные конгломераты из этих СУБД позволят пользователям разных систем иметь на своем компьютере самые свежие данные, не меняя при этом программного обеспечения.
Многим пользователям придется по душе новость, что начиная с версии 6.5 СУБД SQL Server научилась тиражировать данные типов text и image, для которых возможно применение операций INSERT, DELETE и UPDATE языка SQL.
Все для Internet и интрасетей
Internet, Internet, Internet - постоянное упоминание этого слова уже набило оскомину и вместе с тем ясно указывает, куда движется весь мир вычислительной техники. Казалось бы, что общего между сервером баз данных и Internet? Оказывается, очень много, особенно если использовать SQL Server 6.5. Тесная связь с другим продуктом - Internet Information Server, точнее с его интерфейсом Internet Database Connector и ISAPI*, - позволяет осуществить публикацию данных на сервере Web. Данные из SQL Server 6.5 могут быть запрошены через Internet с использованием различных браузеров Web.
Новая утилита SQL Server 6.5 Web Assistant позволяет преобразовать данные, полученные в результате запроса на языке SQL, в формат языка гипертекстовой разметки HTML, после чего они могут публиковаться на сервере WWW или в интрасети предприятия. Отметим, что можно установить триггеры, при срабатывании которых Web Assistant будет обновлять HTML-страницы. Кроме того, можно задать некоторый интервал, через который Web Assistant будет автоматически вносить изменения в страницы, выполненные на HTML. Поскольку для автоматического обновления содержимого страниц Web Assistant использует хранимые процедуры, программист также может вызывать их и использовать по своему усмотрению.
Несколько слов о процессе создания Web-страниц с помощью Web Assistant. Web Assistant предоставляет администратору узла Web или утилите DBA Assistant, о которой уже говорилось ранее, мастер-интерфейс для пошагового создания запросов, форматирования полученных на выходе данных и планирования выполнения запросов. Обновляя содержимое HTML-страниц, Web Assistant, однако, оставляет данные базы доступными для работы с ними.
Утилита Web Assistant просто бесценна, если требуется публиковать на Web или в интрасети информацию большого объема, причем без участия операторов. Многие страницы узлов Web изготовлены с использованием этого прекрасного инструмента.
Программирование SQL Server
Возможности программирования SQL Server 6.5 претерпели значительные изменения. Как и другие продукты Microsoft, SQL Server продвинулся в сторону усиления возможностей управления посредством технологии связывания и встраивания объектов OLE. Так, в состав пакета введен 32-разрядный элемент управления OCX, с помощью которого из программ, выполненных на Visual Basic, можно обращаться к библиотеке DB-Library, строя таким образом различные решения.
Еще одним расширением программного интерфейса являются хранимые на сервере процедуры с использованием OLE. Такие процедуры могут вызываться прямо из программ, написанных с использованием языка Transact-SQL. Это дает возможность применять все объекты автоматизации OLE (OLE Automation), имеющиеся в SQL Server 6.5. Кроме того, программисты могут писать и устанавливать новые объекты автоматизации OLE, которые будут использоваться наравне со стандартными объектами SQL Server.
Чтобы соответствовать стандарту ANSI, в SQL Server 6.5 введена поддержка следующих объединений:
- простые (join);
- перекрестные (cross join);
- внутренние (inner join);
- левые внешние (left outer join);
- правые внешние (right outer join);
- полные внешние (full outer join).
В новую версию добавлены также выражения определения данных внутри транзакций, как, например, операторы CREATE и DROP языка описания данных Data Definition Language.
Расширения коснулись еще одного средства работы с данными - курсоров. Модель работы с данными SQL Server 6.5 предусматривает:
- автоматическое закрытие курсора после подтверждения (COMMIT) транзакции;
- использование по умолчанию динамических курсоров, если производится прокрутка данных только вперед.
Новые курсоры SQL Server 6.5 позволяют модифицировать таблицу, не имея ее уникального индекса.
Документация
Документации, входящей в поставку, хватит для чтения на несколько месяцев. В этом множестве томов можно найти все, что потребует для работы с СУБД SQL Server 6.5:
- "What's New in SQL Server 6.5";
- "Setup";
- "Comprehensive Index";
- "Database Developer's Companion";
- "Programming SQL Distributed Management Objects";
- "Programming ODBC for Microsoft SQL Server";
- "Guide to Microsoft Distributed Transaction Coordinator";
- "Administrator's Companion";
- "Transact-SQL".
Кроме бумажной документации предлагается и ее электронный вариант, для просмотра которого поставляется стандартная программа просмотра Microsoft InfoView, знакомая многим по дискам информационной поддержки Microsoft Developer Network (MSDN), по электронному ежемесячнику Microsoft TechNet и многим другим программам. Надо особо отметить, что вся документация выполнена на высоком уровне, как и принято в корпорации Microsoft.
Производительность - это важно
Во многом популярность SQL Server 6.5 обусловлена значительным повышением производительности и уменьшением времени реакции системы на запросы. Чтобы пользователи смогли добиться хороших результатов, разработчики Microsoft повысили скорость сортировки, скорость создания индексов и уменьшили время сброса буферов. И разумеется, выполнили весь продукт на базе параллельной многопоточной архитектуры.
Результаты тестирования TPC Benchmark, произведенного весной 1996 г., показали, что SQL Server 6.5 обогнал своих конкурентов как по числу выполненных транзакций, где второе место заняла СУБД ORACLE под управлением операционной системы UnixWare, так и по дешевизне каждой отдельной транзакции, обойдя Sybase System 11.
Однако стоимость транзакции не единственное мерило выгодности покупки. Также существенно важна оценка защиты инвестиций в продукт. В этом SQL Server 6.5 проявляет себя с наивыгоднейшей стороны. Зная устойчивую позицию Microsoft на рынке программного обеспечения и качество ее технической поддержки, можно не сомневаться, что деньги, вложенные в SQL Server, не пропадут даром и будут приносить положенный доход.
Если для вас важно правильное сочетание производительности, многоплатформенности, масштабируемости и цены, то Microsoft SQL Server 6.5 вам подойдет.
SQL Server 6.5
Надежность хранения данных
В SQL Server 6.5 можно изготовить резервные копии данных. Любую таблицу можно восстановить либо из ее копии, либо из копии всей базы данных. Разумеется, при больших объемах данных лучше загружать одну таблицу, в которой произошел сбой.
Используя средства SQL Server, можно сделать откат транзакций, начиная с определенной даты. Это позволяет вернуть состояние базы, которое было на тот момент.