一种数据查询方法技术

技术编号:10369829 阅读:159 留言:0更新日期:2014-08-28 12:28
本申请公开了一种数据查询方法,在进行数据表的分布式存储时,应用服务器将具有关联关系的两个表,按照相同的子表数进行水平拆分,并按照相同的散列公式将两个表的相同索引号的子表散列到分布式数据库服务器上,在进行数据查询时,数据库服务器可以根据子表的关联关系进行简单的数据查询处理。采用本发明专利技术,可以避免进行合并查询时跨机查询的网络传输开销,减少复杂查询的处理时延,适用于OLTP应用场景。

【技术实现步骤摘要】
一种数据查询方法
本专利技术涉及分布式数据库系统的数据处理技术,特别是涉及一种分布式数据库系统中的数据查询方法。
技术介绍
目前,随着数据规模及其访问量对关系数据库提出了很大挑战:数十亿条的记录、数TB的数据、数千TPS、数万QPS让传统的关系数据库不堪重负,单纯的硬件升级已经无法使得问题得到解决。而目前的分布式数据库技术无法有效的支持复杂的关联查询。针对该问题,通常是采用对先对数据表进行水平拆分,然后再把拆分后的各子表分散到多个服务器上的方式,来实现大规模数据的存储。具体为:选取数据表中的某个或若干字段作为拆分键,将记录散列到不同的数据库服务器中。当客户端需要访问某个记录时,根据拆分键找到记录所在的服务器位置;上述方法可以实现记录规模较大的数据表的分布存储,但是,在进行表关联查询时容易出现跨机查询,即需要关联的子表分布在不同的服务器上,该情况下,一方面各数据库服务器无法进行合并查询处理,而需要应用服务器从各数据库服务器中读取子表后,才能进行相应的合并查询处理,这样就会导致应用服务器的数据处理负荷就会较大,当跨机查询的数据越多时,系统的性能就会越差;另一方面,由于需要将数据库服务器中本文档来自技高网...
一种数据查询方法

【技术保护点】
一种数据查询方法,其特征在于,包括:当应用服务器对数据库系统中的数据进行存储时,对于存在关联关系的两个表,根据所述关联关系的关联字段,对每个所述表进行水平拆分,得到该表的N个子表;对于所述两个表,所述应用服务器根据子表的索引号,利用相同的散列公式,确定用于存储各自子表的数据库服务器;将各所述子表存储在所确定的数据库服务器中;对于所述两个表的每对具有相同索引号的子表,所述应用服务器根据所述关联关系,确定该对子表的关联关系;当客户端触发根据所述两个表的关联关系进行数据查询时,对于满足查询条件的子表,将该子表对应的关联关系发送给子表所在数据库服务器,触发所述数据库服务器根据该关联关系,按照所述查询条...

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:当应用服务器对数据库系统中的数据进行存储时,对于存在关联关系的两个表,根据所述关联关系的关联字段,对每个所述表进行水平拆分,得到该表的N个子表;对于所述两个表,所述应用服务器根据子表的索引号,利用相同的散列公式,确定用于存储各自子表的数据库服务器;将各所述子表存储在所确定的数据库服务器中;对于所述两个表的每对具有相同索引号的子表,所述应用服务器根据所述关联关系,确定该对子表的关联关系;当客户端触发根据所述两个表的关联关系进行数据查询时,对于满足查询条件的子表,将该子表对应的关联关系发送给子表所在数据库服务器,触发所述数据库服务器根据该关联关系,按照所述查询条件进行查询,并返回结果给所述应用服务器;所述应用服务器根据所述查询条件,对所述返回结果进行相应的查询处理并反馈结果给所述客户端。2....

【专利技术属性】
技术研发人员:王锋唐超马丽伟秦波赵晓平
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1