1.新的系统按模块一个个开发出来,不能一下子全部切换,那数据怎么打通:旧的系统还在用 oracle,新的系统某个模块已经在使用了,并且用的是 mysql. 2.如果切换困难,想问下 oracle 做商业软件成本有多高? 我们的系统是打算做成商业软件卖给别人的,私服搭建或放在云上都可以.
1
moodasmood 2019-07-04 13:00:41 +08:00 via Android
我记得 oracle 按服务器处理器核心数收费吧,一个核心多少万
|
2
linbiaye 2019-07-04 13:13:34 +08:00
双写,读 mysql,mysql 找不到读 oracle,同时后台把 oracle 数据导入 mysql, 导入完毕丢弃 oracle
|
3
7654 2019-07-04 13:30:18 +08:00
@moodasmood #1 56 核心,溜了,去问问系管花了多少钱。。
|
4
leonardyang 2019-07-04 14:22:47 +08:00
旧系统用 Oracle,新服务用 mysql,既然是按模块划分的,模块间数据访问完全从模块接口走就行了,前后端分离情况下前端也只是改访问接口,有啥问题
|
5
peyppicp 2019-07-04 14:41:47 +08:00
1.双读双写,以老库数据为准,然后更新新库数据。
2.定时任务定时扫两边的某个表,肯定会扫出两边数据不同的记录,还是以老库为准,更新新库 3.定时任务爆出的数据不同的条数逐渐减少到 0 为止,再运行一段时间 4.双写单读,读新库,等定时任务完全无条数且稳定后,单读单写新库,此时数据库切换完成 建议以上步骤以表维度进行 |
6
hasdream 2019-07-04 16:59:08 +08:00
国内有几个用 oracle 数据库买授权的。
|
7
reus 2019-07-04 22:23:36 +08:00
建议用 PostgreSQL,和 Oracle 更接近。MySQL 太弱。
|
8
laozhoubuluo 2019-07-04 23:24:45 +08:00
有接口的肯定最省事,前置一个平台决定某个接口是给到老系统还是新系统。
如果没有的话,双读双写 MySQL 事务又弱,系统改造弄套中间件处理太重,临时解决方案是上锁( O 库锁行,M 库锁行,O 库执行,M 库执行,O 库解行锁,M 库解行锁),除非是小系统否则并发受不了,而且还需要改造老软件,可行性很小。 鉴于不是啥系统都是按接口设计的,尤其是老 oracle 系统基本都是操作关联页面,很难做到同时运行。 另外我还没想明白一个事情,既然是商业软件,而且目标是替代原系统,那绝大多数模块应该是开发完的,完全可以先开发甲方要求的定制模块,完了建立测试系统从 oracle 导出数据做测试,测试好了直接一晚上割接解决。 |
9
gancl OP @laozhoubuluo 系统太大了,没办法一晚上全切换,忘一切换失败,现场用户影响了会后果很严重. 也没信心这么多功能全做完了再一起切换.
看样子只能用回 oracle 了, 听领导的话, 少操这方面的心了. |
10
laozhoubuluo 2019-07-05 08:07:34 +08:00
@gancl 如果要是能做到新模块和旧模块不并行运行,也可以考虑首先切换用户中心,完了新用户中心用户数据和老系统间加入接口,完了新模块数据在 MySQL,旧模块数据在 oracle,割接根据模块关系按批次走。
问题就是还需要改造老软件,特大企业这么搞没问题,商业软件这么搞老系统那边真的不一定能改。 |
11
laozhoubuluo 2019-07-05 08:12:57 +08:00
@gancl 总之保证多数一个模块同时只有一个生效的(除了用户中心这种特殊模块两段运行),这样压力会小很多。
|
12
hanxiaomeng 2019-07-05 11:30:44 +08:00
oracle 按 CPU 付费的话一个十几万吧,按 User License(并发连接)一个 License 几千吧
|