返回顶部
首页 > 资讯 > 数据库 >Oracle实践需要解决哪些问题
  • 771
分享到

Oracle实践需要解决哪些问题

2024-04-02 19:04:59 771人浏览 薄情痞子
摘要

oracle实践需要解决哪些问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。“去 Oracle”一直是最近 10 年描述系统架构改造中最

oracle实践需要解决哪些问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

“去 Oracle”一直是最近 10 年描述系统架构改造中最常出现的词之一。虽然“去 Oracle”被很多工程师和技术从业者津津乐道,但业界真正能实现把系统全部去Oracle,特别是金融场景的核心系统全部去 Oracle 的案例并不多。那么去Oracle到底难在哪里呢。

为了解答这个问题,首先我们要理解去 Oracle 架构改造的本质是什么?去 Oracle 架构改造的本质其一是让系统架构具备在线更换数据库的能力,无论去 Oracle 的目标库是 Mysql,或是其他的关系型数据库,最终都是要解决这样一个问题。

在线更换数据库到底难在哪里,会遇到哪些问题呢?

1. 如何无感知的实时动态数据的迁移?

首先数据库作为交易型系统最核心的组件没有之一,这一点对于数据库的重要性评价一点都不夸张。当前大部分知名的网站和系统都是 7x24 小时对外提供服务,数据库也是 7*24 小时无时不刻处理着大量的读写服务,要实现去Oracle 就意味着你要在一个 Oracle 库还在对外提供服务的时候,在某个时间点让一个 mysql 库快速替换掉 Oracle 库,并平稳的接管 Oracle 的所有服务。

不同于无状态的系统组件切换把流量切走即完成切换工作,而数据库作为有状态的系统组件,如何设计一套从应用改造、到数据同步、再到数据库流量切换的稳妥去 Oracle 方案,可以非常谨慎的把一个正在对外提供服务,数据处在实时变化状态的 Oracle 库上的数据无缝的方式迁移至 Mysql 中。

2. 如何管理和协调好高频迭代的去 Oracle 改造和功能改造?

其次去Oracle 架构改造的主体工作是对应用层代码的重构,特别对 DAO(数据访问层)的重构,对于某些复杂的系统来说,重构的时间会持续数月甚至更久。在这段漫长的去Oracle 改造时间窗口里,不但 Oracle 库的数据在动态发生变化,对于一个处在高速迭代中的网站和系统来说,应用的功能代码也在不断发生变化。如果 A 团队在为应用做去 Oracle架构改造,而这个期间 B 团队在不断的给应用开发新的功能,如何进行去 Oracle 的工作拆分可以有效的管理和协调好两个开发团队的编码和上线节奏呢。

3. 如何稳妥落地数据库流量的在线切换?

当某个库的应用去Oracle 改造完成并上线后,会实施生产环境 Oracle 的流量切换到 MySQL 上。在这个切换过程中,如何确保 Oracle 上的最后一笔事务提交成功,并同步到 MySQL 后完成数据一致性校验,且针对这个 Oracle 库的所有写操作能在快速、全部切换到 MySQL 上,不会出现部分写流量 Oracle,部分写流量 MySQL,两库双写的异常状态。

当流量切换到 MySQL 后 a,如果出现应用报错或 bug、MySQL 性能问题等在前期压测或准备工作中未覆盖到的突发情况,如何实现流量快速回切到 Oracle 上,且确保在 MySQL 中写入的数据也能完全一致的回到 Oracle 中。

4. 如何有效拆分去Oracle 的任务?

要实现全站去 Oracle,必然面临着对一些复杂、庞大的核心系统进行去 Oracle 改造。以陆金所为例,在全站中像用户中心、资产中心、资金账户等这种给全站所有金融产品线都提供基础服务的子系统就是这类复杂和庞大的核心系统,同时包括基金、主账户等专属金融产品线的业务逻辑复杂,所以子系统也非常庞大。

所以对于这类子系统,如果需要在一个大版本里全部去 Oracle 改造完成,并在一个晚上业务低峰期一次性全部从 Oracle 切换到 M,无论是当晚的切换风险,还是切换完成后,在第二天业务高峰期出现问题和 bug 的风险,包括开发团队短时间内去 Oracle 改造的工作量和出现重大 bug 的机率都是非常大且不可控的。

如何把一个庞大且重要的复杂子系统拆分成多个去 Oracle 的版本按批次上线和切换流量,且做到单个批次影响可控,也是全站去 Oracle 中需要谨慎设计的方案。

上面提到了去 Oracle中在架构层实现在线换库需要解决的四大问题。除了在线换库外,去 Oracle 架构改造的本质其二是引入更多的存储引擎在合适的场景来承接 Oracle 数据库的计算和存储能力。这就引出了第五个问题。

5. 如何使用合适的开源存储引擎去Oracle,并在架构上进行融合

首先 Oracle 是个非常强大的关系型数据库,无论在 OLTP 和 OLAP 场景表现都很出色,且具备一整套完善、好用的运维监控工具。但于此同时 Oracle 虽然对各种场景支持较为全面,但在各个特定场景下,一些开源的数据库或存储引擎在性能或成本投入的综合考量上胜过 Oracle,都会是比 Oracle 更合适的选择方案。

