Миграция с MS SQL на DB2

User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: Миграция с MS SQL на DB2

Post by Sabina »

zVlad wrote:Вы меня явно заинтриговали, Sabina. Не могли бы развернуть мысли о том "...что они хотят идет немного в разрез с назначением нашего приложения и нехило его усложняет в то время как прелесть его в простоте". Чем DB2 может усложнить жизнь то? Или дело не в DB2?


Нет, конечно же не в DB2 дело. ИБМ проявили интерес к нашей программе, но им надо чтобы она делала совершенно специфичные вещи, а именно работала с их help desk для фермы серверов, типа той что в Колорадо.
Сама программа для network management, интегрирована с Visio. Прелесть ее в том, что она достаточно проста.

Многие коллеги считают, что мы убъем кучу времени пытаясь переделать продукт, и все понапрасну. Менеджмент пытается получить с них спецификации ....

А переход на DB2, это как бы само собой разумеется раз под IBM.
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Re: Миграция с MS SQL на DB2

Post by zVlad »

Sabina wrote:
zVlad wrote:Вы меня явно заинтриговали, Sabina. Не могли бы развернуть мысли о том "...что они хотят идет немного в разрез с назначением нашего приложения и нехило его усложняет в то время как прелесть его в простоте". Чем DB2 может усложнить жизнь то? Или дело не в DB2?


Нет, конечно же не в DB2 дело. ИБМ проявили интерес к нашей программе, но им надо чтобы она делала совершенно специфичные вещи, а именно работала с их help desk для фермы серверов, типа той что в Колорадо.
Сама программа для network management, интегрирована с Visio. Прелесть ее в том, что она достаточно проста.

Многие коллеги считают, что мы убъем кучу времени пытаясь переделать продукт, и все понапрасну. Менеджмент пытается получить с них спецификации ....

А переход на DB2, это как бы само собой разумеется раз под IBM.


Sabina, мне кажется Вы и Ваши коллеги немножко перебарщиваете. Сотрудничество с ИБМ - это должно быть здорово (если конечно ваш менежемент умеет держать форму). Но для вас это ... сами понимаете - все мы люди подневольные. Не мы с ИБМ-ами и Мелкософтами общаемся, а наши менеджеры. Что касается DB2 - там все должно быть ОК. Иначе пишите, вылезу из кожи - помогу.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: Миграция с MS SQL на DB2

Post by Sabina »

zVlad wrote:Sabina, мне кажется Вы и Ваши коллеги немножко перебарщиваете. Сотрудничество с ИБМ - это должно быть здорово (если конечно ваш менежемент умеет держать форму). Но для вас это ... сами понимаете - все мы люди подневольные. Не мы с ИБМ-ами и Мелкософтами общаемся, а наши менеджеры. Что касается DB2 - там все должно быть ОК. Иначе пишите, вылезу из кожи - помогу.


Cпасибо за предложение помощи. Она мне конечно очень нужна, я ведь интерн вообще говоря. Но мне очень многое на работе доверяют. То ли их положение такое, то ли я заслуживаю доверия. В случае второго тем более хочется его оправдать.

То, что deal с ИБМ, был бы для нас большой удачей, это понятно. Но ведь поскольку "не мы с ИБМ-ами и Мелкософтами общаемся", кто их там знает какой на самом деле разговор состоялся между их представителем и нашим sales. Хочется надеятся, что хотя бы спецификации будут на бумаге...
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Re: Миграция с MS SQL на DB2

Post by zVlad »

Sabina wrote:
zVlad wrote:Sabina, мне кажется Вы и Ваши коллеги немножко перебарщиваете. Сотрудничество с ИБМ - это должно быть здорово (если конечно ваш менежемент умеет держать форму). Но для вас это ... сами понимаете - все мы люди подневольные. Не мы с ИБМ-ами и Мелкософтами общаемся, а наши менеджеры. Что касается DB2 - там все должно быть ОК. Иначе пишите, вылезу из кожи - помогу.


Cпасибо за предложение помощи. Она мне конечно очень нужна, я ведь интерн вообще говоря. Но мне очень многое на работе доверяют. То ли их положение такое, то ли я заслуживаю доверия. В случае второго тем более хочется его оправдать.

То, что deal с ИБМ, был бы для нас большой удачей, это понятно. Но ведь поскольку "не мы с ИБМ-ами и Мелкософтами общаемся", кто их там знает какой на самом деле разговор состоялся между их представителем и нашим sales. Хочется надеятся, что хотя бы спецификации будут на бумаге...


