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

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


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

http://www.sql-ex.ru

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

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

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

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

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


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

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

§ Вот и дождались десятого участника, решившего 138 задачу. На четвертую позицию поднялся lepton (задач 138, время 9.919)
Galogen задерживается, так что имеется еще одно вакантное место:-).

§ Сохранили шансы попасть в ТОР 10:
SergeyTikh (122, 6.730)
a2010 (117, 5.833)
=Maxim= (109, 4.347)

§ Продолжили свое восхождение к вершине:
gps (135, 202.618)
SoVa (116, 74.297)
vlksm (115, 14.044)
ds (110, 42.771)

§ На этой неделе сертифицированы:
sergei74 (A06010294) [BK] (Россия, г.Томск)
Evgeny72 (A06010180) [BK] (Россия, г.Тверь)
Sergik2006 (A06009108) [BK] (Россия, г.Санкт-Петербург)
lepton (B06009430) [AR] (Россия, г.Протвино МО)
gps (B06003072) [AR] (Россия, г.Вязьма, Смоленская обл.)

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

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

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

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

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Кувалкин К.С. (Cyrilus) 138 138 20 320 484 5.460 23 Mar 2006 19 Jun 2006
2 Slobodcicov A.N. (Testo) 138 138 20 320 252 6.716 01 Jun 2006 19 Jun 2006
3 Kamaev V.M. (Heromantor) 138 138 20 320 128 9.066 14 Mar 2006 25 Mar 2006
4 Мурашкин И.В. (lepton) 138 138 20 320 81 9.919 12 Jun 2006 18 Jun 2006
5 Бураков С.Г. (burakov58) 138 138 20 320 419 17.395 24 Mar 2006 07 Apr 2006
6 Иванов А.Н. (Goapsy) 138 138 20 320 211 18.283 09 Jun 2006 09 Jun 2006
7 Тарасов Д.Б. (Gavrila) 138 138 20 320 208 19.424 22 Mar 2006 02 Jun 2006
8 Голубин Р.С. (Roman S. Golubin) 138 138 20 320 210 20.835 16 Mar 2006 19 Jun 2006
9 Валуев Д.И. (Fiolent) 138 113 20 320 971 48.000 02 May 2006 19 Jun 2006
10 Войнов П.Е. (pаparome) 137 137 20 316 203 1.769 15 Mar 2006 15 Jun 2006
11 Зверев Д.Л. (dimzv) 137 137 20 316 869 3.278 22 Mar 2006 04 Apr 2006
12 Юлдашев М.Р. (Snowbear) 137 137 20 316 239 3.448 14 Mar 2006 18 Jun 2006
13 Абашин П.И. (Dizil) 137 137 20 316 203 3.776 15 Mar 2006 22 May 2006
14 Самохвалов В. (ValdemarES) 137 137 20 316 117 7.788 14 Mar 2006 13 Jun 2006
15 Носков Н.В. (niko2) 137 137 20 316 274 8.472 06 Apr 2006 16 May 2006
16 Крижевич С.А. (yaff) 137 137 20 316 259 14.801 16 Mar 2006 05 May 2006
17 Держальцев В.А. (MadVet) 137 137 20 316 357 18.639 08 Apr 2006 15 Apr 2006
18 Зырин В.Е. (Vezyr) 137 137 20 316 63 20.618 17 Mar 2006 17 Jun 2006
19 Страшников А.С. (EffEct) 137 137 20 316 305 59.972 16 Mar 2006 02 May 2006
20 Матвеева Ю.Б. (Julia_M) 137 137 20 316 137 68.931 24 Mar 2006 24 May 2006

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Лакиза М.П. (Muxa) 51 51 89 1 90 920 16 Jun 2006
2 Kuznetsov I.V. (Joy1) 50 50 88 0 88 946 13 Jun 2006
3 Захаров А.В. (ZAV) 31 55 64 19 83 512 19 Jun 2006
4 Весвало В.С. (Schuhart) 46 47 78 0 78 570 14 Jun 2006
5 Кузнецов М. (SQL-Master) 34 34 60 17 77 1130 16 Jun 2006
6 Грабельников В.А. (loki) 40 40 73 0 73 1223 18 Jun 2006
7 Mr Sameh S.S. (SaMan) 39 39 60 7 67 1355 18 Jun 2006
8 >Гергерт С.А. (GSergVBStreets) 36 36 65 0 65 1397 19 Jun 2006
9 ruwfrgfg (MApbl4) 33 36 52 0 52 1715 16 Jun 2006
10 >Самеев М.М. (Gamer) 14 60 31 20 51 399 19 Jun 2006
11 Самсонов С.А. (SQS) 18 40 42 9 51 685 16 Jun 2006
12 Аблицов П.В. (pva) 28 28 49 0 49 1894 13 Jun 2006
13 Суятинов М.Ю. (GothmoG) 20 71 46 0 46 211 17 Jun 2006
14 >B R.T. (Rashmi) 26 26 38 8 46 2025 19 Jun 2006
15 >Рэу К.М. (Squid) 19 71 43 0 43 210 19 Jun 2006
16 Бруцкий Ю.В. (YuryBr) 17 71 38 4 42 205 19 Jun 2006
17 Баширов Р.Г. (Ринат) 20 95 41 0 41 116 19 Jun 2006
18 Грехов В. (Grehov V) 15 38 29 9 38 1231 16 Jun 2006
19 raj P. (raja) 24 24 38 0 38 2322 16 Jun 2006
20 Синицын А.В. (Dazlak) 20 26 37 0 37 2136 19 Jun 2006
21 shabanov A.V. (zorg) 24 24 37 0 37 2393 15 Jun 2006
22 >Щученко И.А. (hifishka) 29 29 36 0 36 2499 19 Jun 2006
23 Кныш А.А. (eMOe) 26 26 35 0 35 2532 18 Jun 2006
24 >jain S. (shweta) 23 23 33 0 33 2722 19 Jun 2006
25 Edunov S. (-=SergE=-) 14 74 32 0 32 193 18 Jun 2006
26 Сорокожердьева О.М. (olga) 19 46 32 0 32 1124 16 Jun 2006
27 Щученко А.А. (SAA_Satory) 14 36 32 0 32 1402 19 Jun 2006
28 kct C.K. (kct) 13 28 32 0 32 1949 18 Jun 2006
29 Chistyakov A.V. (n1bs) 22 22 31 0 31 2831 18 Jun 2006
30 Tochilyn (Alive) 22 22 31 0 31 2861 16 Jun 2006
31 >Солдатенков Ю.С. (SolYUtor) 15 97 30 0 30 103 19 Jun 2006
32 Блиненков А.В. (Flagman_er) 17 17 30 0 30 2930 16 Jun 2006
33 sae (j) 21 21 30 0 30 2931 17 Jun 2006

Изучаем SQL

"Развенчиватели" мифов SQL - MSDE/SQL Express имеет ограничение на 5 одновременно подключенных пользователей

Блог Euan Garden (оригинал: SQL MythBusters - MSDE/SQL Express has a 5 concurrent user limit )
Перевод Моисеенко С.И.

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

MSDE 1.0

Первая версия MSDE была запущена на TechEd в Далласе в 1999. Назначением MSDE в то время было обеспечение замены для JET (широко используемая версия которого осуждалась. У Microsoft имеется 2 механизма jet: тот, который используется и связывается с Access, и второй, используемый Exchange и другими), а также для поддержки бесшовной стратегии для ISV, где мы могли обеспечить единственный программный интерфейс приложений (API) и их хранение, поддерживая перевод настольных приложений на уровень масштаба предприятия (на тот уровень, где имеется возможность присоединить/отсоединить (detach/attach), сделать резервную копию/восстановить (backup/restore) базы данных MSDE к SQL Server Enterprise Edition).

В начальной версии не было множества специфических возможностей MSDE. Были наложены ограничения на память, процессоры и т.д, и наиболее широко известной/неверно подаваемой "возможностью" был регулятор рабочей нагрузки (governor).

Этот регулятор был разработан, чтобы выйти на сцену, когда больше 5-ти операций выполняются на сервере. Что такое операция? Это просто единица работы, что-то вызывающее чтение/запись и т.д. Если операций становилось более пяти, вводился режим ожидания, который эффективно замедлял механизм доступа к данным. (Ниже дана ссылка на намного лучшее объяснение).

В теории MSDE поддерживает то же самое число подключений, что и SQL Server - 32 767. ОДНАКО почти наверняка в этом случае сервер исчерпает память (помните, что есть предел памяти) прежде, чем распределит ее между таким большим числом подключений, и благодаря регулятору они все не смогут быть запущены одновременно. Так сколько можно запустить? Это то же самое, что спросить, какой длины является часть строки. Я слышал о плохо ведущих себя приложениях с одним подключением, попадающих на регулятор, а также о 100 подключенных пользователях. В действительности все это зависит от приложения, и как оно использует сервер. Для хорошо написанного приложения, которое быстро вводит и выводит информацию из базы данных, подходящим числом было бы 10-15 подключений, однако, это значение действительно варьируется.

Я скажу, что не каждый человек в Microsoft ясно сможет это объяснить. Объяснение "5-ти операций" было бы немного сложней для понимания, поэтому многие люди говорили о 5-ти подключениях, поскольку это было легче объяснить. Так начинается миф …

MSDE 2000

В то время как MSDE 1.0 был введен после выхода SQL 7.0, MSDE 2000 был выпущен в то же самое время с некоторыми замечательными новыми/уникальными возможностями.

