摘要: 我们以基于Oracle数据库的应用系统上云为例,如何根据实际需求,及不同的应用特征,去选择合适的上云解决方案?看懂了以下这张图,就能找到最适合你的应用系统总体的迁移上云路径。

点此查看原文

传统架构注重于硬件上的高可用,云平台通过分布式架构已经确保自身服务的高可用,并且集成了备份,监控,HA,审计等一系列基础运维服务,云平台采用直接就可用的服务方式提供,使用方随时购买随时就可用,无需考虑一系列繁琐的底层运维,使用方可以更加专注于业务上的研发。

我们以基于Oracle数据库的应用系统上云为例,如何根据实际需求,及不同的应用特征,去选择合适的上云解决方案?看懂了以下这张图,就能找到最适合你的应用系统总体的迁移上云路径。

迁云项目耗时耗力,迁移改造效率很低。阿里云专家提供上云全方位服务,降低上云技术风险和资源成本。包括在线业务系统上云、离线业务大数据上云、技术支撑、应用上云实施、数据迁移实施、大数据实施等。

1. 直接迁移上云
对于应用系统是否可直接迁移上云主要看数据库是否去O,是沿用原有的Oracle数据库还是采用阿里云提供的数据库,主要从以下几个方面判断:

系统的复杂度。应用对数据库特征强依赖,以及应用层对数据库的强耦合会导致去O的难度和风险增加。如果去O的难度和风险达到不可控范围,则可以考虑直接迁移上云;
迁移周期要求。应用系统去O会带来更长的迁移周期,若对应用系统迁移上云迁移的周期有严格的要求,则可以选择直接迁移上云;
性能要求。相对而言,采用直接迁移上云的方式对数据库的性能会有所限制,同时数据库的性能扩展空间有限,所以选择直接迁移上云方式的应用必须考虑在规划的系统运行周期内性能上无较大规模的扩展要求。
高可用要求。采用直接迁移上云方式是在ECS上部署Oracle数据库环境,数据库的高可用由用户来保障;若采用阿里云产品,则数据库的高可用可有阿里云保障。所以,直接迁移上云后数据库的高可用级别是否能够达到实际应用的运行要求也是判断应用是否直接迁移上云的重要方面。
1.1低性能要求

应用系统对数据库的IOPS性能要求较低(小于20000)且以IO读为主、延时在毫秒级,认为是低性能要求的。在迁移上云方案上可采用在ECS(存储采用云盘)上直接部署Oracle构建数据库,具体迁移上云方法:

1) 应用层基于ECS部署运行环境,应用程序直接迁移,同时修改应用程序的数据库连接;

2) 数据层基于ECS部署Oracle数据库,Oracle的数据存储采用ECS提供的云磁盘。数据库的迁移直接通过RMAN实现快速迁移。

1.2. 高性能要求

应用系统对数据库的IO读写性能要求高(大于20000)、延时在微秒级以内,认为是高性能要求的,在迁移上云方案上考虑采用ECS(采用本地SSD存储)上直接部署Oracle构建数据库,具体迁移上云方法:

1) 应用层基于ECS部署运行环境,应用程序直接迁移,同时修改应用程序的数据库连接;

2) 数据层基于ECS部署Oracle数据库,Oracle的数据存储采用ECS提供的SSD磁盘。数据库的迁移直接通过RMAN实现快速迁移。

如果考虑到高可用的要求,可以配置一个相同的ECS实例为数据库的备机,主备之间通过Oracle Data Guard做数据同步,当主机宕机后,备机可以接管服务,切换时间通常在分钟级别。

自建的数据库系统,计划将数据迁移至阿里云云数据库,需要阿里云数据库专家评估方案,协助完成数据库迁移工作。云数据库实例间的数据迁移,需要阿里云专业DBA协助完成迁移工作。

2. 改造迁移上云

对于传统应用系统,其原有的架构设计和采用的数据库、中间件与阿里云产品存在较大的差异,对于这种情况,需要对原有应用系统进行改造后迁移上云。针对不同类型的应用系统,其改造的方案也有所不同,一般将应用系统分为OLTP类型、OLAP类型、内容管理类型以及大数据应用类型四个大类。

2.1. OLTP类型

联机事务处理(OLTP)类型应用属于业务交易型系统,在各个行业内占有绝大多数比重。对于OLTP中低性能要求的通用应用,数据库可直接采用RDS。在实际迁移上云过程中涉及到数据库从Oracle向RDS的MySQL数据库的迁移。为了得到更好的性能,需要对待迁移系统所使用的Oracle特性进行转换,以适配RDS数据库,进行应用系统代码改造。

对于数据库性能要求高,但数据规模要求不高的关键应用,可通过引入数据缓存或采用读写分离的方式对RDS做性能扩展。引入数据缓存是采用阿里云Redis缓存服务,将部分查询数据加载至分布式缓存中,减少RDS的数据查询次数,提升系统的数据查询并发效率和降低响应时间。

读写分离是采用分布式方式实现对数据库的读和写的职能进行分离,写数据请求主要发生在主库,读请求访问只读库,可以根据需求对只读库进行扩展,以实现整体请求性能的提升。

对于数据库性能和数据规模要求都高的应用,可通过DRDS(分布式RDS)实行对数据库性能或规模的扩展。DRDS是通过水平切分的方式,将数据分布在多个RDS实例上,通过并行的分布式数据库操作来实现性能的提升。如下图所示。

总的来说,通过迁移到RDS、引入数据缓存、分库分表、读写分离等多种方式可以以水平扩展方式取代原有的数据库架构,并且获得更好的性能和扩展性。

2.2. OLAP类型

联机分析处理(OLAP)类型系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员。阿里云针对OLAP类型应用的规模大小有不同的解决方案:

小规模系统。这类OLAP系统仅仅针对具体某一类业务的历史数据进行实时分析,一般数据在几百GB的规模,分析的数据维度在十几个以内。对于这类应用系统,其数据库直接采用RDS,并在RDS之上构建OLAP分析工具。

大规模实时分析。这类OLAP系统面向数据存储规模在100TB级别,单表记录数达到千亿级别,阿里云提供分析数据库服务(Analytic Database Service,简称ADS),可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。还可直接嵌入业务系统为终端客户提供分析服务。

此外,对于内容管理类型以及大数据应用类型的应用系统,阿里云提供OSS、ODPS、OTS及专家服务,为迁云提供更专业支持。

一张图学会数据库迁云最佳路径相关推荐

  1. 最佳实践 | 数据库迁云解决方案选型 流程全解析

    Oracle是非常强大的综合数据库,但同时也存在一些劣势,比如由于采用集中式架构,无法很好地实现横向扩展,并且其稳定性依赖于硬件.出于架构升级.降低成本和云化等需求,越来越多的企业需要"去O ...

  2. 一张图学会python-一张图 python

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 翻译:丁雪校对:黄念格式:吴怡雯今天由我们的可视化专栏,用一张图介绍py ...

  3. 一张图看懂阿里云网络产品[二] 专有网络VPC

    摘要: 一张图看懂网络产品系列文章,让用户用最少的时间了解网络产品,本文章是第二篇 专有网络VPC 一张图看懂阿里云网络产品系列文章,让用户用最少的时间了解网络产品,本文章是第二篇 专有网络VPC 系 ...

  4. 一张图学会python-一张图学会python

    一张图学会摄影(共9篇)一张图读懂摄影全是套路 论如何从零开始学摄影全是套路 论如何从零开始学摄影相信很多想要玩摄影的朋友,总会遇见各种问题,比如相机怎么选,镜头怎么配,快门是什么之类的,看似很杂乱, ...

  5. python一张图-一张图学会python

    一张图学会摄影(共9篇)一张图读懂摄影全是套路 论如何从零开始学摄影全是套路 论如何从零开始学摄影相信很多想要玩摄影的朋友,总会遇见各种问题,比如相机怎么选,镜头怎么配,快门是什么之类的,看似很杂乱, ...

  6. 一张图了解python_一张图学会python

    提到一张图,大多数人都知道,有人问一张图学会python,当然了,还有人问python 将多个列表合并成一个,这到底是咋回事?其实python删除列表元素呢,接下来小编为大家分享一张图学会python ...

  7. 一张图学会Python

    一张图学会Python 国外一名大神设计的,国内一名大牛翻译的.

  8. 云渲染一张图大概多久?云渲染快吗?

    本地渲染时间太长又赶项目交付周期,想寻求云渲染助力,云渲染一张图大概要多长时间呢?云渲染快吗?Renderbus瑞云渲染来回答这个问题. 其实云渲染跟我们本地渲染的底层逻辑是一样的,都是靠电脑算力来提 ...

  9. 一张图看懂混合云数据同步一站式解决方案

    为什么80%的码农都做不了架构师?>>>    摘要: 针对不同数据库间数据实时同步难的问题,日前,阿里云宣布推出混合云数据同步一站式解决方案,便于广大云产品用户实现实时数据同步的混 ...

最新文章

  1. 【Keras】Linux一个shell脚本安装python、keras、tensorflow、anaconda等~
  2. DApp基础设施设计:借助Kubernetes、Docker和Parity实现可靠的以太坊事件跟踪
  3. 《看聊天记录都学不会C#?太菜了吧》(2)C#那么简单我为何之前还学C语言?
  4. 标记语言Markdown介绍以及日常使用
  5. C++学习之路 | PTA乙级—— 1004 成绩排名 (20分)(精简)
  6. 详解云计算、大数据和人工智能的区别与联系
  7. cmd中输入net start mysql 提示:服务名无效
  8. 关于Mysql修改密码的方法汇总
  9. 生儿子的绝妙方法汇总,对程序猿特管用!!!
  10. php面向对象代码_PHP 面向对象实现代码
  11. TFS2010安装图解
  12. 无法获得下列许可solidworks standard无效的(不一致的)使用许可号码(-8,544,0) solidworks2020 (亲测有效)
  13. vs 发生错误,需要终止调试... HRESULT=0x8000ffff。ErrorCode=0x0 解决办法
  14. 目标跟踪之数据标注软件ViBAT使用指导
  15. php qq授权_PHP模拟QQ网页版授权登录的案例
  16. 蓝牙4.0BLE中协议栈详解
  17. 矩阵合同,相似与等价 以及初等变换矩阵
  18. linux命令宝典,Linux命令行完全技术宝典(张栋) PDF扫描版[85MB]
  19. 数据结构实验——病毒检测(KMP实现)
  20. Cheat Engine 小白教程(大白话教学)上篇

热门文章

  1. lin通信ldf文件解析_lin ldf
  2. mysql8支持myISAM_mysql菜鸟手迹8--mysql存储引擎之MyISAM
  3. go去掉最后一个字符_Go语言去除字符串中的指定字符
  4. # 傅立叶变换 画曲线_让你永远忘不了的傅立叶变换解析
  5. python调用键盘_使用 Python 控制自己的电脑和键盘是一种什么样的体验?
  6. 名图1.8智能隐藏功能_7年后再度回归 全新一代名图“大”不同_搜狐汽车
  7. 如何加声调口诀_声母韵母口诀顺口溜歌曲(怎么快速记住声母韵母)
  8. 浅谈python MRO与Mixin模式
  9. nodejs异步读取文件与同步读取文件的区别
  10. 算术表达式的前缀式、中缀式、后缀式相互转换