Sabina, ИБМ - это как партком в советские времена - никогда не подведет. Надежный как ... я не знаю что..
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: Миграция с MS SQL на DB2

Post by Sabina »

zVlad wrote:[Sabina, ИБМ - это как партком в советские времена - никогда не подведет. Надежный как ... я не знаю что..


Влад, вы не смотрели фильм Pirates of Silicon Valley? Он тут был по телеку несколько лет назад, муж где-то в И-нете купил его недавно на VHS.
Я в это фильм просто влюбилась. Он о временах начала Apple и Microsoft. Любопытно что Джобс и Гейтс сказали посмотрев этот фильм :mrgreen:
Так вот там очень любопытный образ IBM нарисован.
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Re: Миграция с MS SQL на DB2

Post by zVlad »

Sabina wrote:
zVlad wrote:[Sabina, ИБМ - это как партком в советские времена - никогда не подведет. Надежный как ... я не знаю что..


Влад, вы не смотрели фильм Pirates of Silicon Valley? Он тут был по телеку несколько лет назад, муж где-то в И-нете купил его недавно на VHS.
Я в это фильм просто влюбилась. Он о временах начала Apple и Microsoft. Любопытно что Джобс и Гейтс сказали посмотрев этот фильм :mrgreen:
Так вот там очень любопытный образ IBM нарисован.



Sabina, Образ ИБМ написаный в том фильме - ложный. Я наслышан о том фильме, но не видел. Уж если мы профи - нам неслед формировать наши чувства под то что дает Hollywood!!!! Yeach...... I like Hollywood but..... you know.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: Миграция с MS SQL на DB2

Post by Sabina »

zVlad wrote:
Sabina wrote:
zVlad wrote:[Sabina, ИБМ - это как партком в советские времена - никогда не подведет. Надежный как ... я не знаю что..


Влад, вы не смотрели фильм Pirates of Silicon Valley? ...
Так вот там очень любопытный образ IBM нарисован.


Sabina, Образ ИБМ написаный в том фильме - ложный. Я наслышан о том фильме, но не видел. Уж если мы профи - нам неслед формировать наши чувства под то что дает Hollywood!!!! Yeach...... I like Hollywood but..... you know.


А там как раз ИБМ и изображена наподобие компартии, только вместо френчей и красных звезд - business suits.
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Re: Миграция с MS SQL на DB2

Post by zVlad »

Sabina wrote:
zVlad wrote:[Sabina, ИБМ - это как партком в советские времена - никогда не подведет. Надежный как ... я не знаю что..


Влад, вы не смотрели фильм Pirates of Silicon Valley? Он тут был по телеку несколько лет назад, муж где-то в И-нете купил его недавно на VHS.
Я в это фильм просто влюбилась. Он о временах начала Apple и Microsoft. Любопытно что Джобс и Гейтс сказали посмотрев этот фильм :mrgreen:
Так вот там очень любопытный образ IBM нарисован.


Об ИБМ написано немало книг, из которых можно составить об образе ИБМ более правильное представление. Когда то давно я читал перевод одной такой книги. Кажется называлась она "ИБМ - самая успешная компания в мире". Точно не помню. Вот там образ ИБМ более полно и верно представлен.
Образ ИБМ в упомянутом Вами фильме - это образ с позиции молодых, начинающих бизнесменов, пытающихся заскочить в новое направления в уже, вообщем то сложившийся, на тот момент бизнес программного обеспечения.
Очевидно, что ИБМ несколько недопоняла специфику этого нового направления, которая (теперь это очевидно - тогда было несовсем) состоит в парадоксе когда для коммерческого успеха вовсе не обязательно быть лучшим, достаточно нравиться и удовлетворять сиюминутные запросы широких масс не всегда достаточно образованных пользователей ПК.
Затем в 90е ИБМ сново недооценила влияние "дешевых" решений на базе RISC и UNIX.
Когда затрагивается тема ИБМ мне всегда вспоминается как один сотрудник ИБМ-Россия рассказывал со слов более заграничного ИБМ-ера, что ИБМ имела и всегда будет иметь до 60% компьтерного бизнеса. Это было сказано в начале 90-х. Возможно сейчас это и не так, но мне тем не менее сдается ИБМ работает над этим недостатком и работает очень упорно. И не уверен, что ИБМ не сможет вернуть себе те 60%.
Возьмеv тот же вопрос о базах данных. Оракл был фактически монополистом на платформе Unix к середине 90х. ИБМ-а в этом секторе вообще не было. ИБМ конкурировал своими ОС-ами и DB2 с других платформ - МФ, AS/400, ПК. Думается мне в то время ИБМ вообще не собирался появляться с Unix-ом. И вот DB2, как многоплатформенная БД (включая Unix), начата с середины 90х (на ПК имелась к тому времени уже). И смотрите она не плохо смотрится на маркете (последние годы показывала очень не плохой рост внедренийю Конечно этому поспособствовала и покупка Informix-a) не говоря уже о чисто технических аспектах. Причем ИБМ конкурирует как с Оракл на платформах Unix/Windows, так и с MS SQL на Windows. И не только по базам данных, но практически по всем направлениям (за исключением игр).
hren
Уже с Приветом
Posts: 507
Joined: 15 May 2002 13:30
Location: Moscow, Russia

Post by hren »

zVlad wrote: Мне кажется это одна из самых типичных задач. Возьмем систему резервирования билетов (на что угодно). Что надо сделать? Получить какое-то представление о том что доступно, выбрать, подержать, и ... или отпустить или забрать одно из мест. Что мы можем сделать в Оракле? Прочитать не учитывая, что кто-то уже меняет (резервирует) места, но еще не закомиттел. Порешать, выбрать .... и узнать, что это место уже взято. Oh, sorry, let's try again. Нет конечно так на Оракл такой приклад не пишется (я думаю). В прикладе сразу выдается ... что? Правильно SELECT ..... FOR UPDATE. И во что после этого превращается Оракл? А Оракл после этого превращается ....опять правильно - "в элегантные шорты", т.е. в блокировочник. Я не прав?
В DB2 для таких задач имеется Isolation Level Cursor Stability! Я знаю точно что я не прав, но не сильно.
Мы говорим о больших системах с высокой степенью конкурентности? Тогда возможностей уровня изоляции CS явно недостаточно для того, чтобы обеспечить правильное поведение приложения в описанной Вами ситуации. Длительность такой временной блокировки должна быть ограничена, причем не настройками СУБД, а программно, поскольку пользователь должен быть уведомлен о приближающемся времени снятия блокировки. Для систем кассового обслуживания (as apposed to self service) кассир должен видеть статусы заблокированных, но не проданных объектов отдельно, как кратковременно заблокированные. Да и для self service это может быть полезно. Кроме того, автоматическая блокировка только одной записи далеко не всегда желательна, гораздо полезнее подвергать такой блокировке произвольные наборы, определяемые клиентом (представьте продажу мест в зале кинотеатра). Если же все это делать, то лучше реализовать все эти вещи руками и уж конечно не с помощью select for update - это уже техника лома. Вы не согласны? Мне кажется, что Ваш пример неудачен.

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

Я видел здесь очень интересные обсуждения версионников и блокировочников, но они похоже умерли во время сбоя Привета и я не успел их внимательно прочитать. Очень жаль и простите за повтор.
sp123
Уже с Приветом
Posts: 1962
Joined: 24 Feb 2001 10:01
Location: Челябинск -> Everett, WA

Post by sp123 »

hren,

После прочтения вот этого короткого документа у меня отпали все вопросы, очень рекомендую: http://www7b.software.ibm.com/dmdd/libr ... ilkins.pdf
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

hren wrote:
zVlad wrote: Мне кажется это одна из самых типичных задач. Возьмем систему резервирования билетов (на что угодно).
........
В DB2 для таких задач имеется Isolation Level Cursor Stability! Я знаю точно что я не прав, но не сильно.

Мы говорим о больших системах с высокой степенью конкурентности?
........

Если же все это делать, то лучше реализовать все эти вещи руками и уж конечно не с помощью select for update - это уже техника лома. Вы не согласны? Мне кажется, что Ваш пример неудачен.

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

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


Hren, я не такой уж крутой прикладной програмере - больше админ, чтобы на равных спрорить по вопросам реализации. Ваша мысль о показе в приложении того что на данный момент модифицированно но не зафиксированно, оказалась для меня откровением - никогда не приходило в голову такого подхода. Одно можно сказать с большой степенью вероятности - в БД-ых нет системной возможности напрямую (без вспомогательных столбцов) узнать модифицуеруется запись в данный момент или нет.
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

zVlad wrote:
tengiz wrote:
zVlad wrote:но хочется все таки добавить для полноты изложения, что ANSI's READ COMMITTED представлен в DB2 двумя уровнями - Cursor Stability and Read Stability. И они безусловно хоть как-то но отличаются.

DB2 REPEATABLE READ == ANSI SERIALIZABLE
DB2 READ STABILITY == ANSI REPEATABLE READ
DB2 CURSOR STABILITY == ANSI READ COMMITTED


Cогласен (в смысле у меня на данный момент нет возражений и я не вижу смысла возражать в контексте более важной темы, а скорее всего Вы просто правы. Прямо сейчас, не знаю).


Проверил в надежном источнике - так оно и есть, Tengiz. Позволь лишь один уточняющий вопрос? В случае READ COMMITTED в MS SQL оператор FETCH блокирует следующую запись и ...(внимание вопрос) снимает блокировку с предыдущей?
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

tengiz wrote:zVlad,

Я думаю, что у Вас закончились бы вопросы и претензии к ORACLE по поводу атнинаучной еретической лженауки про многоверсионность, если бы Вы наконец прочитали что-нибудь толковое по теме. Например, вот этот классический учебник по обработке транзакций, написанный в середине 80-х, когда теория многоверсионности уже была в очень зрелом состоянии и ссылку на который я уже пару раз здесь выкладывал: Concurrency Control and Recovery in Database Systems by Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman. И в частности главу 4 (Non-locking schedulers) и главу 5 (Multiversion concurrency control).

Желаю Вам приятного чтения!


Ну Вы шутник, Tengiz, Вы что думаете в моем возрасте (48 ) можно такое читать без риска повредить головной мозг? Я конечно постараюсь, но на первый взгляд мне уже этого не осислить. Мне бы что-нибудь попроще, подушевнее. Типа:

http://www-3.ibm.com/software/data/pubs ... extech.pdf

Кстати рекомендую это как дополнительное чтение к тому что порекомендовал sp123 (кстати, Hren, в этой статье есть несколько фраз о сравнеии DB2 и Оракл на приложениях типа что Вас особо интересуют, прочтите до конца). А еше там есть например вот такое:

"Oracle Locking
In contrast to DB2, Oracle doesn't acquire read locks when they process a SELECT statement. Instead, they guarantee that the application will always see the data as it existed when the OPEN CURSOR was performed. If they don't acquire locks and yet still allow changes to the data, how can they make that guarantee?
During FETCH, Oracle must examine each row that was previously part of the OPEN to determine if it was changed between the time it was opened and the time it was fetched. If the row was modified by another user, Oracle has to search through rollback segments to find the row image that existed during the OPEN. In a high-volume, high-concurrency update workload, this algorithm can introduce extremely high CPU and I/O costs."

А что если на момент OPEN имелась транзакция модификации, которая в дальнейшем откатится. Получается что моментом начала для FETCH должен быть самый близкий момент, когда никаких незакомиченных модификаций не было, т.е. даже раньше чем момент OPEN. Пролейте свет, Оракловцы!
Last edited by zVlad on 15 Oct 2003 01:27, edited 1 time in total.
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

zVlad wrote:В случае READ COMMITTED в MS SQL оператор FETCH блокирует следующую запись и ...(внимание вопрос) снимает блокировку с предыдущей?

Да, это делается и для курсора, и для незнакомых DB2 и ORACLE "толстого" курсора, а также сущности, которая называется firehose - результата оператора SELECT без явного создания курсора. Что является функциональным аналогом FORWARDONLY READONLY CURSOR, но работает заметно эффективнее.
Cheers
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

zVlad wrote:Ну Вы шутник, Tengiz, Вы что думаете в моем возрасте (48 ) можно такое читать без риска повредить головной мозг? Я конечно постараюсь, но на первый взгляд мне уже этого не осислить.

zVlad - ну у Вас же техническое образование. Должны осилить. Но только читать эту книгу нужно с самого начала. Иначе будут проблемы с нотацией. Эта книга - университетский учебник. Толковые студены CS отделений спокойно её воспринимают за семестр.
Кстати рекомендую это как дополнительное чтение к тому что порекомендовал sp123. Там есть например вот такое:

zVlad, к сожалению, и то, что выложит sp123 и много другое что я видел на сайте IBM (для других, разумеется, это тоже в общем верно) - довольно поверхностный материал. В общем, то, что называют "полупопулярной полуграмотной полуправдой". Откровенного вранья, как правило, там очень мало (хотя периодически и попадается), но полезных сведений тоже кот наплакал. В итоге у читающего возникает довольно кривое представление о предмете изложения. В общем все эти статьи, говоря откровенно, техническая халтура.
Cheers

Return to “Вопросы и новости IT”