直播预约通道开启!2021腾讯数字生态大会邀您共探产业发展新机遇! 了解详情
写点什么

使用 iData 在 AWS 云上实现高性能的 Oracle RAC 集群

2019 年 10 月 09 日

使用 iData 在 AWS 云上实现高性能的 Oracle RAC 集群

在企业上云的过程中, 我们经常不免碰到很多传统 Oracle RAC 的企业用户,他们使用 Oracle RAC 来运行其关键任务应用程序,包括大多数金融机构、电信运营商、甚至一些大型零售商,其中高可用性和数据完整性至关重要。如何帮助他们将本地数据中心的 Oracle RAC 迁移到 AWS 云上,客户通常存在很多顾虑和疑问,比如:


  • 企业应用软件采用的是第三方的商业应用软件,在上云过程中无法对软件做适应性改造

  • 单节点的 AWS 托管 Oracle RDS 如何解决高 IOPS 吞吐率要求, 5 万+ 、 10 万+ 、甚至 30 万+的 IOPS 要求。

  • AWS EC2 上自建 Oracle RAC 如何解决 Share disk 的问题,如何在线弹性增加容量,增加 IOPS 容量。

  • 如何最小化 Oracle RAC 应用迁移的风险。


带着上述客户的疑问和顾虑,我们特别测试了浙江慧优科技有限公司的 iData 在 AWS 云上的解决方案。浙江慧优科技有限公司是一家是智慧数据解决方案提供商,他们自主研发的 iData 产品基于 Oracle RAC 能够将分析计算、存储整合及运维管理融入为一体,为各种 OLTP (联机事务处理)和 OLAP (联机分析处理)业务场景提供强大的处理能力与灵活的扩展能力。为企业级用户提供了数百万级 IOPS 与微秒级别延迟的数据库处理平台,极速提升数据库处理能力,消除数据库热点数据与 I/O 瓶颈, iData 对应用透明,企业用户基于 Oracle RAC 的应用软件无需进行代码改造即可运行 iData 上,从而实现 Oracle RAC 应用无缝迁移到 AWS 云上的目标。


慧优 iData on AWS 方案

在 AWS 云中使用 Amazon Elastic Compute Cloud(Amazon EC2) 为 IT 组织提供了传统数据中心所不具备的灵活性和弹性。 iData 借助 AWS 云端的 EC2 Node 上部署 iLink Storage Management 节点存储互连软件,然后在其之上部署 Oracle ASM Cluster 管理系统实现多副本数据的管理,最后部署多节点的 Oracle RAC ,确保数据库系统的高可用和高可靠性。 iData 是专为 Oracle RAC 数据库高可用性而设计的, 具备:


  • 全冗余架构,无单点故障,关键组件在线升级

  • 数据多副本,容忍最大 N-1 节点故障,数据在线同步

  • 远程多活,最大 80KM 跨可用区 RAC ,本地读特性保证网络性能

  • ADG 容灾,跨站点/可用区容灾,高稳定、提供闪回能力

  • 备份,多可用区站点保护,通过多容灾节点 EC2 实现多库保护、备份、集群切换


慧优 iData for AWS 的主要组件包括:


  • Amazon EC2 instances

  • Amazon EBS and/or local SSD storage

  • iLink Storage Management software

  • iLink Cloud Network software

  • Oracle Grid Infrastructure software

  • Oracle RAC database engine


慧优 iData for AWS 部署架构图:



关键技术介绍


iLink storage management : iData 是采用慧优科技自主研发的 iLink storage management 存储管理系统软件,采用开放融合架构及可扩展分布式存储机制,将独立的存储资源整合成共享存储池,为数据库计算层提供数据存储资源,保证大规模并发存储访问。同时采用基于优先读机制的本地读取技术实现数据库性能的最大化,更是针对 OS 和驱动的内核进行了优化。



iLink Storage Management 示意图


iLink Storage Management 软件在实现组件之间协议互通的基础上,可以充分发挥 EC2 Instance 计算能力,实现 I/O 性能的无损输出,并实现存储层节点的在线扩容、存储链路的冗余及在线切换。利用远程直接数据存取协议( RDMA )、套接字直接协议( SDP )和零复制( Zero Copy )等技术,减少了内核空间和用户空间上下文切换,利用 AWS VPC 内部网络提高带宽和传输速率,同时也能降低服务器 CPU 的开销,从而高效、快速地实现了高速、低延时的数据传输和同步工作。


iLink Storage Management 并且协同 Oracle ASM 管理的功能实现了数据复制和提供跨节点的多副本容错,在正常冗余模式下,每个数据块都有两个镜像副本。 在高冗余模式下,每个数据块都有三个镜像副本。 每个 ASM 磁盘组分为故障组 – 每个节点一个故障组。 每个磁盘都配置为与磁盘所在节点对应的故障组的一部分。 ASM 将每个块的镜像副本存储在不同的故障组中。这样有效的消除单点故障,保障业务连续性的同时提高数据并发访问性能。



iLink Cloud Network 灵活搭建和管理 Oracle RAC 所需高性能、高可靠组播功能网络,配合 Oracle 12C 更可实现快捷的多租户多网络配置。


测试环境概述

本次测试我们采用了 3 台 C4.8xlarge EC2 实例分别运行在 VPC 的不同 AZ 中,操作系统为 CentOS Linux 7.4 , 每台 EC2 分别挂载了 2 块 EBS 卷,1 块为 100GB 通用型 SSD 盘作为系统的 root 根卷,另一块为 650GB 的 provisioned IOPS SSD 盘作为 Oracle RAC 的数据卷。


为简单本次测试的软件环境配置,我们把 iLink Storage Management 等软件都部署在 Oracle RAC 相同的 3 台 EC2 节点上,没有采用分开部署的方式。


  • 以下是我们本次测试的详细 AWS EC2 实例配置:


主机名称aws1aws2aws3
EC2 实例类型c4.8xlargec4.8xlargec4.8xlarge
CPU 数目363636
内存 ( G )606060
系统根卷EBS GP2 100GBEBS GP2 100GBEBS GP2 100GB
数据库卷EBS io1 650GBEBS io1 650GBEBS io1 650GB
操作系统版本CentOS 7.4 3.10.0-862.el7.x86_64CentOS 7.4 3.10.0-862.el7.x86_64CentOS 7.4 3.10.0-862.el7.x86_64


Oracle RAC 数据库配置


数据库名aws
Oracle 数据库实例名aws1
Oracle 数据库实例名aws2
Oracle 数据库实例名aws3
是否 RAC 集群
RDBMS 版本11.2.0.4.0
数据文件所占磁盘空间( G )74G
DB_BLOCK Size (K)8192
字符集AMERICAN_AMERICA.WE8MSWIN1252
Oracle 数据库实例名单元格
Oracle 数据库实例名单元格
数据库名aws
表空间个数10
数据文件个数9
控制文件个数2
日志文件大小2048
日志组数目12
每组日志文件成员数量2
归档模式No Archive


  • EBS 配置

  • 每台 EC2 实例配置一块 Provisioned IOPS EBS 存储,


容量:650G


类型:io1


IOPS:32000



测试目标和内容

本次测试目标主要是以下 2 个:


  • 数据库 I/O 的性能情况

  • 数据库 TPCC 交易处理的性能情况


测试场景和结果

  • 场景 1: 数据库 I/O 吞吐率测试

  • 每个节点上配置一块 Provisioned IOPS 卷 (32000 IOPS ),使用 Oracle IO 性能测试工具,测试 8k 读性能, IO 慢慢加大,一直到最高峰。


【测试结果】: 整个数据库 IOPS 为 94266,延迟为 3ms ,带宽 1510MB 。非常接近 3 块 EBS 卷 Total 96000 IOPS 的峰值。


  • 场景 2: 数据库 I/O 吞吐率扩展能力测试

  • 分别为每节点增加一块 EBS provisioned IOPS 卷 ( 650GB ), 测试 I/O 吞吐率扩展能力



【测试结果】:整个数据库 IOPS 为 191642, 延迟为 1ms ,带宽 2825MB ,完全 100%的线性增长


  • 场景 3: TPCC Benchmark 压力测试(全读)

  • 使用 swingbench oe 数据模型做 TPCC 压力测试,数据量 10GB , 2000 用户全读 TPCC 测试:



【测试结果】:交易吞叶率可达 15868 笔/秒,平均交易响应时间为 81 ms , 交易吞吐率和响应时间变化非常平稳。


  • 场景 4: TPCC Benchmark 压力测试(80%读 + 20%写)

  • 使用 swingbench oe 数据模型做 TPCC 压力测试, 数据量 10GB , 2000 用户 80%读+20%写的 TPCC 测试:


