|
Программирование >> Программирование баз данных
Асимметричные ключи Асимметричный ключ действует во многом аналогично сертификату, но задается непосредственно и не подтверждается каким-либо выпускающим его центром. Как и сертификат, асимметричный ключ шифрования задается, а затем используется для шифрования конфиденциальной информации. Ввод в действие асимметричных ключей осуществляется с помощью команды CREATE ASYMMETRIC KEY. Резюме Безопасность - это одна из тех областей, о которой разработчики слишком часто забывают. К сожалению, безопасность системы во многом зависит от того, как организована обработка данных в клиентском приложении, поэтому администратор базы данных после ввода приложения в эксплуатацию может сделать лишь очень немногое. Поэтому к решению задачи обеспечения безопасности следует относиться так, как будто от этого полностью зависит успешная эксплуатация системы на узле заказчика (таковым может быть собственный узел разработчика, если создаваемый проект предназначен для внутреннего использования); по-видимому, безопасность- наиболее важный фактор успеха в работе. Глава 23 Настройка производительности; принципы и методы Написание этой главы оказалось наиболее сложным по сравнению с остальными главами. Обычно наибольшие сложности возникают в связи с тем, что при изложении темы приходится представлять большой объем сложной информации. Но данная глава- одна из последних в книге, поэтому я надеюсь, что основные сложности, связанные с усвоением предварительньгх сведений, уже позади, даже несмотря на то, что вся тематика книги все еще не исчерпана. К настоящему времени читатель должен иметь ясное понимание всего того, что подлежит более подробному обсуждению в данной главе. Это означает, что теперь мы можем обойтись без лишних подробностей и не беспокоиться о том, что в связи с этим возникнет путаница. Тем не менее, как уже было сказано, написание данной главы для автора оказалось сложной задачей. Это было связано с тем, что автору приходилось решать, что именно должно быть включено в данную главу. Дело в том, что данная книга не посвящена исключительно описанию настройки производительности, ведь сама тема настройки вполне может занять целую книгу. Настоящая книга предназначена для того, чтобы усилия читателя по усвоению всех средств разработки программного обеспечения СУБД SQL Server оказались наиболее успешными. Но такого успеха невозможно достичь без использования системы, которая обладает максимально достижимой производительностью. Поэтому автор не мог обойтись без описания вопросов производительности, но ему пришлось решать, что должно быть включено в эту книгу, а что исключено. Иными словами, в связи с тем, что изложение данной темы должно быть кратким, автору пришлось остановиться только на тех вопросах, которые приносят наибольший успех при минимальных усилиях. Приступая к изучению тематика настройки производительности, важно понять то, что вся эта проблематика такова, что просто невозможно подробно изучить все, что к ней относится. Как правило, разработчики программного обеспечения на языке SQL для баз данных в состоянии усвоить не больше 20% того, что можно было бы сказать по этой теме. Но, к счастью, настройка производительности относится к одной из тех областей, в которых оправдывается широко известное правило 80-20 (как показывает практика, 80% успеха приносят всего лишь 20% всего объема выполненной работы). Учитывая это, автор построил изложение материала в данной главе так, что она скорее является обзорной, а не содержащей все возможные сведения. Все, что в ней сказано, так или иначе относится к тематике повышения производительности, но мы коснемся широкого спектра вопросов. При этом нам поневоле придется возвращаться к ранее описанным темам, а также затрагивать некоторые новые темы. Причем во многих случаях ранее рассматривавшиеся вопросы будут представлены с новой точки зрения, с учетом того, что мы теперь должны уделить особое внимание вопросам производительности. Ниже перечислены основные темы, изложенные в данной главе. Выбор индексов. Преимущества и недостатки методов обработки данных с привлечением преимущественно клиентских или серверных приложений. Стратегии денормализации. Процедуры технического сопровождения. Организация функционирования хранимых процедур. Применение временных таблиц. Сравнение подходов, основанных на достижении небольших усовершенствований в повторяющихся процессах или крупных усовершенствований в долговременных процессах. Проблемы настройки конфигурации аппаратного обеспечения. Устранение неполадок. Безусловно, на первый взгляд перечень затрагиваемьгх тем является довольно впечатляющим, но читателю необходимо прежде всего понять, что это - только начало. Основная особенность всей проблематики настройки производительности состоит в том, что фактически не бывает такой ситуации, в которой можно было бы остановиться и не заниматься дальнейшим усовершенствованием в целях повышения производительности. Дело в том, что язык SQL обладает замечательной особенностью- разработчику достаточно лишь четко сформулировать свой замысел, как сразу же появляется возможность написать работоспособный код, практически не требующий дальнейшей отладки. Кроме того, разработчику не приходится применять принципиально разные подходы, формулируя запросы, составляя хранимые процедуры, занимаясь проектированием баз данньгх, иными словами, решая любые задачи программирования, для которых требуется язык SQL; один и тот же подход может быть распространен на любые работы по разработке для баз данных. Тем не менее, если разработчик создает код T-SQL, не учитывая особенностей аппаратных средств, различий в функционировании между клиентским и серверным кодом, параметров конфигурации SQL Server и сетевых проблем, то тем самым игнорирует важные факторы, не относящиеся к коду, но способные оказать решающее влияние на производительность всей системы. Следует отметить, что термин производительность многие трактуют по-разному. Например, некоторые считают, что производительность представляет собой показатель того, насколько коротким является время отклика (измеряемое тем, насколько быстро выполняется запрос). Применяется также понятие воспринятой производительности (определяемое тем, насколько быстро пользователи получают достаточный объем информации, чтобы начать работу, а не тем, насколько быстро фактически заканчивается вьшолнение всего запроса). Еще одним аспектом оценки производительности может стать масштабируемость (например, рассматриваемая с той точки зрения, какую нагрузку можно возложить на систему, прежде чем время отклика станет неудовлетворительным или начнутся конфликты между пользовательскими запросами).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |