Я начну небольшую трилогию. В ней существуют проблемы со здравым смыслом, если конечно вы не используете подобный метод измерения.
Если вы собираетесь работать с данными, то лучшим местом для ваших транзакций будет сама СУБД. В конечном итоге PL/SQL находится настолько близко к данным, насколько это только возможно. СУБД была рождена для обработки данных - не один десяток лет инженеры Oracle работали над максимально эффективными алгоритмами. Вы получаете консолидированную систему, которую проще и дешевле сопровождать и которая может работать везде, где способна работать СУБД Oracle.
Идиллия? Не тут-то было.
Разработчики не могут диктовать СУБД подходы к программированию. Наверняка вы уже видели презентацию Тома Кайта Database Worst Practices. Один из слайдов говорит вам, что масштабирование не происходит само по себе. Для того, чтобы получить масштабируемую систему, вам необходимо следовать соответствующим подходам к проектированию и программированию. Использование самой масштабируемой СУБД в мире не гарантирует вам ничего, если ваши разработчики не понимают, что им необходимо читать столько же книг по СУБД Oracle, сколько они читают по своим любимым языкам программирования. Или, лучше того, - СУБД Oracle и должна быть их любимой средой программирования.
Что происходит, если вы начинаете использовать кувалду, потому что всё выглядит для вас как гвоздь (© Abraham Maslow)? Все шансы, что вы получите самое медленное и не масштабируемое приложение в мире.
Примерно год назад я видел кандидатскую диссертацию. В числе прочего в ней была написанная под СУБД Oracle программа. Автор не использовал order by - вообще. Вместо этого, он тащил все данные на клиента и сортировал их методом пузырька. Вы думаете, что я шучу? Если бы так. Безусловно, для всех является очевидным, что инженеры Oracle за три десятка лет не смогли реализовать нормальные алгоритмы для сортировки - новоявленный кандидат явно переплюнул их за один вечер... Или он просто не знал про order by? Стоит ли говорить, что эта кандидатская была успешно защищена. Ещё одно доказательство, что система оценок нашего образования не имеет ничего общего с практической применимостью?
Я уже писал об этом. Разработчики умудряются допускать все известные миру ошибки, просто потому что не способны прочитать два десятка страниц.
В результате выходит реализованная на базе самой масштабируемой СУБД в мире система, которая не может масштабироваться. Что вы будете делать? Безусловно, вы осознаете - проблема в том, что пока вы не знаете, как масштабироваться в этой СУБД? Или нет...? Но об этом в следующей части.
Thursday, November 30, 2006
Subscribe to:
Post Comments (Atom)


Dobrui Djen! Once I've lerned russian, but that's a long time ago... cheers!
ReplyDeleteChris,
ReplyDeletei'm seriously considering starting parallel version of my blog in English. Just too many peoples try to read it via online translators.