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

Новости сайта "Упражнения по SQL" (http://www.sql-ex.ru) 74


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

Новости сайта "Упражнения по SQL (http://www.sql-ex.ru)" Выпуск 74 (11 февраля 2006 г.)

http://www.sql-ex.ru

Новым посетителям сайта

Сайт посвящен изучению языка, с помощью которого осуществляется взаимодействие с реляционными (и не только) СУБД. Суть обучения состоит в выполнении заданий на написание запросов к учебным базам данных; при этом система контролирует правильность выполнения заданий. В настоящее время реализованы все операторы подъязыка манипуляции данными (DML), которые включают в себя оператор извлечения данных SELECT, а также операторы модификации данных - INSERT, DELETE и UPDATE.

Мы надеемся, что справочного материала сайта окажется достаточно для самостоятельного обучения. Кроме того, свои решения вы можете обсудить на форуме сайта. Опытных же специалистов приглашаем проверить (продемонстрировать) свое мастерство и принять участие в соревновании, обеспечиваемом рейтинговой системой учета времени выполнения заданий. Фактически, рейтинг ведется на втором этапе тестирования, который начинается сейчас после решения 58-ти задач первого этапа. При подсчете рейтинга каждого участника отбрасывается один самый худший показатель среди всех решенных им упражнений.

Демонстрация плана выполнения запроса и сравнительная оценка эффективности решений поможет вам освоить принципы оптимизации запросов.

Имеется возможность получить сертификат по SQL DML при выполнении определенного количества заданий.


Новости сайта

§ Удивительное рядом. В 61 задаче прошло решение с использованием временной таблицы. Поскольку по правилам нашего сайта любые задачи должны решаться одним запросом, я усилил фильтр для блокировки решений, нарушающих данное правило.

§ В сотне появились новые участники: vezyr (задач 97, время 6.446) и Gosha (95, 5.041).

§ Приблизились к десятке:
MadVet (128, 10.050)
Snowbear (123, 2.835)
raul (123, 12.806)

§ Продолжили свое восхождение к вершине:
User_Name (132, 23.637)
Julia_M (126, 41.443)
Lady (98, 14.567)
f.nietzsche (98, 16.413)
gps (96, 90.558)
ZDomen (96, 9.454)

§ На этой неделе сертифицированы:
MadVet (B06004601) [AR]

§ Число подписчиков - 2894

Число участников рейтинга - 4744

Число участников второго этапа - 484

Сертифицировано на сайте - 52

Лучшие результаты (ТОР 20)

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Кувалкин К.С. (Cyrilus) 138 138 20 316 387 5.234 16 Dec 2005 10 Feb 2006
2 Войнов П.Е. (pаparome) 137 137 20 312 117 1.745 19 Dec 2005 10 Feb 2006
3 Зверев Д.Л. (dimzv) 137 96 20 312 819 3.135 31 Jan 2006 31 Jan 2006
4 Абашин П.И. (Dizil) 137 137 20 312 117 3.689 19 Dec 2005 31 Jan 2006
5 Голубин Р.С. (Roman S. Golubin) 137 137 20 312 117 6.572 13 Dec 2005 10 Feb 2006
6 Самохвалов В. (ValdemarES) 137 137 20 312 40 7.530 27 Dec 2005 09 Feb 2006
7 Тарасов Д.Б. (Gavrila) 137 137 20 312 109 10.968 13 Dec 2005 10 Feb 2006
8 Крижевич С.А. (yaff) 137 137 20 312 176 14.676 23 Dec 2005 06 Feb 2006
9 Иванов А.Н. (Goapsy) 137 137 20 312 60 15.958 09 Jan 2006 07 Feb 2006
10 Валуев Д.И. (Fiolent) 137 137 20 312 843 28.607 25 Dec 2005 10 Feb 2006
11 Страшников А.С. (EffEct) 137 137 20 312 226 58.048 27 Dec 2005 10 Feb 2006
12 Галиаскаров Э.Г. (Galogen) 137 137 20 312 392 72.253 19 Dec 2005 24 Jan 2006
13 Мельникова И.А. (Iris_m) 137 137 20 312 622 96.852 24 Jan 2006 10 Feb 2006
14 Духин А. (Shark) 136 137 20 310 148 2.746 06 Dec 2005 15 Dec 2005
15 Леденев С.А. (Shurgenz) 136 137 20 310 497 11.597 28 Dec 2005 10 Feb 2006
16 Носков Н.В. (niko2) 135 137 20 308 163 8.002 16 Dec 2005 16 Dec 2005
17 Konyshev (Phohack) 136 136 20 308 266 92.956 28 Dec 2005 29 Dec 2005
18 Гонтовой В.А. (noname) 134 137 20 307 105 9.793 29 Jun 2005 19 Dec 2005
19 Бураков С.Г. (burakov58) 134 137 20 307 164 12.079 12 Jul 2005 04 Dec 2005
20 Gershovich V. (VIG) 135 136 20 306 1031 13.914 06 Jan 2006 10 Feb 2006

Лучшие результаты за неделю

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Цветков И.Н. (i_tsvet) 60 61 107 32 139 234 09 Feb 2006
2 >Donald D. (Donald) 45 58 92 4 96 499 10 Feb 2006
3 >Соколов С.В. (Madest) 34 47 62 17 79 737 10 Feb 2006
4 Арыков М.С. (arm) 27 53 48 19 67 477 10 Feb 2006
5 Nikulin A.N. (Andrey Nikulin) 34 34 59 8 67 1105 10 Feb 2006
6 >Lamaev V.M. (Heromantor) 24 75 55 4 59 191 10 Feb 2006
7 >Соколов Д.В. (Соколов Д.В.) 34 34 59 0 59 1283 10 Feb 2006
8 Kaim (raczek) 34 34 59 0 59 1295 08 Feb 2006
9 >Пастур В.А. (slaam) 39 39 58 0 58 1325 10 Feb 2006
10 Kuchmai J. (Loona) 22 59 54 0 54 548 09 Feb 2006
11 >L V. (Daring) 30 30 51 3 54 1420 10 Feb 2006
12 >Мазанов А.Б. (AlMaz) 36 36 47 6 53 1436 10 Feb 2006
13 Балуева Е.А. (Katerissa) 36 37 49 3 52 1441 09 Feb 2006
14 Utasheva O.A. (Next) 29 29 52 0 52 1459 07 Feb 2006
15 >Кириченко К.В. (Ксюня) 37 37 51 0 51 1483 10 Feb 2006
16 Акименко А. (Petrovich1977) 24 24 37 9 46 1630 08 Feb 2006
17 >Евдокимов П.В. (Pascal) 13 35 31 9 40 1050 10 Feb 2006
18 >Шкаредный (Gosha) 18 95 38 0 38 94 10 Feb 2006
19 Щукин А.С. (Faust) 8 59 21 17 38 315 10 Feb 2006
20 >Сластихин И.В. (GoshaS_29) 17 94 35 0 35 103 10 Feb 2006
21 Кириченко К.В. (Кириченко) 25 25 35 0 35 2009 08 Feb 2006
22 Trishkin A.P. (XPSAHA) 24 24 34 0 34 2084 08 Feb 2006
23 >Коренко (FanOfBeer) 13 46 32 0 32 939 10 Feb 2006
24 >Канторов М. (Kantic) 22 22 32 0 32 2185 10 Feb 2006
25 Шевчук А. (Анюта) 22 22 31 0 31 2236 09 Feb 2006

Изучаем SQL

Контрольный список вопросов оценки производительности аппаратных средств SQL Server (продолжение, начало в вып. 72, 73)

Brad M. McGehee (оригинал: SQL Server Hardware Performance Checklist )
Перевод Моисеенко С.И.

Емкость диска

После памяти, емкость диска часто оказывается самым важным фактором, влияющим на производительность SQL Server. Это также довольно сложная область. В этом разделе, я остановлюсь на "самых легких" моментах, в которых может проявиться производительность дисковой подсистемы.

Общий объем свободного пространства на дисках сервера

Чтобы влияние на производительность не было значительным, важно, чтобы все ваши дисковые массивы имели, по крайней мере, 20 % свободного пространства. Это является следствием того, что NTFS (надеюсь, что вы используете именно этот формат), требует дополнительного свободного пространства для эффективной работы. Если этого нет, то NTFS не в состоянии функционировать на полную мощь, что приводит к падению производительности. Кроме того, это вызывает значительную фрагментацию диска и, как следствие, затрудняет работу сервера при чтении и записи данных.

Исследуйте каждый из физических дисков на вашем SQL Server, выясняя, имеется ли на нем, по крайней мере, 20 % свободного пространства. Если такого объема нет, то рассмотрите следующие варианты:

· Удаление любых не являющихся необходимыми данных с дисков (освободите корзину, удалите временные файлы, удалите файлы установки, и т.д.),

· Перемещение некоторых данных на диски с большим объемом свободного пространства

· Добавление дисков.

Общее число физических дисков в каждом массиве

Дисковым массивом обычно называют два или более физических дисковода, работающих вместе как единое устройство. Например, массив RAID 5 может включать 4 физических дисковода. Почему же важно знать, сколько физических дисков находится в одном или большем количестве массивов на вашем SQL Server?

За исключением зеркальных массивов (которые представляют собой два физических дисковода, работающих вместе), чем больше физических дисководов имеется в массиве, тем быстрее происходит чтение и запись в этот массив.

Например, я хочу купить новый SQL Server с массивом RAID 5 и мне необходимо, по крайней мере, 100 Гб доступного пространства. Предположим также, что продавец предлагает две различных конфигурации массива:

· 4 36-Гбайтных диска (108Гб доступного пространства)

· 7 18-Гбайтных дисков (108Гб доступного пространства)

Оба эти варианта отвечают нашим критериям и обеспечивают, по крайней мере, 100 Гб дискового пространства RAID 5. Но какой массив обеспечит лучшую производительность по чтению и записи? Ответ - второй вариант, 7 18-Гбайтных дисков. Почему?

Вообще говоря, чем больше дисков в массиве, тем больше имеется головок чтения/записи. Диски SCSI, например, имеют способность выполнять чтение и запись данных одновременно. Поэтому чем больше физических дисководов имеется в массиве, тем более быстро выполняется чтение или запись данных в массив. Каждый дисковод в массиве принимает часть рабочей нагрузки, и чем она больше, тем лучше. Имеются некоторые границы, которые зависят от контроллера диска, но в большинстве случаев это правило выполняется.

Что это может означать для нас? После того, как Вы выяснили число массивов, которые Вы имеете в вашем SQL Server, а также числе дисков в каждом массиве, уместно рассмотреть вопрос о том, стоит ли реконфигурировать ваши текущие массивы, чтобы достичь преимущества, руководствуясь принципом, чем больше, тем лучше?

Пусть, например, ваш текущий сервер имеет два дисковых массива, используемых для хранения пользовательских баз данных. Каждый массив представляет собой RAID 5 с 3-мя 18Гб накопителями в каждом. В этом случае, возможно лучшим решением было бы реконфигурировать эти два массива в единственный массив с 6-ю 18Гбайтными дисками. Мало того, что это обеспечило бы более быстрый ввод/вывод, это также увеличит на 18Гбайт дисковое пространство.

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

RAID уровень массива, используемого для баз данных на SQL Server

Поскольку Вы вероятно уже знаете, что есть множество различных типов конфигураций дисковых массивов, названных уровнями RAID. Каждый имеет свои "за" и "против". Ниже - краткое резюме наиболее часто используемых уровней RAID и то, как их наилучшим образом использовать на вашем SQL Server:

RAID 1

· В идеале, операционная система и исполняемые модули SQL Server, включая файл подкачки операционной системы, должны быть расположены в массиве RAID 1. Некоторые люди размещают файл подкачки на его собственном RAID 1 массиве, но я сомневаюсь, что это действительно дает увеличение производительности, поскольку обмен страницами на хорошо сконфигурированном сервере не самая большая проблема.

· Если ваша база (ы) данных на SQL Server является очень маленькой, и все базы данных могут разместиться на единственном дисководе, рассмотрите вариант RAID 1 для хранения всех ваших файлов данных SQL Server.

· Идеально, если каждый отдельный журнал транзакций расположен на его собственном массиве RAID 1. Причиной такого решения является то, что запись и чтение из журналов транзакций выполняются последовательно, и, изолируя их на собственном массиве, последовательный ввод/вывод на диск не будет смешиваться с более медленным случайным дисковым вводом/выводом, что увеличит производительность.

RAID 5

· Хотя это самый популярный тип RAID-хранилища, он также не является лучшим вариантом обеспечения оптимальной производительности ввода/вывода SQL Server. Если больше 10 % всей деятельности базы данных составляет запись, что делает большинство баз данных OLTP, производительность операций записи пострадает, снижая общую производительность ввода/вывода SQL Server. RAID 5 лучше всего подходит для баз данных, используемых, главным образом, только для чтения или по большей части только для чтения. Испытание в Microsoft показало, что RAID 5 может оказаться на 50 % медленнее по сравнению с использованием RAID 10.

RAID 10

· RAID 10 показывает лучшую производительность для баз данных SQL Server, хотя это наиболее дорогой вариант RAID. Чем более интенсивно происходит запись в базу данных, тем более важным становится использование RAID 10.

· Массивы RAID 10 являются также хорошим выбором для журналов транзакций, при условии, что они ориентированы на единственный журнал транзакций.

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

Если бы имелась возможность последовать только одной из вышеупомянутых рекомендаций, я предпочел бы RAID 10 другим вариантам. По сравнению с другими вариантами этот даст Вам наибольший прирост производительности в работе системы ввода-вывода SQL Server.

(Продолжение следует...)

Контакты

По всем вопросам, связанным с функционированием сайта, проблемами при решении упражнений, идеями вы можете обращаться к Сергею И.Моисеенко msi77@yandex.ru. Вы также можете предложить свои задачи для публикации на сайте.

Подписка Subscribe.Ru
Новости сайта "Упражнения по SQL"

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.db.sqlex
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное