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.根据权利要求1所述的方法,其中所述至少将所述关联数据部分分发到所述至少一个维度的维度库包括:将所述数据全部分发到所述至少一个维度的维度库。3.根据权利要求1所述的方法,其中所述数据库还包括全量数据数据库,以及所述方法还包括:响应于向所述数据库写入数据,将所述数据分发到所述全量数据数据库。4.根据权利要求1所述的方法,其中所述信息包括对应维度的入库管道地址信息以及订阅字段。5.根据权利要求1所述的方法,还包括:在经由入库管道至少将所述关联数据部分分发到所述至少一个维度的维度库之后,针对所述对应维度的维度库执行分表处理。6.一种在数据库中写入数据的装置,其中所述数据库包括根据预先设定的多个维度而划分的多个维度库,所述装置包括:维度管理模块,配置为对所述多个维度进行管理并存储每个维度的信息;以及写入分发模块,配置为:响应于向所述数据库写入数据,从维度管理模块获取所述多个维度的信息;根据所获取的信息,确定要写入的数据是否含有与所述多个维度中的各维度有关的关联数据部分;以及响应于确定所述数据含有与至少一个维度有关的关联数据部分,至少将所述关联数据部分分发到所述至少一个维度的维度库。7.根据权利要求6所述的装置,其中所述装置还包括数据分表模块,其中所述数据分表模块配置为在所述写入分发模块经由入库管道至少将所述关联数据部分分发到所述至少一个维度的维度库之后,针对所述对应维度的维度库执行分表处理。8.一种在数据库中查询数据的方法,其中所述数据库包括根据预先设定的...
【专利技术属性】
技术研发人员:何刚,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。