Friday, April 27, 2007

Наблюдение дня

Количество обвинений компонента системы обратно пропорционально пониманию.

Tuesday, April 24, 2007

Конкурс

Наилучшие технологии далеко не всегда побеждают, равно как наихудшие - не всегда проигрывают.

Тем, кто с технологической точки зрения может выиграть разве что в Wall Mart - стоит попробовать себя в этом конкурсе.

Wednesday, April 18, 2007

Избранные цитаты

"System performance is designed and built into a system. It does not just happen."

"The application has the biggest impact on scalability."

"In many cases, the cost of re-designing a system with the associated downtime costs in migrating to new implementations exceeds the costs of properly building the original system. The moral of the story is simple: design and implement with scalability in mind from the start."

"However, any performance increases achieved by adding hardware should be considered a short-term relief to an immediate problem."

"Poorly designed systems perform poorly no matter how much extra hardware is allocated" -
моя любимая.

"In the most general terms, if the design looks correct, then it probably is."

"If the calls to the database are abstracted away from the application logic by many layers of software, then there is probably a bad software development method."


Если бы только люди уделяли больше внимания тому месту, в котором располагаются эти цитаты...

Tuesday, April 17, 2007

"Идеальная" пара

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

Масштабирование невозможно, если любой участок этого стека препятствует её достижению.

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

Friday, April 13, 2007

Between - литерал?

Oracle Support

"Мы предполагаем, что CBO трактует between как литерал..."

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

Кто тут последний в клуб?

Thursday, April 12, 2007

ROWID имеют больший приоритет у BETWEEN?

Oracle Support

"Between означает диапазон значений, поэтому ROWID должны иметь больший приоритет. При использовании детерминированных значений
(=,<,>), индекс должен иметь больший приоритет."

Они имею в виду не то, что они имеют в виду?

Я думаю, мне стоит попробовать подвигать корзину... в свободное время.

Wednesday, April 11, 2007

Начисление скидок производилось 80 процессами...

Вот как это происходит.

У вас есть изначально тормознутый процесс, производительности которого вам не хватает. Как его ускорить? Конечно - мы просто запустим N таких процессов, и они станут работать в N раз быстрее, верно?

Эта идея является настолько же наивной, насколько широко она распространена. В последнее время я даже использую это в качестве индикатора. Если это первое, что вам посоветуют, не проводя при этом никакого предварительного анализа - я могу сказать, чего будет стоить всё остальное.

К сожалению, тормознутость очень часто идёт рука об руку с отсутствием масштабируемости. Вы ничего не решите, пытаясь параллельно запускать тонны немасштабируемого кода. Только обнаружите, что упёрлись в очередной механизм сериализации, будть то latch или enqueue.

Tuesday, April 10, 2007

Что нужно хорошему DBA?

На oracle-l сейчас идёт обсуждение Non Oracle knowledge to be a good Oracle DBA/expert.

Я согласен насчёт того, как важна именно комбинация Developer/DBA. Если вы спросите меня - нам действительно нужно больше именно таких людей.

Многие DBA занимаются настройкой экземпляра не замечая фундаментальных недостатков в приложениях (и откуда знать, как это должно быть на самом деле, если вы никогда не занимались разработкой сами?). Многим developers не хватает знаний принципов работы СУБД для разработки и проектирования эффективных приложений.

Нам нужно больше Developer/DBA.

Friday, April 06, 2007

Тайные знания

У меня есть теория, как заставить людей читать документацию – надо поставить на ней гриф “совершенно секретно”.

Я говорю о любой информации, не предназначенной для общественного использования. Количество интереса, которое люди испытывают к информации подобного рода, иногда удивляет.

Нет ничего плохого в знаниях особенностей внутренней реализации, например. До тех пор, пока вы не забываете, что без знаний основ, они в лучшем случае бесполезны, а в худшем – двусмысленны и опасны. Тайные знания, как признак “элитарности”, могли бы быть таковыми, но только не когда обладатель этими знаниями не способен оптимизировать SQL запрос.

Меня часто спрашивают, после того как я указал на недостатки приложения, - “что мы ещё можем сделать? Как нам надо поступать?”. Единственный ответ, который я могу им дать – “прочитайте документацию, поймите инструмент, который вы используете”. В большинстве случаев я слышу, что это не ответ . Не удивлен. Если бы они думали иначе – то в первую очередь не оказались бы там, где они сейчас.