Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LektsiiNovye.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.92 Mб
Скачать

Производительность и масштабируемость

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

  • использование временных рабочих таблиц – для небольших баз данных временные рабочие таблицы оказываются эффективными, но с увеличением размера базы данных они перестают работать правильно;

  • использование агрегатных функций – использование агрегатных функций (aggregate functions), таких как MIN( ), MAX( ) и AVG( ), сопоставимо с объёмом используемых данных, поэтому следует обратить внимание, чтобы набор данных не стал со временем слишком громоздким;

  • использование индексов – по мере роста объёма данных, использование индексов становится всё более важным.

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

Проектирование системы безопасности

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

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

рис. 9.2.  Обобщённая модель безопасности MS SQL Server

Уровни системы безопасности Система безопасности уровня сервера

Пользователь в первую очередь должен быть идентифицирован сервером одним из следующих методов:

  • с помощью учётной записи пользователя Windows;

  • на основе членства в одной из групп пользователей Windows;

  • с помощью отдельной регистрационной записи SQL Server (если на сервере используется смешанная модель безопасности).

На уровне сервера пользователь распознается по своему идентификатору (Log in ID), который может быть либо регистрационной записью SQL Server, либо именем домена и пользователя Windows.

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

Пользователю может быть разрешён доступ к базе данных, и его идентификатор отображается на специфический для базы данных идентификатор пользователя (User ID). Если пользователю доступ к базе данных явно не разрешен, он может обратиться к ней как гость (если в конфигурацию сервера предварительно внести некоторые изменения).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]