一种处理数据库系统中的冗余索引的方法、装置和系统制造方法及图纸

技术编号:15437455 阅读:135 留言:0更新日期:2017-05-26 03:31
本发明专利技术公开了一种处理数据库系统中的冗余索引的方法、装置和系统。本发明专利技术的方法包括:获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中;分析索引收集库中的索引,确定其中的冗余索引,并将确定的冗余索引信息保存到冗余索引库中;根据冗余索引库中的内容,对数据库系统中的冗余索引进行处理。上述技术方案可以实现冗余索引的自动分析和确定,保证冗余索引的处理效率,释放冗余索引占用的磁盘空间,保证数据查询的速度。

A method, apparatus and system for processing redundant indexes in a database system

The invention discloses a method, a device and a system for processing redundant indexes in a database system. The method of the invention comprises: acquiring the deployment database system in the database on the server database index, and saved to the library collection index; index analysis in the library collection index, determine the redundant indexes of them, and will determine the redundancy index information is saved to the redundant index database; according to the redundancy of the content of the index library and for processing redundant indexes in a database system. The technical scheme can realize the automatic analysis and determination of redundant indexes, guarantee the processing efficiency of redundant indexes, release the disk space occupied by redundant indexes, and guarantee the speed of data inquiry.

【技术实现步骤摘要】
一种处理数据库系统中的冗余索引的方法、装置和系统
本专利技术涉及计算机
,具体涉及一种处理数据库系统中的冗余索引的方法、装置和系统。
技术介绍
数据库是按照数据结构来组织、存储和管理数据的仓库。随着用户对数据存储和管理的需求,出现各种数据库,例如,Mysql数据库、Oracle数据库、MongoDB数据库等。其中,MongoDB数据库是一种基于分布式文件存储的数据库,最大的特点是它可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引,那么从大量数据中进行数据查询的过程中使用索引可以加快数据访问的速度。所以这就使得MongoDB数据库对索引非常敏感,数据查询依赖索引,但是索引太多,特别是冗余索引太多的话,不仅会占用大量的磁盘空间,还会影响数据查询的速度。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的处理数据库系统中的冗余索引的方法和相应的装置、系统。依据本专利技术的一个方面,提供了一种处理数据库系统中的冗余索引的方法,包括:获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中;分析所述索引收集库中的索引,确定其中的冗余索引,并将确定的冗余索引信息保存到冗余索引库中;根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理。可选地,所述获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中包括:接收数据库系统中的各数据库服务器上部署的索引扫描客户端发送的,各数据库服务器上部署的数据库中的所有数据集合的索引;将接收到的索引以所属数据集合为单位归类保存到索引收集库中。可选地,所述分析所述索引收集库中的索引,确定其中的冗余索引包括:获取所述数据库系统的数据访问信息,根据数据访问信息确定未被使用过的索引为冗余索引;或者,根据数据访问信息确定被使用次数低于预设数值的索引为冗余索引。可选地,所述分析所述索引收集库中的索引,确定其中的冗余索引包括:被同一数据访问使用过且属于同一数据集合的两个索引,如果其中一个索引是另一个索引的子集,则确定该作为子集的索引为冗余索引。可选地,所述根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理包括:根据所述冗余索引库中的内容,对数据库系统中的冗余索引进行删除处理。可选地,所述根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理包括:将所述冗余索引库中的内容发送给使用所述数据库系统的相应业务方;根据相应业务方反馈的处理意见,删除或保留所述数据库系统中的冗余索引。可选地,所述根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理还包括:根据所述冗余索引库中的内容,为包含冗余索引的数据集合,生成一条或多条处理冗余索引的执行语句;将包含冗余索引的数据集合的冗余索引信息和对应的执行语句在冗余索引展示界面上进行展示;通过冗余索引展示界面接收触发相应执行语句的指令,并执行相应的执行语句。根据本专利技术的另一方面,提供了一种处理数据库系统中的冗余索引的装置,包括:索引获取单元,适于获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中;存储单元,适于存储索引收集库和冗余索引库;冗余索引确定单元,适于分析所述索引收集库中的索引,确定其中的冗余索引,并将确定的冗余索引信息保存到冗余索引库中;冗余索引处理单元,适于根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理。可选地,所述索引获取单元,适于接收数据库系统中的各数据库服务器上部署的索引扫描客户端发送的,各数据库服务器上部署的数据库中的所有数据集合的索引;将接收到的索引以所属数据集合为单位归类保存到索引收集库中。可选地,所述分冗余索引确定单元,适于获取所述数据库系统的数据访问信息,根据数据访问信息确定未被使用过的索引为冗余索引;或者,根据数据访问信息确定被使用次数低于预设数值的索引为冗余索引。可选地,所述余索引确定单元,适于当被同一数据访问使用过且属于同一数据集合的两个索引中,如果其中一个索引是另一个索引的子集,则确定该作为子集的索引为冗余索引。可选地,所述冗余索引处理单元,适于根据所述冗余索引库中的内容,对数据库系统中的冗余索引进行删除处理。可选地,所述冗余索引处理单元,适于将所述冗余索引库中的内容发送给使用所述数据库系统的相应业务方;根据相应业务方反馈的处理意见,删除或保留所述数据库系统中的冗余索引。可选地,所述冗余索引处理单元,适于根据所述冗余索引库中的内容,为包含冗余索引的数据集合,生成一条或多条处理冗余索引的执行语句;将包含冗余索引的数据集合的冗余索引信息和对应的执行语句在冗余索引展示界面上进行展示;通过冗余索引展示界面接收触发相应执行语句的指令,并执行相应的执行语句。根据本专利技术的又一方面,提供了一种处理数据库系统中的冗余索引的系统,其中,该系统包括:分别部署在各数据库服务器上的多个索引扫描客户端,和如前所述的处理数据库系统中的冗余索引的装置;每个索引扫描客户端,适于扫描所在数据库服务器上部署的数据库中的所有数据集合的索引,并发送给所述处理数据库系统中的冗余索引的装置。根据本专利技术的技术方案,获取数据库系统中的各数据库服务器上部署的数据库的索引,并将获取到的所有索引保存在索引收集库中;自动分析并确定索引收集库中已保存的索引中的冗余索引,将确定的冗余索引信息保存在冗余索引库中;然后根据所述冗余索引库中的内容,对数据库系统中相应的冗余索引进行处理。综上所述,本专利技术可以实现冗余索引的自动分析和确定,保证冗余索引的处理效率,释放冗余索引占用的磁盘空间,保证数据查询的速度。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种处理数据库系统中的冗余索引的方法的流程示意图;图2示出了根据本专利技术一个实施例的一种处理数据库系统中的冗余索引的装置的结构示意图;图3示出了根据本专利技术一个实施例的一种处理数据库系统中的冗余索引的系统的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的一种处理数据库系统中的冗余索引的方法的流程示意图。如图1所示,该方法包括:步骤S110,获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中。MongoDB数据库中可包含有多个数据集合,在获取数据库系统中的各数据库服务器上部署的数据库的索引时是要遍历数据库系统中的各数据库服务器上部署的MongoDB数据库中的所有数据集合的索引获取所有的索本文档来自技高网...
一种处理数据库系统中的冗余索引的方法、装置和系统

