简体   繁体   English

MVCC对从oracle迁移到db2的影响

[英]the MVCC effect on migration from oracle to db2

I have a simple (actually simplified :) ) scenario that is possibly the cause for the headache I've been having for the last few days... 我有一个简单的(实际上是简化的:))场景,这可能是我最近几天一直头痛的原因...

My current application (that serves 100's of users) currently uses Oracle as the database. 我当前的应用程序(可为100个用户提供服务)当前使用Oracle作为数据库。 I have no stored procs (I wish actually). 我没有存储的过程(实际上我希望如此)。

Now, I've been asked if the product will work if I migrate to IBM DB2 as the database. 现在,有人问我是否可以将产品迁移到IBM DB2作为数据库产品。

So, after taking Oracle for granted all this while.... and having re-read Tom's article on MVCC (Multiversion Concurrency Control) and going through this post stating that DB2 is not 'on the list' or 'just tip-toeing in the area' as it were... I know I can't be sure that the product will work with DB2 as is. 因此,服用甲骨文是理所当然而所有这一切....和已经重新阅读后汤姆的文章在MVCC(多版本并发控制),并通过持续这篇文章指出,DB2是不是还是“只是提示,踮起脚在“名单”该区域的状态。。。我知道我不确定该产品是否可以按原样与DB2一起使用。

Is there no hope.. or is there a nice disclaimer I could use.. ? 没有希望..还是有一个不错的免责声明我可以使用..?

UPDATE : DB2 has upped the ante and made this look good, on paper at least. 更新 :DB2提高了赌注,至少在纸上使它看起来不错。 Well, I got the 'clause' to add to my db2-migration-requirements. 好吧,我得到了“条款”,可以添加到我的db2-migration-requirements中。

DB2 licenses Postgres Plus - DB2 9.7 DB2许可Postgres Plus-DB2 9.7
Enterprise DB Oracle Compatibility 企业数据库Oracle兼容性

I am pretty sure that this will work. 我很确定这会起作用。 I should disclose that I work for IBM now a migration specialist. 我应该透露我现在为IBM的迁移专家工作。 DB2 has licensed Postgress plus and this is in DB2 9.7. DB2已获得Postgress plus的许可,这在DB2 9.7中。 This is being used essentially a set of Oracle compatibility features. 本质上,这是使用一组Oracle兼容性功能。 One of those features is Concurrency control. 这些功能之一是并发控制。 The other main ones are SQL dialect, PL/SQL, PL/SQL packages Built-in packages, JDBC client with extensions, OCI client applications, SQL*Plus scripts. 其他主要的是SQL方言,PL / SQL,PL / SQL包内置包,带扩展名的JDBC客户端,OCI客户端应用程序,SQL * Plus脚本。

Not sure what you are looking for. 不确定你在找什么。 An application that isn't reading data that is being concurrrently inserted/updated/deleted would be pretty 'immune' to MVCC (unless it takes out locks while reading large chunks, when the locking becomes an issue). 不读取并发插入/更新/删除的数据的应用程序对MVCC可能是“免疫”的(除非在锁定成为问题时读取大块数据时要取出锁定)。

An application that is pretty much insert only wouldn't worry either. 几乎只插入一个应用程序也不用担心。

A 'twitter' like app, which isn't that concerned about "consistency" doesn't have to worry either. 像“ twitter”这样的应用程序,不必担心“一致性”,也不必担心。

In short, there are a lot of apps where it won't make a difference. 简而言之,在很多应用程序中它都不会改变。 Whether your app is in the group isn't something anyone out here can help with. 无论您的应用是否在组中,这里的任何人都无法帮助您。

That said, you would start with a regression test plan. 就是说,您将从回归测试计划开始。 How long would it take to run a full regression test on your application (every screen, batch job etc on high volume data with lots of simulated users.) to confirm it works. 在您的应用程序上运行完整的回归测试需要花费多长时间(每个屏幕,批处理作业等在具有大量模拟用户的大容量数据上),以确认它能正常工作。 It won't all work first time without any change, so double that figure. 如果没有任何更改,它不会在第一时间全部正常工作,因此请将该数字加倍。 If your boss doesn't wince at that total then get a few DB2 experts in to look at the code and app and get their opinion. 如果您的老板对此不满意,那么请一些DB2专家来研究代码和应用程​​序,并征求他们的意见。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM