Содержание

Организация

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

Если уж придираться, зал не совсем подходил для формата мероприятия: с задних рядов многим было плоховато видно за головами впереди сидящих и за двумя массивными колоннами в центре. И была общая скученность в фойе непосредственно у входа в зал, где находились столы регистрации, стоячие барные столики для кофе-брейков, стенд основного спонсора NetApp и что реально напрягало — место для курения. По идее, помещение позволяло все это как-то разнести.

В розданных материалах были слайды кажется по двум докладам из пяти.

Слушал по-английски, поэтому о переводе ничего определенного сказать не могу. По отзывам в интернете основная претензия к синхронистам — незнание предметной области («Предположим у нас есть таблица из тысячи рекордов...»), но это традиционно.

Общие впечатления...

...от Кайта

Не ждал от него никаких откровений, но шел с большим интересом. В общем-то чтобы не разочароваться в мероприятии мне достаточно было просто увидеть живого Тома Кайта :)

Бонусом к этому получил следующее:

...от других выступавших

Вела мероприятие Елена Бочарова из Центра компетенций Peoplemind.

Вступительное слово давалось спонсорам: кому-то (не записал...) из NetApp и Сергею Данилову из Oracle. Оба выступили кратко и ненавязчиво. Том Кайт в это время скромно ждал в уголке.

Двойственное впечатление оставила заключительная «панельная дискуссия». Кроме Кайта участвовали: Андрей Криушин, Борис Финкельберг от Russian Oracle User Group, Валерий Юринский из ФОРС, Валерий Кравчук (автор перевода книг Кайта).

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

Волков что-то постоянно шутил в тему и не в тему, что конечно веселило аудиторию, но в итоге впечатление от дискуссии окончательно скомкало. Для меня немногими любопытными моментами в ней было то, как Кайт отвечал на практические вопросы.

...от аудитории

333 человека из 150 компаний.

География обширна: от наших бывш. братских республик до Сыктывкара и каких-то сибирских нефтяных городов. Многие оплачивали участие своими деньгами (например жена — ее компания участие ей не оплатила, но и отгул брать на день не заставила :)).

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

Доклады

Доклады How Do You Know What You Know, The Best Way и Why: Why Why is probably the right answer я воспринял как этакое объяснение жизненной и профессиональной философии Тома Кайта. Любопытно послушать.

Database Worst Practices — более конкретный, но без откровений: взгляд «от противного» на то, что можно прочитать в его же книгах.

Top 10, no 11, new features of Oracle database 11g Release 2 — единственный практически полезный доклад.

Содержание докладов, заданные вопросы и т.п. достаточно подробно привел Дмитрий Белобородов. Дополню своими впечатлениями.

How Do You Know What You Know...

Основные идеи:

The Best Way

Вполне воспринялся как продолжение предыдущего доклада.

Основные идеи:

Запомнилось из лучших практик Брина Ллевеллина:

Database Worst Practices

Перечисление базовых вещей, о которых тем не менее многие забывают. Bind-переменные в динамическом sql, перехват EXCEPTION WHEN OTHERS и проч., и проч...

Сколько таблиц в базе данных достаточно?

Из забавного. Коллеги из ЗИС сидели по разным местам в зале, так вот на этом слайде с какой-то стороны будто бы послышалось: «t_aggr, t_aggr...» :)

Top 10, no 11, new features of Oracle database 11g Release 2

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

Пишем
 SELECT deptno,
        listagg( ename, '; ' )
        WITHIN GROUP
        (ORDER BY ename) enames
   FROM emp
  GROUP BY deptno
  ORDER BY deptno
Получаем
    DEPTNO ENAMES
---------- -----------------------------------------
        10 CLARK; KING; MILLER
        20 ADAMS; FORD; JONES; SCOTT; SMITH
        30 ALLEN; BLAKE; JAMES; MARTIN; TURNER; WARD
Пишем
with emp_data(ename,empno,mgr,l)
  as
  (select ename, empno, mgr, 1 lvl from emp where mgr is null
   union all
   select emp.ename, emp.empno, emp.mgr, ed.l+1
     from emp, emp_data ed
    where emp.mgr = ed.empno
  )
  SEARCH DEPTH FIRST BY ename SET order_by
  select l,
         lpad('*',2*l,'*')||ename nm
    from emp_data
   order by order_by
Получаем
         L NM
---------- --------------------
         1 **KING
         2 ****BLAKE
         3 ******ALLEN
         3 ******JAMES
         3 ******MARTIN
         3 ******TURNER
         3 ******WARD
         2 ****CLARK
         3 ******MILLER
         2 ****JONES
         3 ******FORD
         4 ********SMITH
         3 ******SCOTT
         4 ********ADAMS
С этим можно делать не только иерархические запросы, например
 WITH DATA(r)
   AS
  (SELECT 1 r FROM dual
   UNION ALL
   SELECT r+1 FROM DATA WHERE r < 5
  )
  SELECT sysdate+r
    FROM DATA;
Пишем
  CREATE flashback archive arc_of_T;
  ALTER TABLE T flashback archive arc_of_T; 
Получаем сохранение исторических данных с возможностью обращения к ним в любой момент примерно таким образом:
  SELECT * FROM T AS OF sysdate - 1 --Данные как они были в таблице на сутки назад
Подробно по-английски в Oracle Magazine: Managing History.
Пишем
  ALTER SESSION SET deferred_segment_creation=TRUE
Получаем создание таблиц/индексов без автоматического выделения им первоначального extent'а. Он реально выделяется только при появлении данных.
В БД может существовать несколько версий (edition). Объявив новую версию, в нее можно пронести какие-либо объекты: процедуры, вьюхи, изменить гранты, и т.п. — независимо от блокировок данных объектов пользователями, работающими с предыдущей версией, и не влияя на состояние объектов в ней. Пользователей можно неявно переключать между версиями.
Пока неясно как с таблицами. Но тем не менее это открывает дополнительные и широкие возможности для патчинга, тестирования и т.п.
Подробно по-английски в Oracle Magazine: I часть и II часть.

Why: Why Why is probably the right answer

Еще один общефилософский доклад.

Основная идея: перед тем, как ответить человеку, спроси, а зачем ему это нужно. Всегда проще дать очевидный ответ сразу, но переспросив «зачем?», ответ может измениться на: «не делай этого», «поступи иначе» — и такой ответ будет ценнее.

Немного мобилографии

Вступительное слово Елены Бочаровой
Кто-то из NetApp (идентифицируйте?)
Том скромно ждет своей очереди в углу
Том Кайт: Who am I
Том Кайт: Things Change
Панельная дискуссия
Розыгрыш футболок от Oracle
Автограф Тома :)



Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».

Репликация: База Знаний «Заказных Информ Систем» → «AskTom in Moscow: отчет Алексея Яблонского»