CN111061759A - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN111061759A CN111061759A CN201811207755.3A CN201811207755A CN111061759A CN 111061759 A CN111061759 A CN 111061759A CN 201811207755 A CN201811207755 A CN 201811207755A CN 111061759 A CN111061759 A CN 111061759A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- query
- independent service
- independent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本公开提供一种数据查询方法及装置,涉及数据查询领域,能够解决减轻数据查询受限于内存大小的问题。具体技术方案为:将数据划分为独立业务数据和公共基础数据,将所述独立业务数据存储于至少一个独立业务数据库中,将所述公共基础数据存储于共享主数据库中;当接收到查询请求后,根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库的数据后返回查询结果。本发明实施例可以用于系统查询性能的提升。
Description
技术领域
本公开涉及数据查询领域,尤其涉及一种数据查询方法及装置。
背景技术
规模较大的软件系统或者分布式系统,因为数据量很大,单一数据库往往无法满足。为了保证系统的数据库读写性能,通常会根据业务将数据进行划分,划分成很多独立数据库来存储不同分类的主题数据。因此在进行数据查询时,就经常需要从不同的数据库关联查询数据。在需要多结果集进行分页查询的情况下,必须同时查询多个数据库的数据,在内存进行最小堆运算,计算出正确结果集返回给用户;往往需要进行数据库的路由及实时运算,才能完成跨库的查询操作。这样跨库查询操作就会受限于内存的大小,当需要计算的数据量增大时,内存往往成为跨库查询性能的瓶颈。
发明内容
本公开实施例提供一种数据查询方法及装置,能够解决数据查询受限于内存大小的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种数据查询方法,该方法包括:将数据划分为独立业务数据和公共基础数据,将所述独立业务数据存储于至少一个独立业务数据库中,将所述公共基础数据存储于共享主数据库中;当接收到查询请求后,根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库中的数据后返回查询结果。
该实施例中通过数据划分、建立存储公共基础数据存的共享主数据库对数据进行冗余处理,查询时独立业务数据库通过定义远程数据表获取所述共享主数据库的实时数据,这就提升了系统查询的性能,解决了数据查询受限于内存大小的问题。
在一些实施例中,独立业务数据可以按照业务类型分库存储,具体的,可以将所述独立业务数据可以按照至少一种业务类型分别存储于至少一个独立业务数据库中,一种业务类型对应一个独立业务数据库;在一些实施例中,各独立业务数据库基于所述共享主数据库中的数据结构,具有同样的远程数据表结构。在这些实施例中可以根据实际业务查询的需要,高效进行分页数据查询。
在一些实施例中,所述独立业务数据库对所述共享主数据库仅有只读权限。这样可以避免了多份数据操作对数据的一致性造成破坏。
在一些实施例中,通过定义的远程数据表获取所述共享主数据库的数据,包括:在需要进行扩库查询时,可以通过上述独立业务数据库关联的远程数据表获取所述共享主数据库的数据。
根据本公开实施例的第二方面,提供一种数据查询装置,包括:管理模块,存储模块、查询模块和收发模块,其中,管理模块用于将数据划分为独立业务数据和公共基础数据;独立业务数据存储于所述存储模块中的至少一个独立业务数据库中,公共基础数据存储于所述存储模块中的共享主数据库中;收发模块用于接收查询请求;查询模块用于根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库的数据;所述发模块还用于返回查询结果。
通过数据划分、建立存储公共基础数据存的共享主数据库对数据进行冗余处理,查询时独立业务数据库通过定义远程数据表获取所述共享主数据库的实时数据,这就提升了系统查询的性能,减轻了数据查询受限于内存大小的问题。
在一些实施例中,独立业务数据可以按照业务类型分库存储,具体的,可以将所述独立业务数据按照至少一种业务类型分别存储于至少一个独立业务数据库中,一种业务类型对应一个独立业务数据库;在一些实施例中,各独立业务数据库基于所述共享主数据库中的数据结构,具有同样的远程数据表结构。在这些实施例中可以根据实际业务查询的需要,高效进行分页数据查询。
在一些实施例中,所述独立业务数据库对所述共享主数据库仅有只读权限。这样可以避免了多份数据操作对数据的一致性造成破坏。
在一些实施例中,通过定义的远程数据表获取所述共享主数据库的数据包括,在需要进行扩库查询时,可以通过上述独立业务数据库关联的远程数据表获取所述共享主数据库的数据。
综上,本发明提供的实施例减轻了数据查询受限于内存大小的问题,提升了跨库查询的性能。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种数据查询方法的流程图;
图2是本公开实施例提供的另一种数据查询方法的流程图;
图3是本公开实施例提供的一种数据查询装置的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种数据查询方法,如图1所示,该数据传输方法包括以下步骤:
101、将数据划分为独立业务数据和公共基础数据;
102、将独立业务数据存储于独立业务数据库中;
103、将公共基础数据存储于共享主数据库中;
104、当接收到查询请求后,根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库中的数据后返回查询结果。
相关技术中,进行分页查询时分别在多个数据库进行数据查询操作,在内存进行合并计算。而为了保证分页数据的正确性,需要数据库查询的数据远远大于实际展现的数据量,并且随着页码的增加,数据量呈指数增长,导致系统性能无法满足,只允许查询有限的页码。例如:有两个数据库,分别存储A,B两所学校的学生成绩信息。现在进行两所学校学生总成绩的排名分页查询,每页显示10条数据。则实际的步骤如下:
第一页:
a:数据库查询A学校前10名学生信息,
b:数据库查询B学校前10名学生信息,
c:从两个数据库共拿到20条数据放到内存中,内存中重新计算排序,
计算出总的前10名,共10条记录
第二页:
a:数据库查询A学校前20名学生信息,
b:数据库查询B学校前20名学生信息,
c:从两个数据库共拿到40条数据放到内存中,内存中重新计算排序,
计算出总的前10-20名,共10条记录
第三页:
a:数据库查询A学校前30名学生信息,
b:数据库查询B学校前30名学生信息,
c:从两个数据库共拿到60条数据放到内存中,内存中重新计算排序,
计算出总的前20-30名,共10条记录
可以看出随着页码的增加,内存中需要进行最小堆运算的数据急剧增加,页码增加到一定程度,导致内存无法处理,产生系统性能瓶颈。因此必须对页码进行限制,只允许查询规定的页码内的数据。规定页码后的数据不能查询到。而通过本发明实施例提供的方法,通过数据划分、建立存储公共基础数据存的共享主数据库对数据进行冗余处理,查询时独立业务数据库通过定义远程数据表获取所述共享主数据库的实时数据,这就提升了系统查询的性能,减轻了数据查询受限于内存大小的问题。
在一些实施例中,本领域技术人员可以理解,对本发明实施例可以根据业务类型和查询需求进行适当调整,例如在一些实施例中,如图2所示,数据查询方法可以包括以下步骤:
201:根据业务梳理数据,对数据进行划分,划分为各独立业务数据和公共基础数据;
202:独立业务数据可以分库进行存储;
具体的,可以将所述独立业务数据按照至少一种业务类型分别存储于至少一个独立业务数据库中,一种业务类型对应一个独立业务数据库。
203:建设基础数据共享主数据库,通过基础数据管理模块,对基础数据进行管理;
具体的,可以通过基础数据管理模块对基础数据的读写、更新、存取进行权限管控;保证数据的安全性。
204:独立业务数据库通过定义远程数据表获取共享主数据库实时数据;为避免多份数据操作破坏数据的一致性,业务数据库对共享数据仅有只读权限。各个独立业务数据库基于共享数据结构,可以具有同样的远程数据表结构。
需要扩库查询时,业务数据库关联自身远程数据表进行查询,即可以通过独立业务数据库关联的远程数据表获取所述共享主数据库的数据;和本地多表关联查询机制一样。
在一些实施例中,需要扩库查询时,也可以采用数据库中间件进行数据库路由,从多个数据库获取数据,进行内存计算后,展现数据。
在上述查询两所学校学生总成绩的排名的例子中,如果采用通过本发明实施例提供的数据查询方法,则可以先将学生的基础数据信息,如学号、姓名、班级、学校等作为公共基础数据存储于共享主数据库中;两个学校学生的成绩,例如姓名和成绩信息,作为独立业务数据,可以分别存储与两个独立业务数据库中,这两个独立的业务数据库分别关联自身的远程数据表,远程数据表的结构可以根据共享主数据库中的数据结构进行设定,方便数据的查询和查询结果的展示。这两个独立业务数据库对共享主数据库可以仅有只读权限,以避免了多份数据操作对数据的一致性造成破坏。在一些实施例中,可以通过基础数据管理模块,对基础数据进行管理,即通过基础数据管理模块对共享主数据库的读写、更新、存取进行权限管控,以保证数据的安全性。在收到查询请求后,可以先通过两个独立业务数据库分别查询出学生的姓名和成绩信息,再通过独立业务数据库关联的远程数据表获取共享主数据库的数据,如学号、班级等信息,然后返回查询结果。远程数据表也可以根据用户的查询请求进行定义;如果用户的查询请求中不包括共享主数据库中的数据信息也可以不需要通过程数据表获取共享主数据库的数据。这样通过共享数据的形式,进行了数据冗余,以获取查询性能的提高,满足了实际业务需要查询所有分页数据的实际需求。
基于上述图1和图2对应的实施例中所描述的数据查询方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种数据查询装置,如图3所示,该数据查询装置30包括:管理模块301、存储模块302、查询模块303和收发模块304。
其中,管理模块301用于将数据划分为独立业务数据和公共基础数据;独立业务数据存储于所述存储模块302中的至少一个独立业务数据库中,公共基础数据存储于所述存储模块302中的共享主数据库中;收发模块304用于接收查询请求;查询模块303用于根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库的数据;收发模块304还用于返回查询结果。
通过数据划分、建立存储公共基础数据存的共享主数据库对数据进行冗余处理,查询时独立业务数据库通过定义远程数据表获取所述共享主数据库的实时数据,这就提升了系统查询的性能,减轻了数据查询受限于内存大小的问题。
在一些实施例中,独立业务数据可以按照业务类型在存储模块302中分库存储;例如,可以将所述独立业务数据按照至少一种业务类型分别存储于至少一个独立业务数据库中,一种业务类型对应一个独立业务数据库。在一些实施例中,各独立业务数据库基于共享主数据库中的数据结构,具有同样的远程数据表结构。在这些实施例中可以根据实际业务查询的需要,高效进行分页数据查询。
在一些实施例中,独立业务数据库对所述共享主数据库仅有只读权限。这样可以避免了多份数据操作对数据的一致性造成破坏。
在一些实施例中,通过定义的远程数据表获取所述共享主数据库的数据可以是在进行扩库查询时,通过所述独立业务数据库关联的远程数据表获取所述共享主数据库的数据。
基于上述图1和图2对应的实施例中所描述的数据查询方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1和图2对应的实施例中所描述的数据传输方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
将数据划分为独立业务数据和公共基础数据;
将所述独立业务数据存储于至少一个独立业务数据库中;
将所述公共基础数据存储于共享主数据库中;
当接收到查询请求后,根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库中的数据后返回查询结果。
2.根据权利要求1所述的方法,其特征在于,将所述独立业务数据存储于至少一个独立业务数据库中,包括:
将所述独立业务数据按照至少一种业务类型分别存储于至少一个独立业务数据库中,一种业务类型对应一个独立业务数据库。
3.根据权利要求2所述的方法,其特征在于,
各个所述独立业务数据库基于所述共享主数据库中的数据结构,具有同样的远程数据表结构。
4.根据权利要求2所述的方法,其特征在于,
所述独立业务数据库对所述共享主数据库仅有只读权限。
5.根据权利要求1-4任一项所述的方法,其特征在于,通过定义的远程数据表获取所述共享主数据库的数据,包括:
在进行扩库查询时,通过所述独立业务数据库关联的远程数据表获取所述共享主数据库的数据。
6.一种数据查询装置,其特征在于,包括:管理模块,存储模块、查询模块和收发模块;
所述管理模块用于将数据划分为独立业务数据和公共基础数据;所述独立业务数据存储于所述存储模块中的至少一个独立业务数据库中,所述公共基础数据存储于所述存储模块中的共享主数据库中;,所述收发模块用于接收查询请求;所述查询模块用于根据所述查询请求查询所述独立业务数据库中的数据,并通过定义的远程数据表获取所述共享主数据库的数据;所述收发模块还用于返回查询结果。
7.根据权利要求6所述的装置,其特征在于,所述独立业务数据存储于所述存储模块中的至少一个独立业务数据库中,包括:将所述独立业务数据按照至少一种业务类型分别存储于至少一个独立业务数据库中,一种业务类型对应一个独立业务数据库。
8.根据权利要求7所述的装置,其特征在于,各个所述独立业务数据库基于所述共享主数据库中的数据结构,具有同样的远程数据表结构。
9.根据权利要求7所述的装置,其特征在于,所述独立业务数据库对所述共享主数据库仅有只读权限。
10.根据权利要求6-9任一项所述的装置,其特征在于,通过定义的远程数据表获取所述共享主数据库的数据包括,在进行扩库查询时,通过所述独立业务数据库关联的远程数据表获取所述共享主数据库的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207755.3A CN111061759A (zh) | 2018-10-17 | 2018-10-17 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207755.3A CN111061759A (zh) | 2018-10-17 | 2018-10-17 | 数据查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111061759A true CN111061759A (zh) | 2020-04-24 |
Family
ID=70296969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811207755.3A Pending CN111061759A (zh) | 2018-10-17 | 2018-10-17 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061759A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732756A (zh) * | 2020-12-30 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN116633691A (zh) * | 2023-07-24 | 2023-08-22 | 四川航天天盛科技有限公司 | 一种基于SaaS的云平台系统及其数据存储方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104169914A (zh) * | 2013-12-11 | 2014-11-26 | 华为技术有限公司 | 数据存储方法、数据处理方法、装置及移动终端 |
CN105138693A (zh) * | 2015-09-18 | 2015-12-09 | 联动优势科技有限公司 | 一种访问数据库的方法及装置 |
CN106528579A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种基于分库分表结构数据库的查询方法、装置及系统 |
CN106919590A (zh) * | 2015-12-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种多业务复用处理方法、装置、及系统 |
CN107273506A (zh) * | 2017-06-19 | 2017-10-20 | 西安电子科技大学 | 一种数据库多表联合查询的方法 |
CN107918642A (zh) * | 2017-10-26 | 2018-04-17 | 深圳市金立通信设备有限公司 | 数据查询方法、服务器及计算机可读存储介质 |
-
2018
- 2018-10-17 CN CN201811207755.3A patent/CN111061759A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104169914A (zh) * | 2013-12-11 | 2014-11-26 | 华为技术有限公司 | 数据存储方法、数据处理方法、装置及移动终端 |
CN106528579A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种基于分库分表结构数据库的查询方法、装置及系统 |
CN105138693A (zh) * | 2015-09-18 | 2015-12-09 | 联动优势科技有限公司 | 一种访问数据库的方法及装置 |
CN106919590A (zh) * | 2015-12-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种多业务复用处理方法、装置、及系统 |
CN107273506A (zh) * | 2017-06-19 | 2017-10-20 | 西安电子科技大学 | 一种数据库多表联合查询的方法 |
CN107918642A (zh) * | 2017-10-26 | 2018-04-17 | 深圳市金立通信设备有限公司 | 数据查询方法、服务器及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732756A (zh) * | 2020-12-30 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN112732756B (zh) * | 2020-12-30 | 2023-08-18 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、设备及存储介质 |
CN116633691A (zh) * | 2023-07-24 | 2023-08-22 | 四川航天天盛科技有限公司 | 一种基于SaaS的云平台系统及其数据存储方法 |
CN116633691B (zh) * | 2023-07-24 | 2023-10-27 | 四川航天天盛科技有限公司 | 一种基于SaaS的云平台系统及其数据存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210117414A1 (en) | Global dictionary for database management systems | |
US20100257181A1 (en) | Dynamic Hash Table for Efficient Data Access In A Relational Database System | |
CN105224546B (zh) | 数据存储和查询方法及设备 | |
US8862566B2 (en) | Systems and methods for intelligent parallel searching | |
US20150227570A1 (en) | Dynamic updates to a semantic database using fine-grain locking | |
US20080201296A1 (en) | Partitioning of nested tables | |
CN110032604A (zh) | 数据存储装置、转译装置及数据库访问方法 | |
US11216516B2 (en) | Method and system for scalable search using microservice and cloud based search with records indexes | |
US20130254240A1 (en) | Method of processing database, database processing apparatus, computer program product | |
US11036709B2 (en) | Single-level, multi-dimension, hash-based table partitioning | |
US20180060362A1 (en) | Method and system for implementing distributed lobs | |
CN114020790A (zh) | 一种数据查询的方法及装置 | |
CN113495872A (zh) | 分布式数据库中的事务处理方法及系统 | |
CN110019644B (zh) | 对话实现中的搜索方法、装置和计算机可读存储介质 | |
CN111061759A (zh) | 数据查询方法及装置 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
US11556515B2 (en) | Artificially-intelligent, continuously-updating, centralized-database-identifier repository system | |
CN111221814A (zh) | 二级索引的构建方法、装置及设备 | |
CN114840487A (zh) | 分布式文件系统的元数据管理方法和装置 | |
CN111737267A (zh) | 基于HBase的索引系统及查询加速方法 | |
US8626746B2 (en) | Tracking modifications to values of various fields in a database serve | |
CN115168441B (zh) | 一种业务实体关系存储和查询的方法及装置 | |
CN111459949B (zh) | 针对数据库的数据处理方法、装置及设备和索引更新方法 | |
CN116069798A (zh) | 数据库物化视图增量刷新的方法、存储介质及设备 | |
CN117520349A (zh) | 索引表创建方法、数据查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |