2zVlad: спасибо за комментарий. Я не совсем с Вами согласен или, точнее, я не совсем понял, что Вы имеете в виду, говоря о "программе чтения с возможным изменением". В статье, на основании которой я высказался, содержится лишь обсуждение способа хранения информации об активных блокировках и смежные вопросы. Я по прежнему утверждаю, что влияния на семантику это не оказывает (или это влияние проявляется в виде неочевидных эффектов).
То, о чем Вы говорите, относится скорее к управлению семантикой поведения сервера при выделении блокировок, а точнее к более общей проблеме реализации конкурентности (уровней изоляции). Oracle работает на уровне изоляции Read Commited с использованием оптимистической мульти-версионной изоляции, известной также как snapshot isolation. DB2 я не знаю, как уже признавался. Из Ваших слов я делаю вывод, что DB2 поддерживает много уровней изоляции (возможность выбора уровня cursor stability). Для меня остается неясным, каким образом подобный уровень изоляции можно использовать с concurrent OLTP applications under heavy load - ведь он подразумевает пусть ограниченную, но блокировку по чтению. Если все это так, то Oracle и DB2 действительно сильно отличаются и приложения для них при портировании могут требовать существенной переделки.
Относительно преимуществ и недостатков, а также борьбы сторонников и противников разных СУБД. Я не отношусь ни к одному из идеологических лагерей, я не вижу тут идеологии. Для меня СУБД - интересные артефакты. Так получилось, что я знаю в некоторых пределех Oracle, но не знаю DB2. Oracle имеет массу недостатков, но имеет и массу достоинств. Это концептуально-цельный продукт и мощный инструмент, возможностей которого мне лично всегда было достаточно. Поэтому, пока компания Oracle продолжвает развитие продукта и его поддержку, я никому бы не посоветовал из каких-либо общих соображений, включая философию, моду, экономику (TCO), производительность и т.п. переходить с Oracle на что-либо другое. Я уверен, что большинство проблем имеют в Oracle оптимальное решение, а сам идея перехода с одной удовлетворительно работающей среды на другую - для меня нонсенс (поэтому я не CTO и никогда им не стану
![Smile :)](./images/smilies/icon_smile.gif)
). Что касается выбора Oracle как целевой среды для вновь проектируемого приложения, здесь не все так однозначно. Именно здесь можно проводить осмысленный сравнительный анализ СУБД как инструментов, учитывая также и собственные особенности (skills, expertise, whatever). О DB2 я слышал много хорошего и от разработчиков и от администраторов. Мне интересно узнать из первых рук, в чем ее преимущества, это позволит в дальнейшем более грамотно планировать архитектуру наших систем, рассматривая DB2 как опцию. Не секрет, что зачастую эта СУБД по прежнему воспринимается как некая экзотика, что-то очередное из недр IBM, где все всегда "свое", ни на что не похожее
Относительно документации Вы несоменно правы. Не забывайте однако, что Oracle - это компания с антрепренерским стилем управления, по сути детище одного очень своеобразного человека. Также как и Microsoft. Для IBM DB2 - это маленьких кусочек побочного бизнеса, из-за которого не стоит копья ломать, да и вообще не солидно это для компании таких масштабов и с такой историей
![Smile :)](./images/smilies/icon_smile.gif)