在数据库中写入和查询数据的方法与装置及其管理系统制造方法及图纸

技术编号:16755600 阅读:33 留言:0更新日期:2017-12-09 02:06
提供了一种在数据库中写入数据的方法和装置、查询数据的方法和装置、以及数据库管理系统,其中数据库包括根据多个维度划分出的多个维度库。所述系统包括:维度管理模块,配置为对多个维度进行管理并存储每个维度的信息;写入分发模块,配置为当向数据库写入数据时,获取多个维度的信息;根据所述信息,确定数据是否含有各维度的关联数据部分;以及响应于确定数据含有关联数据部分,至少将关联数据部分分发到所述至少一个维度的维度库;查询解析模块,配置为根据查询请求确定查询维度和查询条件,并获取所确定的维度的信息;路由模块,配置为根据所述信息,路由到对应维度库;以及执行模块,配置为根据查询条件,在所述对应维度库内执行查询。

Method and device for writing and querying data in a database and its management system

A method and device for writing data in database, a method and device for querying data, as well as a database management system are provided, wherein the database includes multiple dimension libraries divided by multiple dimensions. The system comprises a dimension management module configured to manage and store the information of each dimension to multiple dimensions; write distribution module, when configured to write data to the database, access to multiple dimensions of information; according to the information, determine whether the data contains data associated with each dimension of parts; and in response to to determine the data with the correlation data, at least the dimension Library Association data distribution to the at least one dimension; query analysis module, configuration according to the query request to determine the dimensions of query and the query conditions and obtain the determined dimension information; routing module is configured according to the routing information, to the corresponding dimension library; and the execution module configured according to the query, execute the query in the corresponding dimension in the library.

