APP下载

基于Oracle12c DBaaS构建云计算数据服务体系

2016-01-29王骏翔

关键词:数据服务虚拟化架构

王骏翔

(中海网络科技股份有限公司,上海 200135)



基于Oracle12c DBaaS构建云计算数据服务体系

王骏翔

(中海网络科技股份有限公司,上海 200135)

摘要:为使企业能在信息系统剧增、数据孤岛难以管理和服务器资源大量浪费的环境下降低成本、提高数据存储效率、加快应用开发速度、提高信息系统的稳定性,引入适用的云计算技术。详细阐述构建企业级云计算数据服务平台的建设思路,并通过实际工程案例系统地介绍某大型集团企业如何利用Oracle 12c多租户架构来构建具有高可用性(High Availability, HA)和强扩展性的数据服务体系。

关键词:云计算;服务器虚拟化;DBaaS数据服务;PaaS云平台;Oracle 12c

0引言

目前,随着大型集团企业的信息系统建设不断发展,服务器运算能力不足和数据服务配置重复等问题越来越多,由此带来了极大的企业数据安全隐患和系统架构混乱等问题。常见的数据混乱有一套系统使用多个数据源、多套系统共用1个数据源、基础数据重复管理混乱等,这些都是阻碍企业信息系统长远发展的不利因素。

传统企业级的数据库服务底层一般是由国际商业机器公司小型机、X86服务器及虚拟化平台上的VM构建而成。对于大型集团企业而言,直属或下属的各类业务系统、办公系统数量通常较多且相对零散,由此承担业务数据存储及交易的数据库服务器随之与日俱增,这样日积月累就形成了企业内部的一个个数据孤岛。某大型集团企业传统数据服务层架构见图1。

图1 某集团企业传统数据服务层架构

伴随着云计算的发展,人们对租赁式数据服务的关注度越来越高。通过科学的整合现有企业内的一个个数据孤岛并以自服务的方式提供给用户使用,可为我们带来:

(1)大幅度整合了硬件服务器的资源规划,包括OLTP和OLAP系统;

(2)大幅度缩短了计划和意外停机时间;

(3)在高可用性和性能之间不必再取舍权衡;

(4)极大地提高了运营效率,为自动化运维服务打下了基础;

(5)解决了虚拟化层数据库的稳定性和支持性问题;

(6)提升了企业数据服务平台的自服务能力。

1DBaaS数据服务的需求与价值

1.1 DBaaS数据服务的发展趋势

在企业信息系统建设不断发展、硬件设备老化接近使用年限等因素影响下,目前某大型集团企业利用虚拟化技术实现了内部私有云IaaS平台的建设。云计算虚拟化技术给该企业带来了服务器运算资源集中、应用开发速度加快、成本降低、信息系统稳定性提高等显著成效。

随着IaaS基础架构层的服务器虚拟化技术不断发展,如何对传统数据库服务资源进行有效地整合和再利用逐渐引起该企业的关注,对此进行了相关技术研究。 同服务器虚拟化技术一样,其也将给企业信息化带来革命性改变。

1.2 DBaaS数据服务的企业价值和意义

在引入DBaaS数据服务之前,该企业运用的是传统松散型数据库架构,缺点主要有:

(1)多元化平台不利于统一管理;

(2)繁多的数据孤岛不利于企业进行大规模信息系统建设;

(3)IBM和惠普(Hewlett-Packard,HP)等小型机的运维使用成本高昂;

(4)虚拟化平台的数据库稳定性和磁盘I/O读写性能较低。

此外,无论是公有云还是私有云,客户均把数据库放在1个平台上,通过将虚拟机“切”成小片的方式做到多用户,安全和管理、系统开销和性能损耗都是不容忽视的。

1.3 Oracle12c DBaaS数据服务的规划

针对该企业的1个个信息数据孤岛,合理整合资源并适时引入云计算多租户模式数据服务体系,是构建企业级统一数据服务DBaaS平台的有效手段,而采用Oracle 12c构建DBaaS平台是企业级信息化的优先选择。

利用Oracle 12c的多租户架构来构建独立的数据库池化PaaS层能让客户共享操作系统和数据库;同时,每个数据服务载体单独承载,由Oracle Cloud Control统一管理,与以往的数据库架构完全不同。

DBaaS数据服务层可通过Oracle RAC和Dataguard的高效无缝结合使整个平台具有容灾性强、易于扩展和灵活性强等特点。[1]传统数据库到DBaaS数据服务的转型见图2。

图2 传统数据库到DBaaS数据服务的转型

2DBaaS数据服务架构的设计

设计合理的服务器资源池,按不同业务需求对该企业的各数据库服务器资源进行分类,并将其纳入不同的服务器资源池中;借助Oracle 12c的云计算多租户(Multitenant Environment)服务架构实现不同业务类型服务器资源的最大隔离,促进现有数据库服务器资源的合理、有效利用。[2]数据服务层架构见图3。