Мы написали новую установку, которая была основана на MSI (Darwin), а не на установщике Installshield, который мы использовали для других SKU сервера SQL 2000. Это было сделано, прежде всего, по требованию команды офиса, поскольку они поддерживали установку компонент только через базовые технологии MSI/MSM. Это также предоставило более простой способ внедрения MSDE в установку ISV (об этом ниже).

Кроме того, мы реализовали простой способ обнаружения включения регулятора (через DBCC CONCURRENCYVIOLATION), чтобы помочь Вам решить, не пришло ли время обновления до более полного по возможностям SKU. Уникальной особенностью здесь является показ исторических значений, которые берутся из журнала событий и журнала ошибок, что, естественно, дает более реальные значения времени.

Мы также внесли изменения в регулятор, который приводил к еще большей путанице …, Одной из проблем с ограничением на 5 операций в MSDE 1.0 была репликация. Если Вы использовали MSDE, чтобы реплицировать данные на сервер из MSDE, то репликация использовала (приблизительно) 3 операции для собственной поддержки, оставляя только 2 для других приложений. Теперь это вызвало проблемы, и было совсем не тем, что мы подразумевали. Поэтому в MSDE 2000 мы повысили предел операций до 8, обеспечивая первоначальную функциональность, рассчитанную на 5 ПОЛЬЗОВАТЕЛЬСКИХ операций. Но мы оказались перед проблемой, как сообщить об этом. В конце концов, мы решили вообще не упоминать об этом, поскольку мы оставались в рамках наших прежних обещаний, однако техническая корректность отвергла маркетинговые выкрутасы, и разработчик, который реализовал эту возможность, изменил запись в журнал событий и команду DBCC, основанную на числе 8. В результате люди, фактически превышающие порог, продолжали видеть ссылки на 8, а не на 5 и были в недоумении. Это недоумение, накладываемое на путаницу между операциями и подключениями, а также отсутствие нашей документации/формального объяснения привело к увековечиванию мифа. Как побочный эффект, переход на 8, как я подозреваю, обусловил увеличение предела подключений до 15-20 по сравнению с 10-15 для MSDE 1.0.

Несмотря на это, MSDE2000 ДЕЙСТВИТЕЛЬНО летал, и, как я полагаю, частично это было обусловлено возможностью множественности экземпляров и изоляцией, с помощью которой это достигалось. В результате множество народа утвердилось в своей вере, особенно ISV. Скоро мы имели 100 на 1000 приложений, использующих MSDE. Однако был еще один смущающий фактор помимо регулятора. Он был связан с вопросом о том, кто фактически имел право на поставку MSDE и при каких условиях. К сожалению, это оказалось значительно более сложно, чем мы предполагали, и более ограничительно, чем мы надеялись, т.к. условия варьировались в зависимости от того, как вы получили свою копию MSDE (в основном через SQL Server, Office или Visual Studio, соглашения для которых отличались друг от друга).

Итак, мы решили пробовать внести ясность в эти заблуждения относительно MSDE.

1) Мы написали официальное объяснение (White Paper), как работает регулятор, как его использовать и т.д. Вы можете найти здесь этот отчет.

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

Другая вещь, которую мы изменили отчасти во время существования 2000 MSDE, было то, что мы прекратили поставку как набор MSM, так же как и MSI. Теперь я знаю, что это вызвало проблемы для некоторых людей, но это действительно сделано из лучших побуждений. Причина уже отчасти известна (в той же мере, как объяснение регулятора), однако, вот простое объяснение.

MSI никогда не предназначался для использования множественных экземпляров (фактически, насколько я знаю, нет никакого другого приложения в Microsoft, которое поддерживает то же самое понятие множественности экземпляров, что и мы). И поскольку это должно было стать одной из главных возможностей MSDE 2000, мы должны были найти способ реализации. Механизм весьма сложен, но он проявляется как 16 файлов sqlrunxx.msi, которые существуют для MSDE2000. Каждый из них отображается на экземпляр (SQL Server 2000 имеет ограничение на 16 экземпляров) с уникальным кодом продукта. Теперь, если Вы решили не использовать один из этих MSI для включения/установки с вашим приложением, и вместо этого пойти на использование собственного MSI со встроенными MSM и собственным кодом продукта, то тогда возникала проблема. В соответствии с объяснением, эта проблема решается и обслуживается на уровне проектирования, хотя это действительно не желательно, и может явиться реальной проблемой. Следовательно, мы больше не выпускаем MSM для MSDE и не будем делать этого также для SQL Server Express.

Оончание следует...

Полезная информация

§ Все статьи, публикуемые в рассылке, затем выкладываются на сайте Книги и статьи по SQL.

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

Контакты

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

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

В избранное