Тренинг проводил Рупасов Константин.
В первый день тренинга проводится экзамен.
Экзаменационные билеты содержат три вопроса:
- Вопрос по оптимизации запроса 1С
- Вопрос по использованию тех или иных инструментов оптимизации (SQL Profiler, технологический журнал, консоль серверов 1С и т.д.)
- Вопрос по организации данных в 1С, возможности параллельной работы пользователей.
Вопросы не обязательно идут в указанном порядке. Может и затрагивались другие темы, но мне показалось что эти звучали чаще других.
Следовательно, при подготовке к экзамену следует уделять внимание:
- Понятиям транзакциям и блокировкам в 1С и в SQL, их взаимодействия (Это очень важные понятия, по сути дело основа всего курса)
- Организация данных (таблиц) в 1С и SQL и как они взаимосвязаны. Что такое индексы, какие они бывают, как они устроены. Как организовать необходимые индексы в SQL средствами 1С.
- В SQL хорошо понимать, что такое Profiler (как его можно использовать), понимать что такое «план выполнения запроса». Особо обратить внимание на такие физические операции как Scan Table, Scan Index, Nested Loops, Seek Index (по полному и не полному условию).
- Желательно получить представления в организации различных баз данных (SQL Server, PostgreeSQL, IBM DB2, Oracle) – расхождения не принципиальные с точки зрения программиста 1С, но тем не менее они существуют, и это как бы надо учитывать (нас интересуют те, которые в первую очередь связаны с организацией блокировок и т.д.).
При подготовке желательно ознакомится с соответствующей литературой как по 1С, так и по SQL (обзорно). Думаю можно порекомендовать:
- Руководство администратора - вопросы по технологическому журналу, организации кластеров и т.д.
- Профессиональная разработка в системе 1С Предприятие 8.0 (Радченко М.Г….) – вопросы по организации данных, по оптимизации (учитывая что книга написана под 8.0, а не 8.2).
- Практическое пособие разработчика 8.2 (Радченко М.Г.) – общие представления о возможности языка и т.д.
- Архитектура и работа с данными "1С:Предприятия 8.2". – организация данных
- Электронный помощник по SQL.
Очень полезно ознакомится с материалами порталов:
- http://www.1c.ru/rus/partners/training/files/expert.html
- http://partners.v8.1c.ru/forum/index.jsp
- http://www.gilev.ru/1c/open.html
- http://chistov.spb.ru/forum/36
Желательно получить навыки работы с
- SQL STUDIO и Profiler
- 1C «Корпоративный инструментальный пакет» – обратить внимание на компоненты «Тест центр» и «Центр управления производительностью» (по ним строится практическая часть тренинга).
На тренинг, конечно же, нужно ехать подготовленным - сдать «на шару» (зазубрив правильные ответы) не получится. Пользоваться можно любыми доступными источниками данных (ноутбуками, книгами – всем чем угодно). Не достаточно дать правильный ответ, необходимо обосновать, почему этот ответ правильный, т.е. показать именно понимание темы вопроса (к слову сказать, точно такой же подход и на практических заданиях).
На экзамене можно получить три варианта «оценки»:
- «Я дам вам сертификат»
- «Вам можно дать сертификат, но проявите себя на тренинге» (т.е. получите по результатам занятий)
- «В этот раз вы сертификат не получите»
Вопросы, обсуждаемые на тренинге, формируются исходя из результатов экзамена, т.е. освещаются именно те, которые у большинства вызвали затруднения. «Повестка» формируется путем общего обсуждения «кому что интересно». Вопросы предлагаются задаваться по ходу лекции, НО, учитывая что материала гораздо больше чем отведенного времени:
- Задавайте вопросы по теме лекции, а не вообще «случай из жизни». Не стоит задавать вопросы, цель которых проявить ваши знания, и показать «какие вы умные» :).
- Возможно, целесообразно записывать вопросы, немного подождаь и потом уже их задавать. Возможно вы позже (по ходу лекции) сами найдете на них ответ, возможно, вы придете к выводу, что это не интересно всем и стоит это вопрос задать в перерыве.
В любом случае экономите, и уважайте свое и чужое время (его слишком мало – на нашем тренинге ряд вопросов (не самых важных, но интересных) по этой причине так и остался «за бортом»).
В нашем случае на тренинге обсуждались вопросы:
- Рассказ о «Центре корпоративных технологических проектов», на правах введения в тренинг. Цели проекта, как стать участником проекта и т.п.
- Оценка производительности и методика Apdex как способ «оцифровки» показателей (для сравнения что было «до» и «после»).
- Немного поговорили об особенностях настройки и организации кластера серверов 1С.
- Технология проведения нагрузочного тестирования. Тут было первое практическое задания. Необходимо было подключить тест-центр к конфигурации, и разработать сценарий тестирования. Вот тут очень пригодился бы опыт по работе с тест-центром. К сожалению, на тот момент я им не располагал, поэтому испытал небольшой «культурный шок», минут 10 хлопал глазами (поскольку видел его впервые), но потом все таки разобрался – весьма логичный и понятный продукт.
- Следующей большой темой была Оптимизация. Рассказали об уровнях оптимизации и причинах медленной работы запросов. Рассмотрели что представляют собой индексы и как ими «управлять» из 1С. Обсуждали на что следует обращать внимание в планах выполнения запросов в СУБД.
- Так же широко рассматривалась тема блокировок (прежде всего блокировок СУБД). Рассматривали борьбу с «избыточными» (плохими) блокировками. Отдельно большой разговор был про борьбу с взаимоблокировками.
- Немного поговорили о особенностях тех или иных СУБД.
С SQL Profiler’ом было практическое задание, посвященное выявлению не оптимальных запросов (анализировались планы выполнения запросов)
Было нескольких практических заданий по работе с «Центром управления производительности». Выявлялись избыточные блокировки, взаимоблокировки. Так что тут так же очень пригодится опыт работы с ЦУПом.
На этом, к сожалению, время тренинга истекло.
Тренинг позволил здорово структурировать те сведения, которые «копошились» в голове. Позволил получить навыки работы с новыми (для меня) инструментариями. Получить практические навыки решения вопросов связанных с крупными внедрениями (как и на что следует обратить внимание).
Было действительно интересно.
Р.S. Это мой первый опыт написании статьи - не судите строго :). Возможно эта информация кому-то пригодится для подготовки.