用开源系统来组件数据中心
一.引言
1 .行业问题与需求
IT行业从业10年经历过各种的企业开发过各种的系统,所有的中小型IT企业都面临一个巨大的问题就是由于成本问题,企业开的系统只是停留在简单的服务器+数据库的架构上,也就是最简单的SSH框架,有些混迹于这些企业的号称架构师的大牛也就是知道如何的去构建一套SSH框架还号称什么自动化也就是从一个公司偷到另一个公司而已,也许成本很低但是对于企业的规范化发展没有任何的帮组和益处,那么中小企业如何规范化的同时又不需要投入大量的成本了,就是本文来说明的如何通过一些列的开源系统为中小企业搭建一套廉价的数据中心,实现大数据与快数据。
2.快数据的解决
快数据这是每个企业在构建系统时最关注的事情,怎么样让用户可以最快的访问我们的系统,数据库查询怎么样才能更快,数据库写入更新的瓶劲怎么样才能解决,这样的方案非常的多也非常的丰富,异步写入、查询缓存等都是为了解决快数据的方案,今天我要说的快数据解决就是如何使用内存数据库来提高系统的访问速度,大家都知道一般的数据库都是写道磁盘上,什么建立索引写文件这样一系列的工作都在磁盘上操作。效率肯定会受到影响频繁的IO读写对磁盘也是一种损害,那我们把本来构建在磁盘上的数据库表构建在内存上怎么样了?现在内存数据库技术已经相对成熟而且也支持事务唯一性SQL99等一般数据库的特性,所有的操作都是在内存中进行访问速度非常的快,一下是我做的测试.
H2内存模式与MySQL对比 | ||||
H2_Mem(无索引) | H2_Mem(有索引) | MySQL_InnoDB(无索引) | MySQL_InnoDB(有索引) | |
插入操作 | 91060 | 95155 | 113050 | 129374 |
更新操作 | 3927 | 4401 | 17057 | 21676 |
查询操作 | 2045 | 1134 | 6404 | 5408 |
注:对1000000数据操作 |
这个测试是在很老的PC上做的WINXP系统4G内存CPU是AMD的,如果在服务器LINUX操作系统应该结果差距会比这个大很多。我选用的内存数据库是免费开源的H2当然还有很多商业版更优秀的内存数据库可以选择而且买一套内存数据库的价格比起数据大牛orcale和他的内存数据库解决方案要便宜10倍以上。
二.架构介绍
1.整体架构说明
我们来看一下我做的一个架构图,在我构建的数据中心当中不但是包括了快数据的处理,还包括了快数据到大数据的同步,即时数据的访问离线数据的处理,处理后离线数据的
访问,以上全部采用开源框架的基础上来进行二次开发,这样保证了系统的稳定性与可扩展性。
2.模块说明
整个数据中心有三大模块组成访问API层、即时数据处理层、离线数据处理层组成
2.1 API接口
2.1.1 客户接口
客户端接口包含两种接口访问方式,一种是提供给应用程序进行访问的API接口其中包括了数据库访问的所有接口,该层采用的是SPRING框架的DAO实现来实现对内存数据、mysql数据、数据缓存、HBASE数据库的访问,客户端程序可以通过API接口对数据进行增删改查(注:HBASE数据库只提供访问操作,里面存储的是离线数据处理后的数据结果)。客户端接口被分为两种数据的访问模式,一种是对内存数据库的访问接口,一种是对MYSQL数据的访问接口(这里不光是指H2或者MYSQL数据库,本例子中使用的是这两种数据库),选择哪种数据库接口也就是选择了哪种数据库方式来存储数据,这个要根据系统应用业务的不同来选择相应的数据库。这里既然使用了内存数据库为什么还要用分布式缓存了,在很多业务中特别是集群环境下分布式缓存来实现应用数据的同步是非常廉价方便的解决方案,同样也可以使用分布式缓存来提高某些特定数据的访问速度。
2.1.2 管理接口
管理接口主要是用于数据备份,数据中心集群监控,数据中心设备管理提供API接口,在该API接口的基础上可以开发出图形化的基于WEB或者客户端程序的管理平台,来对数据中心进行统一管理。
2.2 即时数据处理
2.2.1 内存数据库
内存数据库是主要用来存放更新频率高访问要求快的数据库表,这些表是磁盘数据库中数据表的一个映射,在数据中心启动时要将磁盘数据库中的表同步映射到内存数据库中,所有的数据库实时操作都是在内存数据库当中进行,操作完成后会通过JMS异步的将操作的数据更改映射到磁盘数据库中,并保持磁盘数据库与内存数据库中的数据相同,如果在同步时出现了失败该条记录将被记录到日志并进行重新同步。
2.2.2 磁盘数据库
磁盘数据库在数据中心当中是最重要的角色,因为他还是存储数据的关键,所有的数据都还是要同步到磁盘数据库中,因为内存数据库在系统断电时里面的数据就会消失,如果数据中心出现故障停机或者数据库挂掉了那么在内存中的数据就很容易丢失,那么我们在操作内存数据库的同时就必须将内存数据库的数据同步到磁盘数据库中,这个同步过程是通过JMS的方式来异步实现,必须保证每个同步消息的稳定不被丢失,所以每次同步成功后要发确认消息来保证数据已经成功同步。
2.3 离线数据处理
系统运维到一定时间后会产生大量的历史数据,对这些历史数据进行分析是非常重要的,我在这里采用了非常流行的HADOOP来做大数据的存储与分析。并建立一套数据传输的规则来实现即时数据到离线数据的传送以及结果的返回保存与访问。
2.3.1 即时数据与离线数据同步
在HADOOP中数据的存储格式是多样的如文本方式、顺序文件、MAP文件的方式来存储数据,对于要进行分析的数据要根据业务的不同来存储到HADOOP中,比如日志文件的分析最好是采用顺序文件的方式,而对于一般的数据我们可以采用简单的文本方式进行存储(实际上顺序文件一般用于排序使用,用来做数据分析最多的还是以文本方式存储),当然如何将数据导入到HADOOP中还有很多其它的方式,比如将数据存储到HBASE里面。而在这里最有效最简单的方式就是使用Sqoop将数据导入到HDFS中以文本的形式保存,在对数据进行加工处理,Sqoop非常的简便也非常轻巧很好使用直接各种数据。
2.3.2 数据分析
进行数据分析在HADOOP中有两种方式采用pig 脚本的方式或者是自编写MapReduce程序,这个要看Pig能否完成满足你的要求,如果pig无法满足需求就要自己编写MapReduce来处理数据。数据处理完成后可以使用HIVE来整理数据,并将整理后的数据存放到HBASE里面,在通过HBASE接口访问这些处理后的数据,对于一般的行业应用来说,离线数据分析主要还是用户行业内数据的分析处理。
2.4 数据备份数据安全
2.4.1 数据备份
数据库备份是一件非常重要但是往往被忽略的工作,特别是在一些小企业里面,数据库中甚至还保存着3年前的数据,对于数据备份可以通过管理API来指定计划实现热备份,将数据库中的历史数据移到历史库中,如果业务要求要对历史数据能够查询统计那么最好是根据你的业务做一个历史数据库将历史数据里面可以运算并集的数据放到该库的统计表里面,在使用时查询出来。而对于HADOOP当中的数据实际上集群已经做了数据容错也就是每个集群中数据最少都是有3个备份,当然为了安全还是需要做一些冷备的处理,比如将节点的硬盘进行复制,HADOOP的节点管理非常的方便可以在开机情况下扩展收缩节点。
2.4.2 数据安全
数据库安全从数据中心的角度考虑就不是数据库注入这样的程度了,比如云计算或者是金融产品当中使用数据中心就必须保证数据的可见权限是有限的,一般的程序员是没有权限去访问关键表的,每个表的字段只能通过程序才能访问到里面真实的内容。
三.结语
数据是企业的核心,稳定的数据保存快速的数据访问是IT企业必须要保证的,不要在重构系统了,那是因为一开始就没有规划好,停下脚步花花时间构建一个稳定的平台,这样才能决战未来,IT行业技术永远都是核心也是永远的竞争力。
用开源系统来组件数据中心相关推荐
- 浅析能耗监测系统在大型数据中心的应用
摘要:本文根据大型数据中心能耗监测的具体需求,设计了一个大型数据中心能耗监测系统,实现了资产管理.环境监测.设备控制.能耗分析以及数据统计等功能,可以为节能减排提供重要依据,在大型数据中心能耗管理方面 ...
- 从搭建报表系统到扩建数据中心,西南证券做了3件事!
一.客户介绍 西南证券成立于1999年,唯一一家注册地在重庆的全国综合性证券公司.2009年公司在上海证券交易所挂牌上市,成为中国第九家上市证券公司,重庆第一家A股上市金融机构.目前在全国29个省份设 ...
- 日照油库系统推荐_数据中心很重要,消防防范更重要——七氟丙烷气体灭火系统...
在大多数人的印象里认为数据中心和火灾没有太大关系,因为数据中心里除了电子设备就是电子设备,再加上数据中心具有完善的消防监控系统,认为就算有些火灾隐患也很快就消去了.然而,实际恰恰相反,数据中心却成了火 ...
- sdn框架的计算机网络管理,清华SDN实践--SDN 系统架构与数据中心应用
清华大学在SDN 的系统架构以及其在数据中心网络中的应用方面展开了深入研究,主要研究成果包括:1. 以数据为中心的软件定义网络架构 SODA(Software Defined Data Centric ...
- 服务器电源系统,服务器电源系统于新一代数据中心设计的基础意义
/4A 50HZ,定义的是该电源的输入参数,而且这项参数经常却贴在服务器外壳靠近风扇的地方,因此,就特别容易让人误解:服务器的功率就是INPUT 220V×4A=880VA,就是该服务器的额定视在功率 ...
- 数据中心暖通系统建设交付关键路径分析
数据中心除去IT设备用电外,暖通系统耗电量占比最高,约占建筑总用电量的35%以上,从如何优化暖通系统建设交付的关键路径角度出发进行相关研究,将有利于大型低PUE数据中心快速投产,满足当下的政策要求. ...
- 基于数据中心废热利用的供冷、供热系统
随城市发展,新建建筑供热缺口日益扩大,冬季因供热带来的碳排放和环境污染急需缓解,政府引导和鼓励以电和天然气替代煤供热.数据中心排热量大,排热量稳定.利用数据中心的废热给建筑物供热,可有效降低供热系统的 ...
- 数据中心蓄冷系统选择-孙长青
钛基数据设计总监 孙长青 摘要:在数据中心的大型空调水系统中,为了达到连续制冷的功能,采用的措施主要是蓄冷技术.在Uptime 对于T4等级的数据中心要求里,明确要求了连续制冷功能:在其他规范和标准里 ...
- 数据中心机房封闭冷通道动环监控系统作用
在数据中心机房中,为了实现能源的高可利用率,一般都会考虑设置封闭式冷通道,与之配套的自然还有动环监控系统.封闭冷通道动环监控系统对精密配电.EPD.UPS.空调.温湿度.烟感等进行实施监控,并可实现与 ...
最新文章
- c++ 预处理命令 #error 用法
- 一款动态跑路html源码,简单实用,上传解压就完事了
- android按钮怎么事件监听,android 通过监听edittext实现button的点击事件
- Windows Server 版本信息及支持期 Win10系统各版本服务起止日期。
- linux apache 2.2下载,Apache HTTP Server 2.2.26 发布下载
- 林森---博客园之二,对《闭包》的个人见解!希望能帮到不理解闭包的同学们!...
- ups容量计算和配置方法_UPS电源选择与电池容量计算
- 17.企业应用架构模式 --- 会话状态模式
- 原python基础概念整理_python基础知识脉络梳理总结
- Java zip文件加注释_java.util.zip.ZipEntry.setComment(String comment)方法示例
- Leftist Heaps 习题解
- shopnc mysql_(转) shopnc数据库操作
- ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明
- 最新最佳最重要的计算机相关网站推荐(更新版)
- 计算机共享访问权限 xp,上面就是xp访问win7共享要密码的解决方法
- xmanager linux 配置,配置Xmanager连接Linux
- 自动驾驶中的模型预测控制(Model Predictive Control)
- 游戏黑客圣经GHB1学习笔记 part1(1-5)
- Android .9图片制作教程(二)
- android p 牛轧糖_如何启用Android牛轧糖的猫收集复活节彩蛋