Влияние MVCC на миграцию из оракула в db2

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

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

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

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

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

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

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

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам