数据库集群服务器数据分类方法
技术领域
本发明涉及一种数据库集群服务器数据的分析、处理及分类方法,应用于数据库集群服务器关键性指标的监控与统计。
背景技术
数据库集群是利用多台数据库服务器,构成一个虚拟单一数据库逻辑映像,和单数据库系统一样,都可以向客户端提供透明的数据服务。随着大数据时代的到来,数据库集群的规模越来越大,集群系统的性能监控与分析就显的尤为重要,即需要对整个集群整体的运行情况有个直观的了解,又需要对集群中各台服务器的运行情况有个快速,清晰,准确的查看和定位。
传统的关系型数据库为二维数据库,要通过其实现数据库集群的数据分类以及关键性指标的监控与统计,如要按LOAD,QPS,TPS字段加主机名加时间段进行,需要将条件拆为二维方式的SQL语句,多次执行。存在计算时间长,处理效率不高的缺点,不利于快速高效的实现对数据库数据进行分类,不利于实现对数据库集群服务器关键性指标的监控与统计,不能够方便、快捷地实现对数据库集群服务器数据的调用,影响高性能计算机数据处理效率。
因此,如果能够提出一种计算方法简单、运算速度快的数据分类方法,必然能够提高高性能计算机数据处理效率,提高计算机性能。
发明内容
本发明针对现有技术不足,提出了一种数据库集群服务器数据分类的方法,在关系型数据库基础上,实现了数据的三维分类,能够快速高效的实现数据库集群服务器关键性指标的监控与统计。
本发明所采用的技术方案是:
一种数据库集群服务器数据分类方法,实现步骤如下:
1)在数据库集群服务器中的每台服务器上配置一个监控代理实例,
在数据库集群服务器中配置全局数据服务器用于收集和显示各个监控代理实例的数据;
2)每个监控代理实例每隔一定时间获取一次当前服务器的LOAD,QPS,TPS,网络I/O,磁盘I/O,内存使用率,CPU使用率,汇总至全局数据服务器,并建立数据库表;
3)全局数据服务器根据每个服务器的LOAD,QPS,TPS指标,按主机名,时间信息进行分类汇总,获取一定时间段内所有主机的各项监控数据信息;
4)结合关系数据库的特点,在关系型数据库中取数据时按时间范围进行一次数据读取,得到一组数据集A;
5)处理获取到的数据集A时,首先以指标字段名建立多个指标大桶,顺序读取从关系型数据库中获取的数据集A;
6)用数据集A中的主机名加指标字段名建立主机指标小桶;
读取数据集A中的数据,将主机名和指标字段对应的数据值放入对应的主机指标小桶中;
如果不存在对应的主机指标小桶,则以时间信息和指标字段名创建新的主机指标小桶,并将时间信息和指标字段对应的数据值放入所述主机指标小桶中;
7)读取数据集A中的所有数据到主机指标小桶中,将主机指标小桶名字中指标部分相同的主机指标小桶放入对应的指标大桶,指标大桶中包含了各主机指标小桶的详细信息;
这样就实现了以指标字段为第一维条件,以指标字段加主机名为第二维条件,以时间信息为三维条件的数据库集群服务器数据的三维分类。
所述的数据库集群服务器数据分类方法,每个监控代理实例每隔2到5秒获取一次当前服务器的LOAD,QPS,TPS,网络I/O,磁盘I/O,内存使用率,CPU使用率信息;全局数据服务器建立数据库表的结构包括字段和类型,所述字段包括主机名,检测时间,服务器负载,磁盘每秒读取次数,磁盘每秒写入次数,磁盘每秒读取的扇区数,磁盘每秒写入的扇区数,磁盘Io队列大小,磁盘等待比例,Db插入次数,Db更新次数,Db 删除次数,Db 查询次数,缓存命中率,全局数据服务器通过建立数据库表将之按类型归类。
本发明的积极有益效果:
1、本发明数据库集群服务器数据分类方法,基于集群整体与个体都需要统计与分析的需求,在关系型数据库基础上,采用一次数据库读取操作加大小桶方法,实现了数据的三维分类,方便实现数据库集群服务器关键性指标的监控与统计。相当于给集群系统加入了“仪表盘”+“听诊器”,方法简单可靠,运算速度快。
2、本发明数据库集群服务器数据分类方法,分析结果准确可靠,分类结果简单明了,可以方便的让web界面进行图形化展示,按照集群指标,集群主机名,时间信息进行画图,即能展示集群整体运行情况,又能方便的查看集群中各台服务器的指标信息。
具体实施方式
本发明数据库集群服务器数据分类方法,基于集群整体与个体都需要统计与分析的需求,在关系型数据库基础上,采用一次数据库读取操作加大小桶方法,实现了数据的三维分类,方便实现数据库集群服务器关键性指标的监控与统计。
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
实施例1
本实施例的数据库集群服务器数据分类方法,其实现步骤如下:
1)在数据库集群服务器中的每台服务器上配置一个监控代理实例,在数据库集群服务器中配置全局数据服务器用于收集和显示各个监控代理实例的数据;
2)每个监控代理实例每隔一定时间获取一次当前服务器的LOAD,QPS,TPS,网络I/O,磁盘I/O,内存使用率,CPU使用率,汇总至全局数据服务器,并建立数据库表;
3)全局数据服务器根据每个服务器的LOAD,QPS,TPS指标,按主机名,时间信息进行分类汇总,获取一定时间段内所有主机的各项监控数据信息;
4)结合关系数据库的特点,在关系型数据库中取数据时按时间范围进行一次数据读取,得到一组数据集A;
5)处理获取到的数据集A时,首先以指标字段名建立多个指标大桶,顺序读取从关系型数据库中获取的数据集A;
6)用数据集A中的主机名加指标字段名建立主机指标小桶;
读取数据集A的数据,将主机名和指标字段对应的数据值放入对应的主机指标小桶中;
如果不存在对应的主机指标小桶,则以时间信息和指标字段名创建新的主机指标小桶,并将时间信息和指标字段对应的数据值放入所述主机指标小桶中;
7)读取数据集A中的所有数据到主机指标小桶中,将主机指标小桶名字中指标部分相同的主机指标小桶放入对应的指标大桶,指标大桶中包含了各主机指标小桶的详细信息;
这样就实现了以指标字段为第一维条件,以指标加主机名为第二维条件,以时间信息为三维条件的数据库集群服务器数据的三维分类。
实施例2
本实施例的数据库集群服务器数据分类方法,与实施例1的不同之处在于:步骤2)、步骤3)中,每个监控代理实例每隔2到5秒获取一次当前服务器的LOAD,QPS,TPS,网络I/O,磁盘I/O,内存使用率,CPU使用率信息;全局数据服务器建立数据库表的结构包括字段和类型,所述字段包括主机名,检测时间,服务器负载,磁盘每秒读取次数,磁盘每秒写入次数,磁盘每秒读取的扇区数,磁盘每秒写入的扇区数,磁盘Io队列大小,磁盘等待比例,Db插入次数,Db更新次数,Db 删除次数,Db 查询次数,缓存命中率,然后通过全局数据服务器建立数据库表将之按类型归类。
实施例3
本实施例的数据库集群服务器数据分类方法,实现数据库集群服务器数据的三维分类和关键性指标的监控与统计的步骤如下:
1、在服务器集群系统中配置一台用于数据收集及数据展示的全局数据服务器;在服务器集群系统中的每台服务器上配置一个监控代理实例;
2、监控代理实例每3分钟获取一次当前服务器的LOAD,QPS,TPS,网络I/O,磁盘I/O,内存使用率,CPU使用率,汇总至全局数据收集服务器,全局数据服务器建立数据库表。所述数据库表结构及说明如下:
字段 |
类型 |
说明 |
hostname |
varchar(50) |
主机名 |
datetime |
datetime |
检测时间 |
load_5m |
float |
服务器负载 |
io_r |
float |
磁盘每秒读取次数 |
io_w |
float |
磁盘每秒写入次数 |
io_rkB |
float |
磁盘每秒读取的扇区数 |
io_wkB |
float |
磁盘每秒写入的扇区数 |
io_queue |
float |
磁盘Io队列大小 |
io_util |
float |
磁盘等待比例 |
ins |
int(11) |
Db插入次数 |
upd |
int(11) |
Db更新次数 |
del |
int(11) |
Db 删除次数 |
sel |
int(11) |
Db 查询次数 |
hit |
float |
缓存命中率 |
3、全局数据服务器根据LOAD,QPS,TPS等指标,按主机名,时间信息进行分类汇总,获取特定时间段内所有主机的各项监控数据信息,这是三维数据获取的需求。如:需要看整个集群当前的QPS总量,当前的IO读写总数。
4、结合关系数据库的特点,在关系型数据库中取数据时按时间范围进行一次数据读取,得到数据集A,如下表所示:
关系型数据库为二维数据库,如要按LOAD,QPS,TPS字段加主机名加时间段进行,需要将条件拆为二维方式的SQL语句,需要多次执行。计算时间长,效率不高。
本发明数据库集群服务器数据分类方法,分类与汇总的处理流程是(接上述步骤4):
5、处理获取到的数据A时,首先以指标字段名建立多个指标大桶。在此例子中,建立的大桶是load_5m,ins,upd,del,sel5个大桶。
6、顺序读取从数据库中获取的数据集A;使用获取的数据集A中的主机名加指标字段名建立主机指标小桶;
如果小桶不存在,创建主机指标小桶并将时间信息和指标字段对应的数据值放入小桶中。第一条记录读取后建立的小桶名字及值对应为:
如果小桶存在,直接将时间信息和字段值追加到小桶中,例:当读取到第五条记录时,以gcdbd104开头的小桶会进行记录追加,追加后的结果为:
读取完所有数据,数据都进到小桶后,对小桶名进行分析,将名字中指标部分相同的桶放入对应的指标大桶,大桶中包含了各小桶的详细信息,举例如下:
这样就实现了以指标字段为第一维条件,以指标字段加主机名为第二维条件,以时间信息为三维条件的数据库集群服务器数据的三维分类。
该数据格式符合图形化曲线所需的数据格式。按此分组后的数据,可以以指标为单位,按主机名和时间信息进行指标的图形化展示。