【技术保护点】
一种处理数据库系统中的冗余索引的方法,其中,该方法包括:获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中;分析所述索引收集库中的索引,确定其中的冗余索引,并将确定的冗余索引信息保存到冗余索引库中;根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理。

【技术特征摘要】
1.一种处理数据库系统中的冗余索引的方法,其中,该方法包括:获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中;分析所述索引收集库中的索引,确定其中的冗余索引,并将确定的冗余索引信息保存到冗余索引库中;根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理。2.如权利要求1所述的方法,其中,所述获取数据库系统中的各数据库服务器上部署的数据库的索引,并保存到索引收集库中包括:接收数据库系统中的各数据库服务器上部署的索引扫描客户端发送的,各数据库服务器上部署的数据库中的所有数据集合的索引;将接收到的索引以所属数据集合为单位归类保存到索引收集库中。3.如权利要求1所述的方法,其中,所述分析所述索引收集库中的索引,确定其中的冗余索引包括:获取所述数据库系统的数据访问信息,根据数据访问信息确定未被使用过的索引为冗余索引;或者,根据数据访问信息确定被使用次数低于预设数值的索引为冗余索引。4.如权利要求1所述的方法,其中,所述分析所述索引收集库中的索引,确定其中的冗余索引包括:被同一数据访问使用过且属于同一数据集合的两个索引,如果其中一个索引是另一个索引的子集,则确定该作为子集的索引为冗余索引。5.如权利要求1所述的方法,其中,所述根据所述冗余索引库中的内容,对所述数据库系统中的冗余索引进行处理包括:根据所述冗余索引库中的内容,对数据库系统中的冗余索引进行删除处理。6.一种处理数据库系统中的冗余索引的装置,其中,该装置包括...

【专利技术属性】
技术研发人员:李丹
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1