|
Программирование >> Реализация баз данных
14 Проектирование баз данных SQL Server Глава 3 чтобы максимально увеличить производительность, распределяйте создаваемые файлы и группы файлов между как можно большим числом различных локальных физических дисков и размещайте объекты, активно конкурирующие за свободное место, в различных группах файлов; размещайте объекты на определенных физических дисках с помощью групп файлов; размещайте таблицы, используемые для выполнений одних и тех же запросов с соеди-t нениями, в различных группах файлов. Эт молит увеличить производительность за счет параллельных операций дискового ввода-вывода при поиске соединенных данных; таблицы, к которым частаются. и принадлежащие им некластерные индексы следует размещать в разных группах файлов. Производительность увеличится за счет параллельного аций дискового ввода-вывода, если файлы расположены на различных физических дисках; не располагайтежурнал(ы) транзакций на одном физическом диске с файлами и группами файлов. Журналы транзакций У базы данных SQL Server 2000 должен быть по крайней мере один файл данных и один файл журнала транзакций. Данные базы и сведенияжурнала транзакций никогда не помещаются в один и тот же файл, а отдельные файлы используются только одной базой данных. Для восстановления транзакций SQL Server обращается к журналу транзакций каждой базы данных. Журнал транзакций представляет собой последовательный список всех модификаций базы данных, а также транзакций, при выполнении которых были сделаны эти модификации. В журнале транзакций отмечается начало каждой транзакции и регистрируются изменения, внесенные в данные. В журнале хранится достаточно информации для отмены модификаций (если это понадобится), сделанных во время каждой транзакции. В случае выполнения больших операций, например CREATE INDEX, вместо ведения подробных записей в журнале регистрируется только сам факт выполнения этой операции. Журнал непрерывно увеличивается по мере регистрации операций с базой данных. В журнале транзакций регистрируются операции выделения и освобождения страниц, а также фиксация или откат каждой транзакции. Эта процедура позволяет SQL Server применить повторно (повторить) или отменить (откатить) любую транзакцию одним из спо-описанных далее. Повторное выполнение транзакций. SQL Server копирует каждую преобразованную в результате модификации запись в базу данных или повторно запускает операторы, например CREATE INDEX. Эти действия пылолняются в той же последовательности, как и в первый раз. После завершения этого процесса БД находится в том состоянии, в котором она была на момент создания резервной копии журнала транзакций. При отмене незавершенной транзакции выполняется ее откат. SQL Server копирует в базу данных записи, модифицированные после оператора BEGIN TRANSACTION, в их исходном виде. Если сервер встречает запись об исполнении оператора CREATE INDEX, он выполняет действия, логически обратные этому оператору. Копирование записей в их исходном виде и обращение к оператору CREATE INDEX производится в порядке, обратном их исходной последовательности. При достижении контрольной точки SQL Server гарантирует, что все записи в журнале транзакций и модифицированные страницы базы данных записаны на диск. Повтор транзакции осуществляется во время процесса восстановления каждой базы данных, который выполняется при повторном запуске SQL Server. Повтор транзакции необходим только в том случае, если не известно, все ли сделанные во время транзакции модификации были Окружение В общем случае чем больше база данных, тем больше ее требования к аппаратному обеспечению. При проектировании базы данных всегда следует учитывать скорость процессора. обьем оперативной памяти, свободное место на жестком диске и его конфигурацию. Однако есть и другие определяющие факторы: число одновременно работающих пользователей/сеансов, пропускная способность при обработке транзакций и тип операций с базой данных. Например, у редко обновляемой базы данных школьной библиотеки, как правило, требования к аппаратному обеспечению меньшие, чем у хранилища данных терабайт-ного объема со сведениями о продажах, товарах и покупателях крупной корпорации которые часто анализируются. Помимо требований к емкости дисковой подсистемы, для хранилища данных необходимо больше оперативной памяти и более быстрые процессоры, чтобы кэшировать множество данных и быстрее обрабатывать запросы, ссылающиеся на большие объемы данных. Оценка размера базы данных При конструировании базы данных иногда требуется оценить, насколько она разрастется после заполнения данными. Знание этого значения помогает определить аппаратную конфигурацию, чтобы: обеспечить максимальную производительность, необходимую приложениям; гарантировать наличие на физических дисках свободного места, достаточного для хранения данных и индексов. Оценив размер базы данных, можно определить, придется ли усовершенствовать туру базы данных. Например, если расчетный размер базы данных оказывается слишком велик для данной организации, необходимо ее нормализовать. И наоборот, если расчетный размер меньше, чем ожидалось, для повышения производительности при обработке запросов придется базу данных. Чтобы оценить размер базы данных, выясните размер каждой таблицы по отдельности, а затем сложите полученные значения. Размер таблицы зависит от наличия в индексов и (если они имеются) от их типа. Подробнее об оценке размеров таблиц различных типов - в SQL Server Books Online. Физическая структура базы данных Подсистема ввода-вывода (механизм хранения) является ключевым компонентом любой реляционной базы данных. Для успешной реализации базы данных обычно требуется i ша-тельно планировать ее на ранних стадиях проекта. Значительная часть планирования относится к механизму хранения реляционной базы данных, для которого следует определить следующее: на самом деле записаны из кэш-буфера SQL Server на диск. Поскольку в контрольной точке все модифицированные страницы принудительно сбрасываются на диск, то повтор транзакций во время восстановления при повторном запуске должен начаться с контрольной точки. Так как все модифицированные до прохождения контрольной точки страницы гарантированно записаны на диск, можно не повторять действия, до контрольной точки. Резервные копии журнала транзакций позволяют восстанавливать состояние базы данных на определенный момент времени (например, до ввода нежелательных данных) или на момент, предшествующий аварии системы. При разработке стратегии восстановления носителей следует учесть необходимость создания резервных копий журнала транзакций. тип используемых жестких дисков; способы размещения данных на дисках; конструкцию индексов для повышения производительности запросов при обращении к данным; параметрфации, оптимальные для эффективной работы базы данных. Установка SQL Server Хотя процесс овки SQL Server выходит за рамки этого учебного курса, перед установкой всегда нужно учитывать следующие моменты: убедитесь, что компьютерсоответ-ствует системным требованиям SQL Server 2000; создайте резервную копию текущей конфигурации Microsoft SQL Server, если устанавливаете SQL Server 2000 на этот же компьютер; при установке отказоустойчивого кластера отключите NetBIOS для всех сетевых плат частных сетей перед запуском SQL Server Setup; ознакомьтесь со всеми вариантами установки SQL Server и определите, какой вам нужен, чтобы не заниматься этим во время установки; если вы работаете в ОС с региональными параметрами, отличными оИзН (United Slates), или ретпили настроить набор символов и порядок сортировки, ознакомьтесь с материалами о режимах сопоставления. Если вы устанавливаете SQL Server 2000 на компьютер под управлением Windows NT или Windows 2000 и хотите, чтобы SQL Server 2000 взаимодействовал с другими клиентами и серверами, то перед запуском SQL Server 2000 Setup создайте одну или несколько до-менныхучетных записей. Следует зарегистрироваться в ОС с учетной записью, обладающей правами доступа локального администратора, в противном случае не забудьте назначить права доступа доменной учетной записи. Убедитесь, что остановлены все службы, зависящие от SQL Server (к ним относятся все службы, использующие ODBC, например Internet Information Services). Кроме того, закройте Event Viewer Windows NT и средства просмотра реестра (Regedit.exe или Regedt32.exe). Безопасность Предусмотрите надежную систему безопасности базы данных для контроля за мыми действиями и определения информации, доступной для просмотра и модификации. Надежная система безопасности гарантирует защиту данных независимо от того, как пользователи получают доступ к базе данных. Планирование обеспечения безопасности План обеспечения безопасности определяет, какая информация доступна, какие пользователи имеют право работать с БД и какие действия им разрешено выполнять. Чтобы составить план обеспечения безопасности, проделайте следующее: составьте список всех элементов и действий в базе данных, которые должны быть под контролем системы безопасности; определите отдельных сотрудников и группы пользователей в компании, которым хотите предоставить отдельные права; сопоставьте оба списка, чтобы определить, какие наборы данных доступны каким пользователям и какие действия могут выполнять эти пользователи в базе данных.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |