mycatmysql分布式数据库设计报告.docx
- 文档编号:25414052
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:15
- 大小:176.85KB
mycatmysql分布式数据库设计报告.docx
《mycatmysql分布式数据库设计报告.docx》由会员分享,可在线阅读,更多相关《mycatmysql分布式数据库设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
mycatmysql分布式数据库设计报告
分布式数据库设计
成品技术保障科
V1.21
李伟
成品车间分布式数据库设计
分布式数据库系统设计
1.1案例背景
工信部2015年5月19日发布的“中国十三五规划”指出,将加快建设制造强国,实施《中国制造2025》,推动生产方式向柔性、智能、精细转变,我们与工业4.0的距离越来越近,大数据是工业4.0的最核心驱动,随着成品车间信息化、自动化程度越来越高,并向着更加柔性、自动、智能化发展,我们的传统集中式数据库系统的缺点逐渐体现出来:
1、可用性:
所有数据处理、存储集中在一台计算机上完成,出现故障没有备用服务器可以立刻接管,导致无法访问数据库、机器损坏或系统崩溃数据数据很难恢复。
2、处理能力:
单台机器写入/查询处理能力不足,一台机器既要读取数据,又要写入数据,遇到大数据操作就显得力不从心,在生产时间也就无法对大量数据进行操作
3、性能瓶颈:
硬件性能瓶颈,包括(硬盘、CPU、内存),使用升级硬件的方法效果有限。
4、多种数据库并存:
当前成品车间存在2种数据库,oracle,sqlsever,交叉使用不方便管理维护,出现问题排查困难。
5、数据操作难度高:
创建库/表没有进行向后规划,对数据的统计管理需要在两台服务器之间交叉进行,统计难度高,效率低。
6、向后支持:
数据预警、成品车间管理系统也需要更强劲的底层数据库支持,当前数据库不容易做到。
1.2需求分析
各个节点产生的数据量越来越大,对数据系统要求越来越高,我们所使用的传统集中式数据库已经无法从容应对越来越大的数据。
成品车间生产线数据库主要有oracle和sqlserver两种,分别分布在2台计算机中,柔性线、自动线、三相线交叉使用两种类型数据库,主要出现的问题有;
1、一旦其中一个数据库出现问题,就有很大的几率导致三条线体的某个节点或全部节点失去数据服务,导致停线。
2、数据库出现故障,必须停线,故障修复之后才可以上线使用。
3、数据库处理能力有限,一旦进行数据统计,或者批量查询、写入数据,数据库响应时间就会延长,严重时会影响到生产线的运行,带来停线的风险。
4、硬件可拓展能力差,单台服务器使用升级硬件的方式来提高整个数据库系统性能效果有限,花费高。
数据库必须变得稳定、高效、灵活具备:
1、分布式管理数据的能力。
2、节点扩容添加灵活。
3、高度容灾容错的能力。
4、保证数据安全增加备份服务器。
5、主备数据同步。
6、读写分离功能。
7、数据分片功能,每个分片节点都是一个独立的数据库,每个独立数据库上都有属于自己的局部业务应用,同时也能够支持全局的业务应用。
8、数据由两台主机互相备份,一台异常宕机后,另一台服务器无缝提供数据服务,异常处理后可以即时并入系统,不用重启服务,实现无缝切换。
9、拥有独立的分布式数据库后台管理界面,可以监控所有节点数据服务是否正常。
1.1.1我们的优势与劣势
优势:
我们具备使用分布式数据库的基础条件。
1、拥有4台高性能服务器。
2、具备独立软件开发、维护能力。
劣势:
1、分布式数据库开发使用、维护经验少。
2、管理分布式数据库需要更深层次数据库生产维护知识,我们欠缺这一点。
1.1.2我们的机会与威胁
机会:
分布式数据库将会给生产车间带来
1、数据库综合性能提升,减少因单台计算机软硬件故障对生产线的影响。
2、可以通过编写大数据分析工具,提早发现存在的异常问题、及对生产环节数据分析对生产状态进行预测、预判。
3、使用统一数据库提高软件维护效率,增加软件开发速度。
4、数据安全得到进一步保障。
5、无限的数据扩容。
威胁:
使用初期会有很多的不确定因素
1、分布式数据库第一次用于实际生产,虽然进行了很多模拟演练,也会会出现很多无法预料到的新问题,带来停线的风险。
2分布式数据库简介
2.1它具备三方面的特点:
1、利用网络将多台计算机连接在一起,提供数据库服务的计算机体系,这样做,能给我们的业务带来最大的好处,就是理论上无限的扩展能力,
2、分布式数据库还能够给我们带来更高的数据安全级别,如果需要,我们可以将数据存储在多个异地的数据中心中,这样可以极大的提升数据的安全级别。
3、分布式数据库还能给我们带来更高的可用性,因为一台机器只存储数据的一小部分,所以,单台机器故障,对整个系统的影响就会变小。
从分布式数据库的优势来分析,可以看到,它最主要的优势在于,近乎无限的数据扩展能力,让我们的系统不再有“成长的烦恼”,同时,又能够很好地提升数据库的数据安全和可用性。
2.2设计满足以下三方面:
1、物理分散性,即数据分散存储在各个不同的场地上;
2、逻辑整体性,即分散的数据库在逻辑上是一个整体,在逻辑上就好像是一个集中的数据库系统;
3、场地自治性,即各个场地上的数据由本地的DBMS(数据库管理系统)管理,具有高度自治的处理能力,能够独立完成本站点的局部业务应用。
3设计目标
3.1总体设计目标
根据分布式数据库设计的总体要求,结合实际现场生产案例的具体业务需求,该案例的总体设计目标如下:
3.1.1安全性:
1、保证网络安全、数据库安全,建立严格的权限管理机制,后端数据库网络独立。
3.1.2可扩充性:
1、该分布式数据库的设计必须保证一定的可扩充性,以满足业务发展的需求,当系统需要扩容时,必须保证系统能够方便的将其加入。
3.1.3可靠性:
1、改善系统的可靠性和可用性是分布式数据库的主要目标.将数据分布于多个场地,并增加适当的冗余度可以提供更好的可靠性.因为一个节点出了故障不会引起整个系统崩溃.故障场地的用户可以通过其它场地进入系统.而其它场地的用户可以由系统自动选择存取路径,避开故障场地,利用其它数据副本执行操作,不影响业务的正常运行,针对系统运行时可能遇到的各种软硬件故障,
2、分布式数据库应提供系统恢复机制和数据单节点定时备份功能,使故障发生时遭受的损失最小。
3、当网络出现故障时,仍然允许对局部数据库的操作,而且一个位置的故障不影响其他位置的处理工作,只有当访问出现故障位置的数据时,在某种程度上才受影响。
3.1.4数据一致性:
分布式数据库在处理多节点数据时要保证主备数据的一致性、完整性。
3.2完成方式及周期
系统设计目标分4期:
3.2.1一期目标-周期:
4个月2015.8-2015.12
1完成部署4台存储服务器、1台数据路由器
2调试(进行稳定性测试,压力测试,主从切换测试)
3完成定时备份功能
4上线提供服务。
需要软件、硬件支持详见”附录1”
3.2.2二期目标-周期:
3个月2016.1-2016.3
规划FCT数据库表结构,创建相应存储规则,使用当前分布式数据库进行存储
规划三相线数据库表结构,创建相应的存储规则,完成三相线数据转移,替换三相线应用软件使用的SqlServer数据库。
为后续三相线数据预警项目提供大数据分析支持。
3.2.3三期目标:
-周期:
3个月2016.3-2016.6
硬件升级:
1、为保证前端的高可用,增加数据路由服务器至2台,替换掉现有一台测试用路由服务器。
(可以是当前办公电脑联想小机箱)。
2、将4台数据服务器内存升级为32或64GB,数据在内存中执行效率是最高的。
3、使用独立千兆交换机提供数据交换。
4、将计算机网卡由百兆调整为千兆网卡。
软优化:
1、规范化SQL语句的使用,以提升数据库运算效率。
2、加入数据路由服务器负载均衡服务,保证数据路由可靠性。
3、重新梳理柔性线数据存储表结构,规划柔性线数据表存储结构与规则,完成柔性线数据转移,替换柔性线应用软件使用的SqlServer数据库。
需要软件、硬件支持详见”附录2”
3.2.4四期目标:
不确定因素较多
1、柔性线四合一软件数据存储结构梳理,修改部分数据存储代码,实现四合一软件独立运行于分布式数据库
2、与三辉沟通共同升级现有生产线软件,通过升级软件的方式将数据存储至分布式数据库中,替代现有oracle数据库,实现为整个自动线提供大数据服务,最终建成高可用高效的成品车间大数据系统。
3.3当前分布式数据库架构图
3.4三期目标实现后分布式数据库架构图
3.5物理设计施工
从需求分析开始,分别进行概念设计,框架设计,容灾容错设计,物理设计、环境搭建、规则设置、项目功能实现测试等一系列设计过程。
该设计过程是系统从无到有的设计与实现过程,是比较适合当前生产模式的分布式数据库设计。
该分布式数据库设计过程基于分布式应用需求,符合分布透明性原则,满足整个数据库系统在物理上分散而逻辑上统一的设计要求,基本能够实现用户的功能需求,改善整体工作效率,解决原来集中式处理的传输瓶颈问题,有效的利用了局部数据来处理资源,使整个数据库系统实现负载均衡。
数据库性能的好坏很大程度上取决于数据库的物理设计,而不仅仅是关系模式设计的好坏和SQL语句写的好坏。
基础环境搭建:
1、将5台服务器网络配置为(192.168.4.%)
2、并安装配置java环境
3、在4台服务器中分别安装mysql数据库
4、并配置2个用户,backup(用于主备数据同步)使用backup账户配置主从同步
mycat(用于数据路由)
1、在pc主机中安装mycat数据路由工具
2、配置用户权限、内存分配
3、配置主从切换规则
4、配置在写服务操作挂掉之后,读服务依然可用
5、配置相关连接属性
6、配置数据分片规则
7、使mycat账户可以成功接管4台mysql服务。
Zookeeper
1、用于获取当前mycat的信息,并由web抓取展示到页面中
Mycat-web
1、用于监控当前分布式数据库运行状态,统计耗时sql,提供各种表、库分析
1、
3总结
大数据时代,面对海量测试数据量和成品车间不断增加的节点对数据库的需求,本分布式数据库具有如下特征,足以从容应对不断增加的节点与数据。
●高可扩展性:
分布式数据库必须具有高可扩展性,能够动态地增添存储节点以实现存储容量的线性扩展。
●高并发性:
分布式数据库必须及时响应大规模用户的读/写请求,能对海量数据进行随机读/写。
●高可用性:
分布式数据库提供容灾容错机制,能够实现对数据的冗余备份,保证数据和服务的高度可靠性
3.1当前分布式数据库优缺点:
处理能力:
1、当前分布式数据库设计处理能力是oracle数据库2倍
2、整体设计具备大数据处理能力
容灾容错:
1、单节点定时备份
2、主从切换,主机崩溃后,自动切换可用服务,整个数据库后端单节点故障不会影响到整个数据库对外服务。
硬件拓展:
分布式数据库优点在于其是一个分布式的数据库集群,处理节点和存储节点都可以线性增加.
开发方式:
分布式数据库提供一个统一的前端连接接口,与其他数据库使用方式基本相同。
3.2当前分布式数据库缺点、难点
1、网络通信开销较大,严重依赖网络,在网络通信传输速度不高时,会影响整个系统的响应速度。
2、分布式数据库在管理上要更加严谨,监测的节点、参数要更多。
3、当前分布式数据库存放在4台用于实际生产的自动线服务器,没法进行更深度的优化。
附录1
4.1所用软件汇总
所用设备汇总
设备名称
设备功能
数量
配置
Mycat
数据路由工具
1
配置到中间服务器中
Mysql
实现数据存储查询
1
分布在4台服务器中
Csharp
1、用于数据库压力测试
2、高可用
3、数据库解析能力
4、数据完整性
5、全局表配置设置
6、分片规则验证
7、全局序列号
8、对高并发的测试
2
zookeeper-3.4.7
用于mycat-web服务器获取mycat数据
JAVA
mysql以及mycat所必须的底层软件
1
4.2所使用硬件
所使用软件
设备名称
设备功能
数量
配置
自动线服务器
实现数据存储、查询与备份
4
16核处理器/12GB内存/2TB硬盘容量/百兆网卡
联想台式PC
实现数据分发路由
1
双核处理器/4GB内存/百兆网卡
交换机
现有自动线交换机
2
千兆以太网交换机
附录2
5.1所用软件汇总
所用设备汇总
设备名称
设备功能
数量
配置
Mycat
数据路由工具
1
配置到中间服务器中
Mysql
实现数据存储查询
1
分布在4台服务器中
Csharp
9、用于数据库压力测试
10、高可用
11、数据库解析能力
12、数据完整性
13、全局表配置设置
14、分片规则验证
15、全局序列号
16、对高并发的测试
2
zookeeper-3.4.7
用于mycat-web服务器获取mycat数据
JAVA
mysql以及mycat所必须的底层软件
1
Mycat_web
监控mycat状态
1
5.2所使用硬件:
所使用软件
设备名称
设备功能
数量
配置
自动线服务器
实现数据存储、查询与备份
4
16核处理器/12GB内存/2TB硬盘容量/百兆网卡
独立交换机
独立千兆交换机
1
千兆以太网交换机
联想台式机小机箱
实现数据分发路由
可以用办公电脑(M8500S小机箱)
2
I5及以上处理器、16GB以上内存
1TB硬盘
增加4台数据库计算机
将数据库从自动线服务器中独立出来,进一步减轻系统压力
可以用办公电脑(M8500S小机箱)
4
I5及以上处理器、32GB以上内存
2TB以上硬盘
增加服务器内存条
4(4台服务器)*8GB*3(满足最低32GB要求)
12
8GB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mycatmysql 分布式 数据库 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)