云平台数据库的设计与实现

2021-01-12 03:55韩继英
无线互联科技 2020年24期
关键词:备份实例储存

韩继英

(山西职业技术学院,山西 太原 030006)

0 引言

云数据库是大数据计算和传统数据库的融合物,能够适应技术发展,具有高储存性、拓展性等优良特性。近几年随着大数据技术的不断发展和数据量的不断攀升,越来越多的终端用户将自己的数据转移至云端,因此研究云数据库对于企业发展具有积极的作用。本文基于私有云平台,借助前端开发C++技术,来进行云数据库设计与实现,旨在提高云数据库的可靠性和安全性。

1 云数据库

云数据库是大数据云数据库和传统意义上数据库的整合和技术融合产物,基本框架是通过构建虚拟环境将数据上传至云数据库,终端客户根据自身特性选择对应的数据获取路径[1]。云数据库保证了储存容量的弹性化机制。云数据库一般具有以下特性。

(1)终端用户选择适用性广,可以根据自己的实际情况选择对应的数据库,且支持容量的扩增。

(2)具有数据稳定性,防止由于其他因素造成数据的泄漏和遗失,一定程度上降低了用户数据安全风险。

(3)可实现远程参数调配,最大限度地降低设备维护成本。

(4)实现数据的安全备份机制,提供数据安全监控策略,保证和提高数据的可靠性。

2 系统需求分析

云数据库基于私有平台来规划部署数据库。本文通过对数据库进行资源集群化,终端用户可以根据自己的实际情况,选择对应的数据库,储存容量、内存大小等;借助Web Service提供实例化操作,最大限度地降低用户界面操作难度;此外用户还可以对数据库进行参数匹配,调整性能参数,提高系统的稳定性和安全性。

2.1 储存方式

数据库的储存方式对于数据库的可靠性具有重要影响作用,为实现数据的标准化,在进行数据库服务器切换过程中,本次采用DRBD与共享存储集合储存模式[2]。

2.2 物理服务器池

数据库基于实例化实现数据库的环境搭建,不同类型的数据库具有不同的服务器集群范围,如高可用集群;因此为了营造云数据库的工作环境,需基于硬件服务器上融合MySQL、Percona软件和插件等[3]。数据库物理服务器池有个虚拟IP提供用户适用,用户在进入Web中,选择不同类型的数据,IP以及数据备份路径,系统会自动搭建数据库环境,此时用户的物理服务器池也会出现。

3 系统设计

本文基于前端开发C++技术,采用高可用的系统架构思路来决心系统设计,底层数据库以Python调用SaltStack实现对数据库的调用和匹配,软件层面既要实现逻辑的通信,又要实现设备层之间的交互。

3.1 OpenStack架构设计

本文OpenStack架构设计在每个控制点上都安装了network和MySQL数据库等有关Nova组件的服务器,通过完成不同的任务目标,实现多个节点控制,可被多台(本文2台)服务器控制。本文计算机节点Nova-compute、虚拟化插件等,可实现虚拟内存、CPU等,由于数据计算节点集群化通过在存储节点安装Nova-volume或Nova-Cinder服务器,实现储存节点的虚拟化和共享储存的目的。此外在Glance镜像中还可以接入计算机节点,控制储存单元的磁盘大小。本项目主要通过安装Neutron-server到网络节点,实现为虚拟机实例提供网络服务,如网络端口的创建、子网及虚拟网络等功能[4]。而管理网是由数据层、存储层根据组网所对标的目标不同,主要的功能是保证网络节点的顺畅、数据安全性以及防火墙规则调整。

3.2 平台架构设计

基于OpenStack平台的构架设计,不仅保证了原架构的功能外,还提高了平台的可靠性和运行安全、稳定性;此平台是实现终端用户的管理和配置,通过将客户的目的匹配对应的服务,实现统一管理[5]。一般包括云主机、云存储、网络等相关介质;本文所涉及的平台构架体系主要包括硬件的设置、服务体系的构件以及数据库的设计。

云平台组件主要用于储存各个系统运行的数据。云平台的硬件设置按照性能不同对组件配置不同的服务器。可节省物理介质资源。但缺点就是系统反应速度慢、服务器故障即面临组件的更换;分布式则可实现不同组件匹配不同的服务器,动态响应快、高可用(见图1)。

3.3 云数据库架构设计

物理服务器池以高可用架构设计思路,匹配集群化管理模式,在系统正常工作下,主服务器会处于待机状态,此时系统的储存模式是共享存储;当系统出现异常状态时,系统会自动转换至online状态,此时数据将保存至备用服务器端并启动数据的安全性能;每个服务器可匹配虚拟IP,通过IP服务控制服务器状态。云数据库物理架构如图2所示。

图1 平台架构

图2 云数据库物理架构

4 系统功能详细设计

4.1 功能设计

主要功能设计不仅可以实现数据化实例创建还可以对服务器进行匹配修改,如添加、删除、刷新等操作。

4.2 数据库表设计

本文数据库表设计主要涉及多种数据库,如MySQL;因此在数据集群化时,需要根据数据库的参量信息选择不同的集群。数据库物理状态也能被用户调用和查看,如磁盘利用率、内存大小等。数据库实例化的同时也会受服务器性能和内存大小的影响。设计数据库存储云数据库的物理服务器池相关信息[6]。

5 数据库的实现

5.1 数据库表实现

MySQL数据库的实例化,系统可实现多种参量的修改,参量一般会在储存数据表中进行保存,当用户需要对参量进行修改,则在web页面输入对应的信息,此时前端软件会对输入的信息进行预处理,通过实例化进行参数匹配。

Python端获得数据后,根据实例参量选择对应的服务,经过多次的实例化表征后,架构++修改数据库表db-paralist中value-now。

5.2 实例备份实现

数据备份选用定时器触发模式,通过备份模式对数据库进行数据表的修改和传递,当用户设置了备份信息表后,定时器如被激发,备份指令会响应,此时系统会把ASN.1的编码格式发送至后台C++端实现备份路径和方式的生成。Python端收到对应的指令后,此时备份位置会被放置VG中,加之时间戳的作用,包含了备份路径和已备份文件名的备份信息会重新返回到Python端,并被写入数据表中,用户就可以通过Web页面查看实例备份文件记录。

6 结语

数据库对于系统、平台都是不可或缺的一部分,尤其是随着大数据、云数据的发展,数据库的可靠性和安全性对于系统、平台的发展、维护都具有积极影响。本文通过研究对MySQL云数据库进行需求分析、系统平台构架设计等方面的研究可得出基于MySQL云数据库设计与实现可满足大部分系统、平台的需求,通过实例化操作最大限度地提高了数据库的实用性。

猜你喜欢
备份实例储存
冬季养羊这样储存草料
创建vSphere 备份任务
安防云储存时代已来
旧瓶装新酒天宫二号从备份变实验室
精液长时间冷冻储存与冷冻复苏率的相关性研究
冬眠
完形填空Ⅱ
完形填空Ⅰ
出版原图数据库迁移与备份恢复