【技术实现步骤摘要】
在数据库中写入和查询数据的方法与装置及其管理系统
本申请涉及信息
,具体地,涉及一种在数据库中写入和数据的方法与装置、一种在数据库中写入和数据的方法与装置以及一种数据库管理系统。
技术介绍
在互联网应用中,伴随着业务飞速发展,导致业务数据量猛增,使得单表查询越来越慢,从而无法满足使用要求。因此,常见的改进方法是采用各种切分处理,但是现有系统的数据查询方法往往选择单个维度以便进行单维度切分。单维度切分需要根据业务特点找出合适的切分维度,使得在用户查询的维度中刚好包含切分维度的情况下,可以快速的定位分表,并从分表中查询出数据。然而,在用户查询的维度中不包含切分维度的情况下,无法实现快速定位分表,因此需要把查询分发到所有的分表中,然后合并所有分表内的查询结果,这样使得整个查询效率就会降低,且无法减轻数据库负载。此外,如果并发很高的话,不能做到流量分担,因为每个库,每个表都需要查询到。也就是说,在单维度切分和查询中,非切分维度只能支持少量的查询,且无法在多个维度都需要高并发的访问的情况下使用。此外,由于在用户查询的维度中不包括切分维度的情况下需要将查询分发到各个分表以及合并结果数据,如果结果数据中存在排序分组等,则合并结果数据就变得非常复杂,使得实际项目实施成本高昂。附加地,现有单维度切分和查询的解决方案不能减轻数据库负担,资源利用率低,在非划分维度查询的情况下,每个分表都要被查询,使得每个数据库资源都需要提供服务。因此,本公开提出一种在数据库中写入数据的方法与装置、一种在数据库中查询数据的方法与装置、以及一种数据库管理系统,从而解决海量数据在切分时不能多维度切分且在查询时不能多维度查询的问题,使得能够支持多个维度高并发的查询。
技术实现思路
为了至少解决上述问题,本专利技术提供了一种在数据库中写入数据的方法与装置、一种在数据库中查询数据的方法与装置、以及一种数据库管理系统,从而解决海量数据在切分时不能多维度切分且在查询时不能多维度查询的问题,使得能够支持多个维度高并发的查询。根据本专利技术的第一方面,提供了一种在数据库中写入数据的方法,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述方法可以包括:响应于向所述数据库写入数据,获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库。优选地,所述至少将所述关联数据部分分发到所述至少一个维度的维度库可以包括:将所述数据全部分发到所述至少一个维度的维度库。优选地,所述数据库还可以包括全量数据数据库,以及所述方法还可以包括:响应于向所述数据库写入数据,将所述数据分发到所述全量数据数据库。优选地,所述信息可以包括对应维度的入库管道地址信息以及订阅字段。优选地,所述方法还可以包括在经由入库管道至少将所述关联数据部分分发到所述各维度中的至少一个维度的维度库之后,针对所述对应维度的维度库执行分表处理。根据本专利技术的第二方面,一种在数据库中写入数据的装置,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述装置可以包括:维度管理模块,配置为对所述多个维度进行管理并存储每个维度的信息;写入分发模块,配置为:响应于向所述数据库写入数据,从维度管理模块获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库。优选地,所述装置还可以包括数据分表模块,其中所述数据分表模块可以配置为在所述写入分发模块经由入库管道至少将所述关联数据部分分发到所述各维度中的至少一个维度的维度库之后,针对所述对应维度的维度库执行分表处理。根据本专利技术的第三方面,提供了一种在数据库中查询数据的方法,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述方法可以包括:响应于接收到查询请求,确定用于查询的维度和查询条件;获取所确定的维度的信息;根据获取到的信息,路由到与所确定的维度相对应的对应维度库;以及根据所确定的查询条件,在所述对应维度库内执行查询。优选地,所述方法还可以包括在在对应维度库内执行查询之后,处理查询结果并将经处理的查询结果呈现给用户。根据本专利技术的第四方面,提供了一种在数据库中查询数据的装置,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述装置可以包括:维度管理模块,配置为对所述多个维度进行管理并存储每个维度的信息;查询解析模块,配置为响应于接收到查询请求,确定用于查询的维度和查询条件,并从维度管理模块获取所确定的维度的信息;路由模块,配置为根据获取到的信息,路由到与所确定的维度相对应的对应维度库;以及执行模块,配置为根据所确定的查询条件,在所述对应维度库内执行查询。优选地,所述装置还可以包括:结果处理模块,配置为从执行模块接收查询结果,处理查询结果并将经处理的查询结果呈现给用户。根据本专利技术的第五方面,提供了一种数据库管理系统,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述系统包括:维度管理模块,配置为对所述多个维度进行管理并存储每个维度的信息;写入分发模块,配置为响应于向所述数据库写入数据,从维度管理模块获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库;查询解析模块,配置为响应于接收到查询请求,确定用于查询的维度和查询条件,并从维度管理模块获取所确定的维度的信息;路由模块,配置为根据获取到的信息,路由到与所确定的维度相对应的对应维度库;以及执行模块,配置为根据所确定的查询条件,在所述对应维度库内执行查询。附图说明以下结合附图,将更清楚本公开的示例实施例的上述和其它方面、特征以及优点,附图中:图1示出了根据本专利技术示例实施例的在数据库中写入数据的装置的框图;图2示出了根据本专利技术示例实施例的在数据库中写入数据的方法的流程图;图3示出了根据本专利技术示例实施例的在数据库中查询数据的装置的框图;图4示出了根据本专利技术示例实施例的在数据库中查询数据的方法的流程图;图5示出了根据本专利技术示例实施例的数据库管理系统的框图;以及图6(a)和6(b)分别示出了根据本专利技术优选实施例的在数据库中写入数据以及查询数据的方法的示意图。具体实施方式以下参考附图描述了本公开的示例实施。本公开提供了一种在数据库中写入数据的方法与装置、一种在数据库中查询数据的方法与装置、以及一种数据库管理系统,从而解决海量数据在切分时不能多维度切分且在查询时不能多维度查询的问题,使得能够支持多个维度高并发的查询。具体地,图1示出了根据本专利技术示例实施例的在数据库中写入数据的装置的框图。图2示出了根据本专利技术示例实施例的在数据库中写入数据的方法的流程图。以下参考图1和图2来描述根据本专利技术示例实施例的在数据库中写入数据的方法。如图1所示,根据本专利技术示例实施例的数本文档来自技高网
...
在数据库中写入和查询数据的方法与装置及其管理系统

【技术保护点】
一种在数据库中写入数据的方法,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述方法包括:响应于向所述数据库写入数据,获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库。

【技术特征摘要】
1.一种在数据库中写入数据的方法,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述方法包括:响应于向所述数据库写入数据,获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库。2.根据权利要求1所述的方法,其中所述至少将所述关联数据部分分发到所述至少一个维度的维度库包括:将所述数据全部分发到所述至少一个维度的维度库。3.根据权利要求1所述的方法,其中所述数据库还包括全量数据数据库,以及所述方法还包括:响应于向所述数据库写入数据,将所述数据分发到所述全量数据数据库。4.根据权利要求1所述的方法,其中所述信息包括对应维度的入库管道地址信息以及订阅字段。5.根据权利要求1所述的方法,还包括:在经由入库管道至少将所述关联数据部分分发到所述至少一个维度的维度库之后,针对所述对应维度的维度库执行分表处理。6.一种在数据库中写入数据的装置,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述装置包括:维度管理模块,配置为对所述多个维度进行管理并存储每个维度的信息;以及写入分发模块,配置为:响应于向所述数据库写入数据,从维度管理模块获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库。7.根据权利要求6所述的装置,其中所述装置还包括数据分表模块,其中所述数据分表模块配置为在所述写入分发模块经由入库管道至少将所述关联数据部分分发到所述至少一个维度的维度库之后,针对所述对应维度的维度库执行分表处理。8.一种在数据库中查询数据的方法,其中所述数据库包括根据预先设定的...

【专利技术属性】
技术研发人员:何刚
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1