влияние MVCC на миграцию из оракула в db2 - PullRequest
1 голос
/ 14 мая 2010

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

Мое текущее приложение (которое обслуживает 100 пользователей) в настоящее время использует Oracle в качестве базы данных. У меня нет сохраненных процедур (на самом деле я хочу).

Теперь меня спросили, будет ли продукт работать, если я перейду на IBM DB2 в качестве базы данных.

Итак, после того, как все это было воспринято Oracle как само собой разумеющееся ... и перечитал статью Тома о MVCC (Multiversion Concurrency Control) и прочитал этот пост о DB2 не «в списке» или «просто на цыпочках в этом районе», как это было ... Я знаю Я не могу быть уверен, что продукт будет работать с DB2 как есть.

Нет надежды ... или есть хороший отказ от ответственности, который я мог бы использовать ..?

ОБНОВЛЕНИЕ : DB2 повысила ставку и сделала это хорошо, по крайней мере, на бумаге. Ну, я получил «пункт», чтобы добавить к моим требованиям db2 -igration.

Лицензии DB2 на Postgres Plus - DB2 9.7
Совместимость с БД Oracle Oracle

Ответы [ 2 ]

1 голос
/ 20 мая 2010

Я почти уверен, что это сработает. Я должен сообщить, что теперь я работаю в IBM специалистом по миграции. DB2 имеет лицензию Postgress plus, и это в DB2 9.7. По сути, это набор функций совместимости Oracle. Одна из этих особенностей Контроль параллелизма. Другими основными являются пакеты SQL диалект, PL / SQL, PL / SQL Встроенные пакеты, клиент JDBC с расширениями, клиентские приложения OCI, сценарии SQL * Plus.

0 голосов
/ 17 мая 2010

Не уверен, что вы ищете. Приложение, которое не считывает данные, которые одновременно вставляются / обновляются / удаляются, будет довольно "невосприимчиво" к MVCC (если только оно не снимает блокировки при чтении больших кусков, когда блокировка становится проблемой).

Приложение, которое в значительной степени только для вставки, также не будет беспокоиться.

Приложение, похожее на «твиттер», которое не заботится о «согласованности», также не должно беспокоиться.

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

Тем не менее, вы начнете с плана регрессионного тестирования. Сколько времени потребуется, чтобы запустить полный регрессионный тест в вашем приложении (каждый экран, пакетное задание и т. Д. Для больших объемов данных с большим количеством смоделированных пользователей.), Чтобы подтвердить его работу. Это не будет работать в первый раз без каких-либо изменений, так что удвойте эту цифру. Если ваш начальник не вздрогнет от такой суммы, попросите нескольких экспертов DB2 взглянуть на код и приложение и узнать их мнение.

...