2010-05-14 1 views
1

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

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

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

Итак, после принятия Oracle как должное все это время .... и перечитав Tom's article на MVCC (Multiversion Concurrency Control) и пройдя через this post, заявив, что DB2 не является «в списке» или «просто подсказкой», toeing в области «как бы ... I знаю Я не могу быть уверен, что продукт будет работать с DB2 как есть.

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

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

DB2 licenses Postgres Plus - DB2 9.7
Enterprise DB Oracle Compatibility

ответ

1

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

+0

да! это именно то, что я ищу. Благодаря! –

0

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

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

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

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

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

+1

О, это определенно приложение, считывающее данные, которые одновременно изменяются ... Но ... беспокоящая часть заключается в том, что «различные базы данных, выполняющиеся в том же, по-видимому, безопасном уровне изоляции, могут и будут возвращать очень разные ответы при тех же обстоятельствах ». Различные результаты тестов для разных баз данных? :) –