【测试结果】:交易吞叶率可达 15791 笔/秒,平均交易响应时间为 169ms ,交易吞吐率和响应时间变化非常平稳。


  • 场景 5: 无 iLink, EBS io1 , GP2 对比测试

  • 我们也对没有使用部署 iLink 的 Oracle RAC on EC2 ,及分别对 io1 和 GP2 不同 EBS 卷进行了对比测试,从实际测试的数据中可以看到,在没有部署 iLink 专利技术的情况下, IOPS 的性能只能发挥标定值的 50%,而采用了 iLink 专利技术能够发挥到 99.19%,随着 IOPS 标定值配置的越大,基本上也是线性增长,而使用 gp2 普通盘可发挥到标定值 88.93% 的性能,如下图



结论

通过上述测试,我们可以清楚的看到采用慧优 iData solution 将传统本地部署的 Oracle RAC 迁移到 AWS 云上,可以获得与本地数据中心完全一致的性能,完全可以消除传统企业客户对 Oracle RAC 迁移到 AWS 云上的顾虑。 iLink Storage Management 可以解决云上的 Share Storage 的问题,结合 EBS 容量弹性增长的特性,当业务高峰期时或业务增长时,用户可以在线无缝的增加数据库存储容量,进而实现数据库 IOPS 的弹性增长。 iData 对应用透明,企业用户基于 Oracle RAC 的应用软件无需进行代码改造即可运行 iData 上,从而实现 Oracle RAC 应用无缝迁移到 AWS 云上的目标。


作者介绍:


袁春华


亚马逊 AWS 解决方案架构师,AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内和全球的应用和推广,在大规模并发应用架构、移动应用以及无服务器架构等方面有丰富的实践经验。在加入 AWS 之前曾长期从事互联网应用开发,先后在新浪、唯品会等公司担任架构师、技术总监等职位。对跨平台多终端的互联网应用架构和方案有深入的研究。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/idata-aws-oracle-rac-group/


2019 年 10 月 09 日 11:03289
用户头像

发布了 1283 篇内容, 共 37.1 次阅读, 收获喜欢 40 次。

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

Spring 源码学习 - @Async注解实现原理

公众号:好奇心森林

Spring Boot aop

架构师训练营 - 第三周作业

teslə

代码重构-学习总结

飞雪

设计模式学习总结

qihuajun

区块链中的“链上”和“链下”

CECBC区块链专委会

区块链技术 分布式身份标识 难以篡改

搞定 HTTP 协议(三):如何严谨地描述一个 HTTP 报文?

零和幺

https HTTP

架构师训练营-第 03 周总结

Eric

极客大学架构师训练营

十万同时在线用户,需要多少内存?——Newbe.Claptrap 框架水平扩展实验

newbe36524

week3 学习总结

任小龙

架构师训练营第 3 周 _ 课后作业

方舟勇士

课程作业

week3 命题作业

任小龙

易纲:上海可以在人民币自由兑换等方面先行先试

CECBC区块链专委会

数字货币 区块链技术 金融科技中心

程序员的晚餐 | 6 月 21 日 自制小火锅

清远

美食

Feign Client 原理和使用

公众号:好奇心森林

Spring Boot HTTP

架构师训练营-第 03 周作业提交

Eric

极客大学架构师训练营

架构师训练营-第 02 周作业

Eric

Raft探索历程--Part1

老胡爱分享

分布式协同 raft

Week 03 学习总结 代码重构

Z冰红茶

第三周总结

胡江涛

极客大学架构师训练营

138 张图带你 MySQL 入门

cxuan

MySQL 数据库

架构师训练营 - 第 02 周学习总结

Eric

第三周作业

胡江涛

极客大学架构师训练营

ARTS 第 3 周

乌拉里

ARTS-WEEK4

一周思进

ARTS 打卡计划

单例模式和组合模式

Arvin

三周作业

飞雪

Go:使用Delve和Core Dump来调试

陈思敏捷

go golang debug gdb

信息的表示与存储-整数的运算

引花眠

计算机基础

ARTS打卡 第4周

引花眠

ARTS 打卡计划

设计模式练习及感想(训练营第三课)

看山是山

设计模式 极客大学架构师训练营

技术学习进阶(死磕法)

dudu

学习 技术

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

使用 iData 在 AWS 云上实现高性能的 Oracle RAC 集群-InfoQ