所以全站去 Oracle 不仅仅是去 Oracle 到 MySQL 中,MySQL 能承接的只是 Oracle 的部分计算和存储能力,在整个陆金所的全站去 Oracle 落地过程中,除了 MySQL 外,我们还在不同的场景下使用 ES、HBase、TiDB、Impala+kudu 等存储引擎,甚至是应用层的代码来承接和替换 Oracle,并且整体收益比使用 Oracle 更好。

上述是陆金所在全站去 Oracle 过程中遇到的 5 个实战问题大类,整个全站去 O 过程中需要解决细节问题还有很多,这里无法一一列举,因为去 Oracle 作为一个复杂的系统架构改造本身就要求技术团队事无巨细的处理好各种细节问题。

关于Oracle实践需要解决哪些问题问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle实践需要解决哪些问题

本文链接: https://lsjlt.com/news/68413.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle实践需要解决哪些问题
    Oracle实践需要解决哪些问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。“去 Oracle”一直是最近 10 年描述系统架构改造中最...
    99+
    2024-04-02
  • Oracle remap_schema需要注意的问题有哪些
    这篇文章主要介绍“Oracle remap_schema需要注意的问题有哪些”,在日常操作中,相信很多人在Oracle remap_schema需要注意的问题有哪些问题上存在疑惑,小编查阅了各式资料,整理出...
    99+
    2024-04-02
  • Oracle移植到MySQL需要注意哪些问题
    这篇文章主要介绍“Oracle移植到MySQL需要注意哪些问题”,在日常操作中,相信很多人在Oracle移植到MySQL需要注意哪些问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • 微信小程序开发中需要解决哪些问题
    今天小编给大家分享一下微信小程序开发中需要解决哪些问题的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  一、【微信小程序开发...
    99+
    2023-06-26
  • PostgreSQL有哪些需要注意的问题
    这篇文章主要讲解了“PostgreSQL有哪些需要注意的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PostgreSQL有哪些需要注意的问题”吧!1:...
    99+
    2024-04-02
  • Java需要注意的问题有哪些
    这篇文章主要介绍了Java需要注意的问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Top 1:"abc"=="abc"返回的...
    99+
    2023-06-17
  • oracle中如何定位你解决问题需要访问地视图
    这篇文章主要介绍oracle中如何定位你解决问题需要访问地视图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果你不知道确切要找的目标,可以参考介绍数据字典的文档,或者下面三个视图:DBA_OBJECTSDICTIO...
    99+
    2023-06-01
  • 香港服务器租用需要了解哪些问题
    香港服务器租用需要了解的问题:1、香港服务器存放内容的限制有哪些;2、香港服务器网络攻击处理方式是怎么样的;3、如何判断香港服务器的IP是否被机房封停;4、怎么做好香港服务器的数据备份措施;5、如何做好香港服务器的安全保护策略。具体内容:一...
    99+
    2024-04-02
  • 前端设计师需要了解的问题有哪些
    前端设计师需要了解的问题有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.块级元素和行内元素的区别块级元素即使设置了宽度...
    99+
    2024-04-02
  • CSS div布局需要注意哪些问题
    本篇内容介绍了“CSS div布局需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 购买HostUS VPS需要注意哪些问题
    本篇内容介绍了“购买HostUS VPS需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HostUS香港VPS评测1.Host...
    99+
    2023-06-10
  • 运营新人需要注意哪些问题
    本篇内容介绍了“运营新人需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在产品菜鸟汇写了一些运营文章,就开始有小伙伴以为我是大...
    99+
    2023-06-10
  • Centos7安装时需要注意哪些问题
    这篇文章主要介绍“Centos7安装时需要注意哪些问题”,在日常操作中,相信很多人在Centos7安装时需要注意哪些问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Centos7安装时需要注意哪些问题”的疑...
    99+
    2023-06-10
  • 购买模板需要注意哪些问题
    这篇文章主要讲解了“购买模板需要注意哪些问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“购买模板需要注意哪些问题”吧!  随着建站程序的出现,很多网站基本上通过程序设置设置就可以轻松搞定。...
    99+
    2023-06-10
  • 申请域名需要注意哪些问题
    这篇文章主要讲解了“申请域名需要注意哪些问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“申请域名需要注意哪些问题”吧!首先,是查询自己需要的域名没有被注册过,就能够根据后期提示的步骤,按照...
    99+
    2023-06-06
  • 新手建站需要注意哪些问题
    本篇内容介绍了“新手建站需要注意哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、一定要做网站规划方案  一个网站的成功与否与建...
    99+
    2023-06-13
  • 网站买卖需要注意哪些问题
    这篇文章主要讲解了“网站买卖需要注意哪些问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网站买卖需要注意哪些问题”吧!  第一,在买网站前要分析网站类型和相应的关键词的相关性。一个网站品质...
    99+
    2023-06-10
  • Flex开发时需要注意哪些问题
    这篇文章给大家分享的是有关Flex开发时需要注意哪些问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex开发心得小结和Flash的开发环境相比,Flex开发提供的组件库确实很诱人,但由于功能太全面,导致程序...
    99+
    2023-06-17
  • 部署CDN时需要考虑哪些问题
    部署CDN时需要考虑以下问题: CDN服务商的信誉和稳定性:选择信誉良好且稳定性高的CDN服务商,以确保数据传输的安全和稳定。 ...
    99+
    2024-04-24
    CDN
  • 网站开发中新站前期优化有哪些问题需要解决
    本篇文章给大家分享的是有关网站开发中新站前期优化有哪些问题需要解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  众所周知,网站优化过程中,新站上线之后我们必须对于优化工作和...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作