Sunday, November 25, 2007

KIWI

Скажу честно -- мне очень нравится эта аббревиатура. Для тех, кто с ней не знаком, она означает "Kill It With Iron".

Отличить любителя KIWI очень просто. Просто задайте ему вопрос -- как мне сканировать 100GB данных быстрей? Если первым делом он Вам начнёт рассказывать про Parallel Query, количество шпинделей в вашем дисковом массиве и сколько вам нужно HBA на каждый процессор... Перед Вами любитель KIWI, которые, как известно, не умеют летать.

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

Вам необходимо как минимум два HBA (Host Bus Adapter) на каждый процессор... Конечно, убедитесь что вы можете держать Вашу кувалду двумя руками сразу. Я вот что Вам скажу -- я видел несколько систем, когда расширение дисковой подсистемы не сделало ничего хорошего (например). Я не буду даже упоминать, как далеки эти системы были от "два HBA на CPU" даже после расширения.

Давайте не будем забывать, что единственный правильный вопрос -- это "зачем вы хотите сканировать сотни гигабайт данных"? В конце 2007 года у нас есть достаточно технологий в СУБД Oracle, чтобы не делать этого вообще, вместо того чтобы думать, как делать это быстрей.

Wednesday, November 21, 2007

Проишествие дня

SQL> alter database recover managed standby database finish skip standby logfile;
alter database recover managed standby database finish skip standby logfile
*
ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 1: '/oradata/stage/datafile/system_01.dbf'
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/oradata/stage/datafile/system_01.dbf'
ORA-01130: database file version 9.2.0.0.0 incompatible with ORACLE
version 9.2.0.0.0
Звучит почти как "Oracle не совместим с самим Oracle"...

Friday, November 16, 2007

Чтобы сделал я?

Прежде всего -- учёт времени является основой для контрактов и планирования ресурсов. Для этих целей нет ни одной объективной причины, почему система должна быть персонализированной. Это просто -- если у вас нет возможности отслеживать индивидуальное время, то обманывать систему ради того, чтобы ваш счётчик был больше, чем у соседа, теряет смысл -- ваших многочасовых "подвигов" все равно никто не увидит. На первый взгляд может показаться, что это даст людям возможность прятаться за остальными. Но, во-первых, если человек не хочет работать, то он и не будет работать. Во-вторых, непосредственный менеджер всё равно владеет ситуацией на индивидуальном уровне, а более высокому менеджменту лезть в персональное время нет никакого смысла. Агрегированное до уровня команды время подойдёт для них не чуть не хуже, чем персонализированное. В третьих, дать возможность людям честно вносить меньше времени -- это лучше, чем вести бесконечную войну с обманом, которую вы в придачу не можете выиграть. А не можете вы её выиграть потому, что боритесь за продуктивность измеряя время. Это все равно, что сравнивать микроволновые печки с летающими соусницами.

Остаётся только чтобы менеджмент перестал прыгать вокруг вас с "у нас мало часов", иначе раздувать начнут в том числе и обезличенное время.

Thursday, November 15, 2007

Шесть за восемь

Шесть за восемь

И что вы будете делать с людьми, заносящими шесть часов своего времени как восемь?

Цели

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

Наш ответ Чемберлену

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

Они так работают

Это может звучать банально, на работающие шесть часов в день люди просто так работают -- шесть часов в день. Это наиболее комфортный для них режим работы. Реальная проблема заключается в том, что даже если исключить все возможности вносить больше времени чем прошло на самом деле -- то они все равно будут работать шесть часов в день. Да, они будут сидеть в офисе на два часа больше. Но если кто-то думает, что они при этом будут больше работать -- то у меня мост в Бруклине. Если продуктивность это отношение реальной работы к внесённому времени, то она останется точно там же, где и была. Единственный способ повысить продуктивность -- это дать таким людям возможность честно вносить шесть часов вместо восьми. Но это не возможно, пока система измерений персонализирована. Даже если менеджмент перестанет обращать внимание на количество часов (а они не перестанут), само наличие системы измерений уже достаточно для того, чтобы люди пытались выглядеть на ней лучше, чем другие. По-видимому, ещё пара лет у менеджмента уйдёт на то, чтобы осознать, что они всё равно проиграют.

Биты и байты

Первым делом...

SQL> alter system resume;

System altered.


Oracle OpenWorld 2007 -- keynote Ларри Эллисона, посвящённая организации корпорации Oracle. Они даже не знали, как заполнять бухгалтерские документы, а первым CFO стал "nice guy", который разносил пиццу... Рекомендую.

В свободное время я посмотрел на Query Result Cache -- здесь, здесь и вот здесь. Масштабируемость по прежнему вызывает у меня сомнения, осталось посмотреть вокруг, чтобы найти 8-процессорный (или больше) сервер куда поставить 11G и повторить тесты. Единственный латч, который захватывается исключительно в экслюзивном режиме, кажется еще более странным на фоне того, что Oracle позиционирует эту фичу для Hi-End OLTP-систем...

Не знаю, как это ещё назвать, кроме как Ultimate PL/SQL Bloatware. 35000 строк PL/SQL кода в одном в пакете? Легко. По-видимому, это происходит при помощи "наследования через редактор", он же "copy&paste", он же "скорее всего результат того, что программистам платят за LOC". Более полумиллиона строк кода в схеме. Стоит ли говорить, что некоторые пакеты разделялись исключительно для того, чтобы с ними просто можно было работать, что вселяет некоторые сомнения в модульном подходе к программированию. Был там, видел это.

Из этого могла бы выйти неплохая шутка. Диалог:
-- У моего друга проблема.
-- ????
-- Он зашифровал данные при помощи MD5 и теперь пытается...
-- ... расшифровать?

И, как обычно, очередной пост насчёт моей любимой темы по учёту времени -- завтра.