Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server с "нуля"

  Все выпуски  

MS SQL Server с "нуля" Выпуск 2


Информационный Канал Subscribe.Ru


Выпуск 2. Краткий обзор компонентов и особенностей MS SQL Server (часть 1)

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

SQL Server Database Engine (Механизм работы с базами данных SQL Server)
   SQL Server Database Engine - главное серверное приложение в составе пакета SQL Server 2000. На него возложены следующие основные задачи:

  • Обеспечение надежного хранения полученных данных;
  • Обеспечение как можно более быстрого доступа к данным;
  • Обеспечение не противоречивого доступа к данным;
  • Управление защитой доступа к данным;
  • Гарантия целостности, точности и непротиворечивости данных.

Надежное хранение.
   Надежное хранение начинается на аппаратном уровне. Это не требование SQL Server Database Engine, а необходимое условие качественного создания базы данных. Хотя Вы можете поместить всю базу данных SQL на старом IDE-диске, предпочтительней содержать данные в массивах RAID. Даже самые простые массивы RAID позволяют пережить аппаратные отказы на дисковом уровне без потери данных.

   Не зависимо от использования аппаратных средств, которые Вам доступны, SQL Server Database Engine обрабатывает все необходимые структуры данных, гарантируя надежное хранение ваших данных. Строки данных хранятся в страницах. размером по 8 КБ. Восемь страницы составляют экстент, с которым и работает Database Engine. В страницах экстента хранятся таблицы, индексы и т.п.

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

   Разумеется, запись абсолютно всех изменений в журнале транзакций не является обязательной. Так, изменения больших двоичных объектов (Binary Large Objects или BLOB) типа image или text в целях обеспечения максимального быстродействия могут быть исключены из регистрации в журнале транзакций.

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

   Без использования индексов для поиска строки данных в таблице каждый раз пришлось бы просматривать всю таблицу. При использовании индексов, поиск строки данных в таблицах производится по индексным указателям и просмотр всей таблицы данных не нужен. В MS SQL Server реализовано несколько типов индексов:

  • некластерный индекс (nonclustered index)
  • кластерный индекс(clustered index)
  • уникальный индекс (unique index).
   Память, отведенная базе данных SQL Server, используется как кэш данных и сокращает число обращений к дискам для физической записи/чтения. Когда запрашиваются какие-либо страницы данных, сервер проверит, находятся ли они уже в кэше. Если нет, то производится чтение с диска и вставка данных в кэш. Если памяти достаточно, то при следующем обращении к этой странице данных, если еще находится в памяти, будет взята из кэша, минуя операцию чтения/записи с диска. Этот процесс выполняется непрерывно и пытается сохранить часто используемую информацию в память, удаляя старые страницы из кэша с целью освобождения места для новых страниц. Если в страницах есть изменения, то они записываются на диск до удаления страниц из кэша. При большом размере оперативной памяти сервера база данных иногда может целиком находиться в памяти.

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

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

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

Обеспечение целостности данных.
   Базы данных должны служить дольше, чем отдельные приложения. Корпоративные базы данных содержат информацию, используемую разными отделами для разных целей.

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

   Лучшим способом обеспечения целостности данных в данном случае будет определение правил на уровне базы данных. Этой цели служат объекты баз данных: правила (rules), значения по умолчанию, триггеры, хранимые процедуры и ограничения целостности данных.


Архив рассылки находится на сайте http://bcbsql.narod.ru

Успехов!
Ведущий рассылки
Виктор Доцу

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное