加速Oracle RAC性能 软件定义存储的数据库云化实践

简介

刘振宇 云和恩墨基础架构软件研发负责人。 拥有10年以上电信、金融、保险、政府机关以及制造业等多个行业的架构和管理经验。现在负责云和恩墨软件定义存储zData及私有云产品的研发工作,跟云和恩墨专家一道共同致力于推动行业信息化建设的发展与进步

什么是软件定义存储(SDS)

软件定义存储(Software-defined storage,SDS)是一种数据存储方式,所有存储相关的控制工作都放置在相对于物理存储硬件的外部软件中。这个软件不是作为存储设备中的固件,而是在一个服务器上或者作为操作系统(OS)或hypervisor的一部分。

软件定义存储是行业发展的趋势,可以保证系统的存储访问在精准的水平上更灵活地管理,将软件从硬件存储中抽象,这意味着它可以变成一个不受物理系统限制的共享池,以便更有效地利用资源。存储也可以通过软件和管理进行部署和供应,其管理程序可以通过基于策略的自动化管理来进一步简化。

软件定义存储有什么特点

  • 可扩展。软件定义存储系统可以扩展到几百台甚至几千台的集群规模,而且,随着集群规模的增长,系统整体性能表现为线性增长。
  • 低成本。软件定义存储系统的自动容错、自动负载均衡机制使其可以构建在普通X86服务器之上。另外,线性扩展能力也使得增加、减少机器非常方便,可以实现自动运维。
  • 高性能。无论是针对整个集群还是单台服务器,分布式存储系统具备高性能。

传统的IT架构模式:

一直以来,传统架构的数据库运行在小型机和集中式SAN存储上。随着业务的高速发展,业务系统的交易量及数据量越来越大,对业务系统的处理能力及存储能力要求越来越高。而传统的架构扩展性差,计算能力有限,IO能力严重不足,如需达到相应的处理能力,则需要用更高配置的小型机和更高端存储来代替现有的小型机和存储,技术复杂,代价昂贵。同时,随着设备的老化,设备性能越来越不足以支撑业务需要,业务系统的架构改造和升级势在必行

传统架构的一些劣势:

数据量:M级-->G级-->T级->海量已在眼前

数据量*用户量-->关系用户量:几万-->几十万-->几百万-->互联网全开放

关系型数据库之痛

中心化的存储系统成为 I/O 存取的瓶颈:

1、传统架构的数据库节点需要高性能主机,成本高。对于多节点 RAC 数据库,由于节点间的通信带 宽通常为 1Gb s,较高的为 10Gb s,这个数量级的带宽使得节点间 的并发处理能力没有充分利用。同时,传统的磁盘阵列受限于控制器的处理能力和 FC 端口带宽,IO 吞吐量通常只能几百MB/s,在数据库要求大量的磁盘读写时,IO 消耗的时间过长。 2、小型机配高端存储,成本高昂,相对比较封闭,扩展能力差:传统架构的存储扩展能力较差,在容量增加时,性能没有相应提高。同时扩容成本高,扩容周期长。 3、复杂的系统带来部署及操作、运维和管理的复杂性:在传统架构下,需要了解多维度的运维知识和技能,如:数据库、U ix、存储等,对运维人员要求极高,部署及操作、运维和管理异常复杂。

IT基础架构发展趋势

IT架构的演变-烟囱状到云化

两层的计算-存储架构有以下缺陷:

中心化的存储系统 IO存取边界,扩展成本高昂 部署与运维复杂 不能快速应对IT人员资源需求

基于云化的高性能高可用架构的优势:

  • 高性能
  • 弹性,可灵活多维动态扩展
  • 统一运维管理,完善数据容灾及保护

将带来IT基础设施性能的提升,x86平台CPU性能提升。过去的10 年, CPU 处理速度提升8-10倍;DRAM 处理速度提升7-9倍。

存储和网络的发展

针对IT基础架构的发展和IT基础设施的发展,以x86服务器为基础、使用闪存卡、Infiniband交换机可以使Oracle RAC达到很高的处理能力和IO吞吐量的分布式存储方案zData应运而生。

zData软件定义存储基于x86的PC服务器,在大幅度提升系统性能,保持系统的扩展性和敏捷响应能力的情况下,成本相对于传统架构还大大降低。zData Light Storage分布式存储软件可支持上千个节点,存储池容量可以达到32PB。支持不同存储介质构成的存储资源池。在基础配置(3个存储节点)下,高达数百万IOPS,吞吐量超过20GB/s 。

实施方式:

1.用户可以自购硬件或利旧。

2.云和恩墨提供zData软件及服务,包括性能及容量规划,zData最佳实践,数据库迁移及优化,整体维保。

方案价值:

1.标准的x86开放架构,方案灵活方便。

2.无需采用高端小型机及高端存储,建设及扩容性价比极高。

产品构造:

zData Light Storage存储管理软件

zData Light Storage是云和恩墨自主研发的分布式存储管理软件,是一套灵活的软件定义存储软件,它充分利用基于PC服务器的内部直连式存储来创建一个虚拟的、可扩展的存储池,性能大大优于外部传统光纤通道SAN,而成本和复杂性成倍降低。在zData中,通过zData Light Storage存储管理软件可以将高性能的x86服务器作为存储节点, 从而可以将多个存储节点的内部磁盘资源整合起来形成虚拟的SAN存储资源池,在数据库节点(计算节点)上安装zData Light Storage客户端就可以使用其中虚拟SAN。zData Light Storage支持Infiniband网络下的RDMA协议,大幅减少CPU占用的同时能够显著降低IO访问延迟,具有无可比拟的性能优势 zData Light Storage支持主流存储介质,包括PCIe、NVMe、SAS、SATA等接口的SSD盘和卡以及SAS、SATA接口的传统机械硬盘。

Infiniband网络

zData基于40~100GbInfiniband高速网络,采用全冗余网络架构,一方面可以提供足够的带宽承载 zData LightStorage存储管理软件的数据传输,使其性能大幅优于外部传统FC SAN,且成本和复杂性成倍降低;另一方面为Oracle RAC集群的高性能读写提供了保障。

zData智能管理工具zMan

根据云和恩墨在Oracle数据库领域的专业知识和强大团队,研发了人性化的管理和运维工具zMan(zData Manager),zMan为zData提供智能方便一键化的安装,部署,管理功能,极大的降低了管理和运维的成本并在管理功能上为用户提供更简单便利友好的操作体验。

云和恩墨zData软件定义存储有以下的特点:

  • 高性能

存储节点和计算节点通过高速40~100Gb的Infiniband网络互联,每个连接的链路均可进行存储数据传输。通过zDataLight Storage存储管理软件,在使用闪存卡的情况下,可以使单存储节点提供IO吞吐量达到12GB/s以上,IOPS(每秒磁盘IO请求次数)可以达到40万以上,磁盘访问延迟在0.6ms以内。单计算节点上的IO吞吐量达到12GB/s以上,IOPS(每秒磁盘IO请求次数)可以达到100万以上,磁盘访问延迟在0.6ms以内。存储的三项关键能力是传统阵列的10倍以上。

  • 多维动态扩展

在zData软件定义存储架构中,可以根据业务和应用的需求动态扩展计算节点和存储节点,容量和性能线性增长。同样,也可以根据业务和应用的需求动态减少计算和存储节点,保证资源的最大可用度

  • 资源的池化&云化

在zData软件定义存储架构中,计算资源和存储资源池化,统一管理,按需分配扩展。

  • 架构和软件的安全性和可靠性

在zData软件定义存储中,服务器,Infiniband交换机,Infiniband HCA卡及PCIe闪存卡等均冗余,任何一个设备和节点出现故障,均不影响在线业务的可用性,无单点故障。同时,zData存储管理软件自动管理和维护存储资源,当分布式存储网络中有节点损坏,或移动增加存储节点,zData存储管理软件会在已有的或完好的节点上重构完好的存储“块”,使得每一份存储“块”仍然有镜像,保证数据的安全性,重构速度每小时可达2TB,可在线自动操作,无需人工干预和不影响在线业务。

  • 统一运维管理,提高资源利用率

整个zData的资源通过zdata管理平台统一管理,自动化运维,大大降低对IT管理人员技能要求。

  • zData zCache

云和恩墨zData软件定义存储独有的智能缓存工具zCache,提供以下功能:

• 支持writeback和直通模式

• 支持在线启动和关闭cache

• 支持自动/手动刷新脏数据

• 支持脏块的刷新频率和速度动态的控制

zdata软件定义存储的应用场景及优势:

1、数据仓库和报表(OLAP)类系统:这类系统的数据库对IO性能要求非常高,存储容量扩容需求大,但是对可用性、容灾要求不高。这类系统在企业应用中属于核心系统之外的次重要系统,如果购买最高端的大容量集中存储,成本很高。这类系统是zData软件定义存储解决方案的最佳使用场景。

2、联机事务处理(OLTP)类系统:这类系统对实时性,并发性要求很高,对数据操作频繁,相应对CPU及IO要求很高。由于zData软件定义存储解决方案能提供充足的计算能力及显著降低IO延迟,这类系统也是zData软件定义存储解决方案的最佳使用场景。

3、数据库云化和整合:一些大型企业,数据库数量多,需要将很多不重要的数据库整合起来,减少运维复杂度和减少成本。使用zData软件定义分布式存储解决方案构建数据库云化和整合平台,提高系统整合后的性能,增加系统的弹性(便于扩容),并且使用zMan软件定义存储管理工具,让用户易于维护整合后的系统。zData支持OpenStack和VMware平台的云化和管理。

4、X86架构下的数据库备份容灾:适用于很多传统X86架构的数据库系统建立以zData软件定义分布式存储为核心的低成本,高效率的备份及容灾平台。

下面,我分享以下目前一些zdata软件定义存储的成功案例

zData方案在多个企业和单位有过最佳实践,以其高计算能力、高 I/O 能力、高可用能力、高可伸缩能力且极具稳健性的分布式存储架构,是具有高并发高IO需求的系统的最佳选择。在过去的实践中也得到证实和认可。

贵州交警

贵州交警某业务系统随着系统应用的深入和广泛,原有基础架构、数据架构规划和设计上的问题逐渐凸现出来,主要表现为业务数据爆炸增长、业务应用增多、系统响应缓慢、物理扩容达到瓶颈、设备达到服务年限。在经过zData一体机整合之后,整体用户体验得到了大幅改善,业务受理和办理效率均得到了用户赞誉。

性能提升效果:

1、整体性能提升18倍:重构前核心指标DBTIME每日最高单小时为3563.15,重构后每日最高单个小时指标为199.68,性能效果提升17.8倍。

2、I/O响应提升1000倍:重构前平均单次I/O请求时间为10.07毫秒,重构后平均I/O的请求时间缩短为0.01毫秒,I/O效率提升1007倍。

3、SQL性能提升117倍:考察违法审批报表SQL执行效率,重构前SQL执行需10206.1秒,重构后SQL执行完成只需87.07秒,执行效率提升117倍。

天安人寿

天安人寿随着公司业务的迅猛发展,其核心系统和报表系统的业务支撑压力也越来越大,高峰期每秒的吞吐量超过 1G,原有的系统架构已经无法满足快速发展的业务增长势头。

面对这种现状,天安决定采取高性能存储优先解决 I/O 问题。云和恩墨凭借具备高计算能力、高 I/O 能力和高可用能力的 zData 架构,轻松提供超过百万级的 IOPS,超过 10GB/s 的吞吐能力,全面支撑起了有着巨量 IOPS 需求的高并发交易,以及海量数据吞吐需求的报表、数据仓库等系统的高效运行,为天安人寿实现高性能需求的同时,也大幅缩减了整个系统的时间成本与资源成本,成为保险行业业务系统一体机化的典范。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zaking's

RFC2616-HTTP1.1-Header Field Definitions(头字段规定部分—单词注释版)

992
来自专栏Pulsar-V

离散傅里叶变换

离散傅里叶变换 #include<iostream> #include<math.h> using namespace std;...

2253
来自专栏高性能服务器开发

(八)高性能服务器架构设计总结3——以flamigo服务器代码为例

再看filezilla,一款ftp工具的服务器端,它采用的是Windows的WSAAsyncSelect模型(代码下载地址:https://github.com...

3336
来自专栏我的博客

egret自定义loadingUI

class LoadingUI extends egret.Sprite{ private textField:egret.TextField...

3658
来自专栏猿人谷

第一个APP:IOS做简单运算的计算器

步骤: 1.打开Xcode,单机Creat a new Xcode project 2.左边选择ios下Application,右边选择single view ...

1818
来自专栏fangyangcoder

基于FPGA的IIR滤波器

                                                        by方阳

871
来自专栏Android干货

Android项目实战(八):列表右侧边栏拼音展示效果

2725
来自专栏CreateAMind

CAT Vehicle Testbed 自动驾驶仿真 gps 视觉 雷达

https://cps-vo.org/group/CATVehicleTestbed/wiki

653
来自专栏小灰灰

利用crypto++库实现AES加密算法

利用crypto++库实现AES加/解密字符串,文件 MyAES.h: /* * MyAES.h * * Created on: 2013-3-...

2186
来自专栏Golang语言社区

linux下syscall函数,SYS_gettid,SYS_tgkill

NAME syscall - 间接系统调用 SYNOPSIS #define _GNU_SOURCE ...

35715

扫描关注云+社区