若该企业所有的数据库服务统一纳入DBaaS数据服务平台,则预估企业原有的IaaS层虚拟化占比将提高30%~35%,重复的系统资源利用率将减少约20%。

图3 DBaaS数据服务层架构

2.1 数据服务资源池设计

根据该企业的IT资源及其下属各公司的业务需求,将现有数据库服务器划分为以下资源池:

(1) 测试系统资源池,为企业日常应用模块的开发和上线测试提供数据库服务支持;

(2) 生产系统资源池,为企业业务应用系统的日常运营提供数据库服务支持。

同时,可通过对资源池(内存、CPU和 存储空间)进行统一控制,保证各业务系统间不会因负载问题而相互影响。

通过PDB实现统一数据管理,解决数据孤岛的问题(见图4)。

图4 CDB与PDB的统一管理

在Oracle 12c出现之前,Oracle数据库只能通过Schema进行用户模式隔离,现在引入数据库容器(Container DataBase, CDB)和可插拔式数据库(Pluggable DataBase, PDB),且在多租用户环境中允许CDB承载多个PDB。PDB技术构造的可组装式数据库可让此前意义上的多个数据库一起共享,真正实现了数据多租户架构。[3]

2.2 数据服务模板的设计

根据该企业业务系统的结构,定制相应的测试和生产环境PDB模板,并根据系统压力和负载情况规划不同的数据库类型(如RAC One Node和RAC)。

(1) 第一类为测试及小负荷数据库系统,可通过RAC One Node方式部署,利用RAC Cluster的HA高可用性保证其业务数据库系统连续稳定运行;

(2) 第二类为核心生产及高负荷数据库系统,可通过多节点RAC方式部署,利用多节点的计算资源及RAC Cluster的HA高可用性保证其业务数据库系统具有高并发处理能力。

2.3 数据服务高可用设计

1) 通过RAC和Resource Manager实现大规模并发处理能力,解决资源分配问题。

在Oracle DBaaS服务层中,通过Oracle 12c RAC技术,实现数据库服务底层的多点计算资源HA高可用冗余的设计;根据实际的业务系统负荷及资源控制,动态地增加计算节点资源;根据不同的PDB负荷,灵活、动态地调整资源,确保整个数据库池稳定、高效地运行。集群中PBD的灵活资源分配见图5。

图5 集群中PDB的灵活资源分配

(1) 利用Resource Manager可控制会话、并行执行服务器、CPU及Exadata I/O;

(2) CDB中的大量资源(守护进程、SGA等)共享给每个 PDB;

(3) 可对每个 PDB 施加“上限”(也称最高利用率限制);

(4) 向CDB中插入新的PDB;

(5) 动态增加RAC中的节点数,并插入PDB。

2) 通过Active Dataguard实现高冗余数据保护能力。

在Oracle DBaaS服务层中,通过对核心业务系统进行Oracle Active Dataguard的部署,将数据服务池中的Plugging DB实时复制到灾备环境,以保证数据服务存储资源安全、可靠。DBaaS数据服务层容灾架构见图6。

图6 DBaaS数据服务层容灾架构

3DBaaS数据服务的部署与实现

与传统的数据库硬件架构有所不同,DBaaS数据服务平台主要用于解决企业级的数据孤岛问题、提供统一的数据服务管理、提高数据利用率及实现高负荷的读写交互性能。由此,在搭建底层硬件平台时,数据存储的I/O性能、计算节点的高可用性和内部交互速率的稳定性就变得尤为重要。

经过技术参数比对和实际性能测试,可通过网络交互层和数据存储层解决以上硬件问题。

3.1 通过部署Infiniband交换机解决RAC数据群集的内部交互 [4]问题

采用Intel架构处理器的输入/输出性能会受到PCI或PCI-X总线的限制,总线的吞吐能力是由总线时钟(如33.3 MHz,66.6 MHz以及133.3 MHz)和总线宽度(32位或64位)决定的。在最常见的配置中,PCI总线速度被限制在500 MB/s,而PCI-X总线速度被限制在1 GB/s。这种速度上的限制制约了服务器和存储设备、网络节点及其他服务器通信的能力。

InfiniBand主要是针对服务器端高速互联问题设计的,提供了超高的带宽和极低的延迟。相较于以10 GB为主的以太网及以16 GB为主的光纤网,InfiniBand能提供40~120 GB/s的带宽, 大幅提升了数据交换的性能。

图7 网络层架构

3.2 通过部署高性能SSD磁盘和Oracle ASM解决数据库I/O读写交互问题

3.2.1高性能固态SSD磁盘

传统的企业级硬盘的IOPS(Input/Output Operations Per Second)在150~200,吞吐率在200 MB/s以内。而固态硬盘(Solld State Drives, SSD)可轻易地做到20 000以上的IOPS及500 MB/s以上的吞吐,大幅提升了存储性能, 成为目前提升存储性能的重要手段,且更加省电。经测试,各种存储介质的性能指标比见表1。

表1 各种存储介质的性能指标比

3.2.2Oracle ASM共享存储管理

自动存储管理( Automatic Storage Management,ASM)是Oracle提供的卷管理器,主要服务于RAC群集环境中的共享文件系统,提供了与平台无关的文件系统、逻辑卷管理及软磁盘阵列(Redundant Arrays of Independent Disks, RAID)服务。ASM可支持条带化和磁盘镜像,从而实现在数据库被加载的情况下添加或移除磁盘及自动平衡I/O以删除“热点”。

ASM可确保主盘区及其镜像副本不会驻留在相同的故障组中,磁盘组的冗余可有双向镜像文件(至少需要两个故障组)的普通冗余(默认冗余)和使用三向镜像(至少需要3个故障组)提供较高保护程度的高冗余2种形式。

在DBaaS数据服务池底层,将选用三向镜像(高度冗余技术)来提高性能和数据的安全。在Oracle ASM底层将最少需要3块磁盘(3个failure group),有效磁盘空间是所有磁盘设备空间之和的1/3。虽然存储硬件的代价有所增高,但数据安全的冗余级别也大大地得到了保护。三向镜像(高冗余存储)数据块写入方式见图8。

图8 三向镜像(高冗余存储)数据块写入方式

3.3 通过Plug-In方式迁移传统零散数据库至DBaaS服务

在Oracle 12c的平台中可通过传输表空间、Datapump全库导入和升级Plug-In等3种方式迁入。此次迁移中,该企业选用了较为快速和稳妥的升级Plug-In方式完成,Oracle 10.2.0.5升级至12.1.0.1的详细步骤为:

SQL>ORACLE_HOME/perl/bin/perl catctl.pl -n 3 catupgrd.sql

SQL>alter database open read only;

SQL>exec DBMS_PDB.DESCRIBE(‘/tmp/pdbl.xml’)

SQL>shutdown immediate;

SQL:CDB12C>create pluggable database PDB using ‘/tmp/pdbl.xml’) nocopy tempfile reuse;

sqlplus “sys/oracle@PDB1 as sysdba”

SQL:PDB1>startup

SQL:PDB1>@?/rdbms/admin/nocdb_to_pdb.sql

4结语

现今,越来越多的企业须面对服务器虚拟化资源整合原有数据层服务模式转型的局面。在此背景下,在企业私有云平台中构建一个适用于企业自身的数据服务体系变得尤为重要。

通过云计算DBaaS 数据服务技术实现大型企业数据库的资源整合是较为高效、稳妥和高冗余的建设方案。该企业在进行DBaaS数据服务平台建设前后的技术指标对比见表2。

表2 企业在进行DBaaS数据服务平台建设前后的技术指标对比

由表2可知,不仅整体DBaaS数据服务的性能得以提升,而且给整个架构体系模式带来了质的飞跃。未来所有数据服务需求都可在该DBaaS平台上进行统一的资源开设、管理和回收,能极大地降低企业运维成本和数据服务资源的生命周期管理。

参考文献:

[1]Gulati M, Fulay A, Datta S,etal. Building and Managing a Cloud Using Oracle Enterprise Manager 12c[J]. McGraw-Hill Professional, 2013.

[2]Rodero-Merino L, Vaquero L M, Caron E,etal. Building safe PaaS clouds: A Survey on Security in Multitenant Software Platforms ☆[J]. Computers & Security, 2012, 31(1):96-108.

[3]Freeman R. Oracle Database 12c New Features[J]. McGraw-Hill Professional, 2014, 10(6).

[4]Authors U. Oracle 03 Enterprise Manager Ops Center Adding InfiniBand Switches 12c Release 1 (12.1.1.0.0)[J]. Informationweek, 2012.

Design and Implementation of Cloud Computing DBaaS Platform Based on Oracle12c

WangJunxiang

(China Shipping Network Technology Co.,Ltd ,Shanghai 200135,China)

Abstract:The cloud computing DBaaS is introduced to cope with the ever growing information system and the mass of isolated information islands, which have been obstructing the informatization of large group enterprises. The way of constructing enterprise cloud computing DBaaS is explained in detail. The experience of a large Group enterprise in building a data service system is presented. The system, constructed on the basis of 12C Oracle multitenant architecture, proves to be of high availability and scalability.

Key words:cloud computing; server virtualization; DBaaS Platform; paas platform; oracle 12c

中图分类号:TP311.52

文献标志码:A

文章编号:1674-5949(2015)04-071-06

作者简介:王骏翔(1987—),男,上海市人,主要从事系统运维工作。

收稿日期:2015-03-01

猜你喜欢

数据服务虚拟化架构
基于FPGA的RNN硬件加速架构
大数据时代高校图书馆数据服务的困境及优化路径
地理空间大数据服务自然资源调查监测的方向分析
基于数据中台的数据服务建设规范研究
功能架构在电子电气架构开发中的应用和实践
构建富有活力和效率的社会治理架构
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
数据服务依赖图模型及自动组合方法研究
浅析虚拟化技术的安全保障