CN113626473A - 数据信息查询方法和装置 - Google Patents

数据信息查询方法和装置 Download PDF

Info

Publication number
CN113626473A
CN113626473A CN202110943857.7A CN202110943857A CN113626473A CN 113626473 A CN113626473 A CN 113626473A CN 202110943857 A CN202110943857 A CN 202110943857A CN 113626473 A CN113626473 A CN 113626473A
Authority
CN
China
Prior art keywords
target
external storage
field
target table
value
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
Application number
CN202110943857.7A
Other languages
English (en)
Inventor
李小保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202110943857.7A priority Critical patent/CN113626473A/zh
Publication of CN113626473A publication Critical patent/CN113626473A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据信息查询方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系;在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据信息。该实施方式能够提高针对非索引字段的查询效率。

Description

数据信息查询方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据信息查询方法和装置。
背景技术
非关系型数据库常常需要存储海量数据。而一些非关系型数据库如HBase中的表只能建立一个索引,如果要以非索引字段进行查询,就需要全表扫描。由于数据库中的数据量较大,针对非索引字段的查询,执行速度较慢且效率较低。
发明内容
有鉴于此,本发明实施例提供一种数据信息查询方法和装置,能够提高针对非索引字段的查询效率。
第一方面,本发明实施例提供了一种数据信息查询方法,包括:
接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;
在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系;
在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据数据信息。
可选地,所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识之前,还包括:
确定所述目标字段是否对应于所述目标表的索引字段;
若是,则在所述目标表中查询所述目标字段的取值对应的数据信息;
若否,则确定所述目标字段是否对应于所述外部存储的索引字段;若是,则执行所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识的步骤。
可选地,所述确定所述目标字段是否对应于所述外部存储的索引字段之后,还包括:
若否,则确定所述目标字段对应的查询频率;
确定所述查询频率是否大于频率阈值;
若是,则将所述目标字段作为所述外部存储的索引字段,在所述外部存储中存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系。
可选地,所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识之前,还包括:
确定所述目标表中的非索引字段,并选择至少一个所述非索引字段作为所述外部存储的索引字段;
在所述目标表中,获取所述外部存储的索引字段的取值与记录标识的对应关系;
将所述外部存储的索引字段的取值与记录标识的对应关系存储在所述外部存储中。
可选地,所述目标数据库采用HBase,所述外部存储采用ElasticSearch;
所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的记录标识之前,还包括:
获取所述HBase的日志文件HLog中的日志记录;
根据所述日志记录,对所述目标表进行数据同步处理;
根据所述日志记录,对所述外部存储进行数据同步处理。
可选地,所述获取所述HBase的日志文件HLog中的日志记录之后,还包括:
确定所述日志记录是否已被同步到所述目标表及所述外部存储中;
若是,则删除所述日志记录。
可选地,所述日志记录包括:第一标志位及第二标志位;
所述根据所述日志记录,对所述目标表进行数据同步之后,还包括:
设置所述第一标志位,设置后的第一标志位标识所述日志记录已被同步到所述目标表中;
所述根据所述日志记录,对所述外部存储进行数据同步之后,还包括:
设置所述第二标志位,设置后的第二标志位标识所述日志记录已被同步到所述外部存储中;
所述确定所述日志是否已被同步到所述目标表及所述外部存储中,包括:
根据所述第一标志位及所述第二标志位,确定所述日志是否已被同步到所述目标表及所述外部存储中。
第二方面,本发明实施例提供了一种数据信息查询装置,包括:
指令接收模块,用于接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;
标识查询模块,用于在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系;
信息查询模块,用于在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据信息。
第三方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:目标字段可以为目标数据库中目标表的非索引字段。预先将目标字段的取值与目标表的记录标识的对应关系存储在外部存储中。对于针对目标表的目标字段的查询指令,通过查询外部存储,获取查询指令对应的记录标识,再从目标数据库的目标表中查询记录标识对应的数据信息,以得到查询结果。利用本发明实施例的方法无需扫描目标表的全表,就可得到查询结果。因此,能够提高针对非索引字段的查询效率和执行速度。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明的一个实施例提供的一种数据信息查询方法的流程的示意图;
图2是本发明的一个实施例提供的另一种数据信息查询方法的流程的示意图;
图3是本发明的一个实施例提供的又一种数据信息查询方法的流程的示意图;
图4是本发明的一个实施例提供的一种HBase结合ElasticSearch的数据库架构的示意图;
图5是本发明的一个实施例提供的基于图4所示的数据库架构的建表过程的流程示意图;
图6是本发明的一个实施例提供的基于图4所示的数据库架构的数据同步过程的流程示意图;
图7是本发明的一个实施例提供的基于图4所示的数据库架构的查询过程的流程示意图;
图8是本发明的一个实施例提供的一种数据信息查询装置的结构示意图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
涉及到海量数据的存储经常要用到HBase或Redis等非结构化数据。经常需要对数据库中的数据进行查询,如果将数据存储在Redis集群,需要较多内存,增加了运营成本,同时只能通过一个主键(key)值来查询表中信息,如果通过其他属性字段查询数据,需要另存一份数据,浪费了硬件资源。如果将数据存储在HBase中,数据可根据记录标识(Rowkey)去查询,Rowkey字段上建立了索引,如果想根据其它字段去查,需要全表扫描会很慢。此外,还可以存储多份设置不同字段为Rowkey的数据,但这种做法不仅浪费存储资源还会给数据管理带来不便。
基于此,本发明实施例提供了一种数据信息查询方法。图1是本发明的一个实施例提供的一种数据信息查询方法的流程的示意图。如图1所示,该方法包括:
步骤101:接收针对目标表的目标字段的查询指令;其中,目标表存储在目标数据库中,查询指令包含目标字段的取值。
目标数据库可以为各种类型的数据库,如HBase、Redis等。在目标数据库的目标表中的数据量较大,且无法针对查询指令中的目标字段建立索引的情况下,都可通过本发明实施例方法,提升查询指令的执行效率。
步骤102:在目标表对应的外部存储中,查询目标字段的取值对应的目标记录标识;其中,外部存储用于存储目标表中目标字段的取值与目标表的记录标识的对应关系。
记录标识用于标识目标数据库的目标表中的数据信息。对于HBase,记录标识可以为Rowkey。对于Redis,记录标识可以主键字段。外部存储可具有较好地搜索性能。目标字段可作为外部存储的索引字段,外部存储可采用Elasticsearch、Redis等。
举例来说,外部存储采用Elasticsearch,将目标字段设置为Elasticsearch的索引字段,利用Elasticsearch具有较好的搜索性能,快速查询到查询指令对应的记录标识。外部存储采用Redis,将目标字段作为Redis的主键,Redis在主键上设置有索引,通过索引也可快速查询到查询指令对应的记录标识。
进一步地,外部存储中可只存储目标字段的取值及记录标识,而无需存储目标表中的其它字段的取值,以提升外部存储的读写速度。
目标数据库可以部署在单个服务器上,也可以部署在集群的多个节点上。外部存储可以与目标数据库部署在相同的服务器或节点上,也可以与目标数据库部署在不同的服务器或节点上。本发明实施例的方法对目标数据库及外部存储的部署方式没有限制。
步骤103:在目标数据库的目标表中,查询目标记录标识对应的数据信息。
在本发明实施例中,对于针对目标数据库中目标表的目标字段的查询指令,目标字段可以为目标表的非索引字段,将目标表中目标字段的取值与目标表的记录标识的对应关系预先存储在外部存储中,通过查询外部存储,获取查询指令对应的记录标识,再从出目标数据库的目标表中查询记录标识对应的数据信息,从而无需扫描目标表的全表,就可获取查询结果。因此,能够提高针对非索引字段的查询效率和执行速度。
图2是本发明的一个实施例提供的另一种数据信息查询方法的流程的示意图。如图2所示,该方法包括:
步骤201:接收针对目标表的目标字段的查询指令;其中,目标表存储在目标数据库中,查询指令包含目标字段的取值。
步骤202:确定目标字段是否对应于目标表的索引字段。
若是,则执行步骤203。在目标字段对应于目标表的索引字段时,直接查询目标表,利用目标表的索引,可快速确定查询结果。此时,无需利用外部索引进行查询。
若否,则执行步骤204。
步骤203:在目标表中查询目标字段的取值对应的数据信息,以响应查询指令。
步骤204:确定目标字段是否对应于外部存储的索引字段。
目标字段可作为外部存储的索引字段,外部存储可采用Elasticsearch、Redis等。将目标字段设置为Elasticsearch的索引字段,利用Elasticsearch较好的搜索性能,快速查询到查询指令对应的记录标识。将目标字段作为Redis的主键,也可快速查询到查询指令对应的记录标识。
若是,则执行步骤205。在目标字段对应于外部存储的索引字段时,查询外部存储,以获取记录标识,再根据记录标识去目标表中查询得到查询结果信息。
若否,则执行步骤207。
步骤205:在目标表对应的外部存储中,查询目标字段的取值对应的目标记录标识。
步骤206:在目标数据库的目标表中,查询目标记录标识对应的数据信息。
步骤207:确定目标字段对应的查询频率,确定查询频率是否大于频率阈值。
若是,则执行步骤208。在目标字段既不对应于目标表的索引字段也不对应于外部存储的索引字段时,可确定目标字段的查询频率,如果查询频率较大,在外部存储中创建目标字段对应的索引,以方便后续针对目标字段的查询。
若否,则执行步骤203。直接在目标数据库的目标表中,查询目标记录标识对应的数据信息,以响应查询指令。
步骤208:将目标字段作为外部存储的索引字段,在外部存储中存储目标表中目标字段的取值与目标表的记录标识的对应关系。
步骤208之后,可执行步骤205,通过查询外部存储,获取记录标识,再根据记录标识从目标表中查询得到查询结果信息。以获取查询指令对应的查询结果。
在本发明实施例中,针对目标字段是否对应于目标表的索引字段,或目标字段是否对应于外部存储的索引字段,提出了不同的查询策略,以适应不同的数据环境,快速地获取到查询结果。
图3是本发明的一个实施例提供的再一种数据信息查询方法的流程的示意图。如图3所示,该方法包括:
步骤301:确定目标表中的非索引字段,并选择至少一个非索引字段作为外部存储的索引字段。
步骤302:在目标表中,获取外部存储的索引字段的取值与记录标识的对应关系。
步骤303:将外部存储的索引字段的取值与记录标识的对应关系存储在外部存储中。
步骤304:接收针对目标表的目标字段的查询指令;其中,目标表存储在目标数据库中,查询指令包含目标字段的取值。
步骤305:在目标表对应的外部存储中,查询目标字段的取值对应的目标记录标识。
步骤306:在目标数据库的目标表中,查询目标记录标识对应的数据信息。
举例来说,HBase上创建目标表,目标表字段如下:学号、姓名、年龄、专业、级别。其中,学号字段设置为目标表中的索引字段。姓名、年龄、专业、级别为非索引字段。统计发现,针对专业、级别的查询较多,而HBase上只能有一个索引,无法以专业和级别两个字段在目标表上建立索引。
应用本申请实施例的方案,可以将专业和级别设置为外部索引的索引字段,并在目标表中获取到专业和级别的取值,与记录标识的对应关系,并将对应关系存储在外部索引中。在接收到针对专业和级别的查询时,先在外部索引中查询到该查询对应的记录标识,再根据记录标识从目标库的目标表中获取查询结果。
在本发明实施例中,确定外部存储的索引字段,并从目标表中获取到外部索引的索引字段的取值与目标表的记录标识的对应关系,将上述对应关系存储至外部存储中。后续如果接收到针对目标表的目标字段的查询指令,可通过外部存储查询到相应的记录标识,然后再利用记录标识把数据从目标表中查询出来。
作为一种可实施方式,所述目标数据库采用HBase,所述外部存储采用ElasticSearch;所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的记录标识之前,还包括:获取所述HBase的日志文件HLog中的日志记录;根据所述日志记录,对所述目标表进行数据同步处理;根据所述日志记录,对所述外部存储进行数据同步处理。利用目标数据库的日志记录,分别对目标表和外部存储进行同步处理,以使目标表和外部存储中数据一致。
作为一种可实施方式,所述获取所述HBase的日志文件HLog中的日志记录之后,还包括:确定所述日志记录是否已被同步到所述目标表及所述外部存储中;若是,则删除所述日志记录。在利用目标数据库的日志记录,分别对目标表和外部存储进行同步处理之后,为避免日志文件占用的存储空间过大,可将日志文件删除。
作为一种可实施方式,所述日志记录包括:第一标志位及第二标志位;所述根据所述日志记录,对所述目标表进行数据同步之后,还包括:设置所述第一标志位,设置后的第一标志位标识所述日志记录已被同步到所述目标表中;所述根据所述日志记录,对所述外部存储进行数据同步之后,还包括:设置所述第二标志位,设置后的第二标志位标识所述日志记录已被同步到所述外部存储中;所述确定所述日志是否已被同步到所述目标表及所述外部存储中,包括:根据所述第一标志位及所述第二标志位,确定所述日志是否已被同步到所述目标表及所述外部存储中。
在日志记录中可设置第一标志位及第二标志位。第一标志位用于表征日志记录是否已被同步到目标表中。第二标志位用于表征日志记录是否已被同步到外部存储中。系统可利用日志记录中的第一标志位及第二标志位,确定数据同步情况,并对目标表及外部存储进行同步处理,或对日志文件进行删除等处理。
为使本发明实施例的方案更加便于理解,下面以一种HBase结合ElasticSearch进行数据存储方式进行讲解。图4是本发明的一个实施例提供的一种HBase结合ElasticSearch的数据库架构的示意图。
图5是本发明的一个实施例提供的基于图4所示的数据库架构的建表过程的流程示意图。如图5所示,HBase创建表的时候会通过HMaster的MetaServer进行元数据进行管理,此时将元数据同步到ElasticSearch中,修改HBase创建表的语句(列族带有属性),以在Elasticsearch中创建对应索引。原建表语句如下:
create't1',{NAME=>'f1',VERSIONS=>5,…..}。
修改创建语句如下:
create't1',{NAME=>'f1',INDEX=>'col1,col2',VERSIONS=>5,…..}。
这样在创建表的时候就指定索引。在Elasticsearch中创建一个索引,索引里面有col1,col2以及对应的Rowkey。col1及col2代表表中的非索引字段。
图6是本发明的一个实施例提供的基于图4所示的数据库架构的数据同步过程的流程示意图。如图6所示,数据写入的时候,为了不影响数据写入,从HBase的Hlog同步数据,修改Hlog删除的逻辑,即当对应HBase的MemStore以及数据同步到Elasticsearch之后才去删除HBase的Hlog。Hlog的生成以及同步记录记录在HBase之中(同步到Elasticsearch的时候会过滤掉这部分),保证数据一致性,HLog在HBase中存储的格式如表1所示。
表1HLog中的日志记录包含的数据及取值
Figure BDA0003215883990000111
表1中的LogPath是Hlog存储在hdfs上的目录。isMemStoreFlus表征是否已将该同步记录同步到HBase中,isFlushAllToElasticsearch表征是否已将该同步记录同步到Elasticsearch中。同步到Elasticsearch的数据只是创建表时候指定的字段,不是同步所有的数据,保证Elasticsearch写入速度。
图7是本发明的一个实施例提供的基于图4所示的数据库架构的查询过程的流程示意图。如图7所示,根据查询的条件,如果是依据Rowkey去查询,直接查询HBase,如果没有Rowkey,根据ValueFilter去过滤,如果里面的值在创建表的时候已经指定,那么直接去查询Elasticsearch查询数据,查询到对应的Rowkey,然后在HBase中查询到指定Rowkey对应的数据放回给用户,如果不在创建表时候指定的索引中,需要根据查询频率自动创建索引,提升查询效率。
本发明实施例的方案特别适用于查询维表中的数据,查询的时候使用HBase中的Rowkey或者ValueFilter工具查询的条件下试用。能够解决数据存到Redis需要大量内存的缺点,减少内存资源使用,依据不同列查询维表不需要存储多份数据。能够解决数据存储在HBase中只能通过Rowkey去查询数据,其他列查询数据需要全表扫描的问题,依据不同列查询维表不需要存储多份数据。此外,还能够自动根据查询的健值创建索引。
本发明实施例的方案合理的数据同步方案,使用HBase的HLog同步数据,待HLog对应的MemStore数据磁盘以及数据完全写入到Elasticsearch(Meta中指定的列写入Elasticsearch)之后将之删除,HLog的记录存储在HBase中。数据查询的时候分步骤查询,如果指定Rowkey则直接查询HBase,如果不存储在Rowkey则依据ValueFilter中的列去查询,同时会跟据查询频率去自动设置索引。
图8是本发明的一个实施例提供的一种数据信息查询装置的结构示意图。如图8所示,该装置包括:
指令接收模块801,用于接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;
标识查询模块802,用于在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系;
信息查询模块803,用于在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据信息。
可选地,信息查询模块803还用于:
确定所述目标字段是否对应于所述目标表的索引字段;
若是,则在所述目标表中查询所述目标字段的取值对应的数据信息。
可选地,该装置还包括:
索引创建模块804,用于确定所述目标字段对应的查询频率;
确定所述查询频率是否大于频率阈值;
若是,则将所述目标字段作为所述外部存储的索引字段,在所述外部存储中存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系。
可选地,该装置还包括:
数据同步模块805,用于确定所述目标表中的非索引字段,并选择至少一个所述非索引字段作为所述外部存储的索引字段;
在所述目标表中,获取所述外部存储的索引字段的取值与记录标识的对应关系;
将所述外部存储的索引字段的取值与记录标识的对应关系存储在所述外部存储中。
可选地,所述目标数据库采用HBase,所述外部存储采用ElasticSearch;
数据同步模块805,用于获取所述HBase的日志文件HLog中的日志记录;
根据所述日志记录,对所述目标表进行数据同步处理;
根据所述日志记录,对所述外部存储进行数据同步处理。
可选地,数据同步模块805,还用于确定所述日志记录是否已被同步到所述目标表及所述外部存储中;
若是,则删除所述日志记录。
可选地,所述日志记录包括:第一标志位及第二标志位;
数据同步模块805,具体用于设置所述第一标志位,设置后的第一标志位标识所述日志记录已被同步到所述目标表中;
所述根据所述日志记录,对所述外部存储进行数据同步之后,还包括:
设置所述第二标志位,设置后的第二标志位标识所述日志记录已被同步到所述外部存储中;
可选地,数据同步模块805,还用于根据所述第一标志位及所述第二标志位,确定所述日志是否已被同步到所述目标表及所述外部存储中。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任一实施例的方法。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:指令接收模块、标识查询模块及信息查询模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,指令接收模块还可以被描述为“指令接收模块的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;
在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标表中所述目标字段的取值与所述目标表的记录标识的对应关系;
在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据信息。
根据本发明实施例的技术方案,对于针对目标数据库中目标表的目标字段的查询指令,目标字段可以为目标表的非索引字段,将目标表中目标字段的取值与目标表的记录标识的对应关系存储在外部存储中,通过查询外部存储,获取查询指令对应的记录标识,再从出目标数据库的目标表中查询记录标识对应的数据信息,从而无需无扫描目标表的全表,就可获取查询结果。因此,能够提高针对非索引字段的查询效率和执行速度。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种数据信息查询方法,其特征在于,包括:
接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;
在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标字段的取值与所述目标表的记录标识的对应关系;
在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据信息。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识之前,还包括:
确定所述目标字段是否对应于所述目标表的索引字段;
若是,则在所述目标数据库的所述目标表中查询所述目标字段的取值对应的数据信息;
若否,则确定所述目标字段是否对应于所述外部存储的索引字段;若是,则执行所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识的步骤。
3.根据权利要求2所述的方法,其特征在于,所述确定所述目标字段是否对应于所述外部存储的索引字段之后,还包括:
若否,则确定所述目标字段对应的查询频率;
确定所述查询频率是否大于频率阈值;
若是,则将所述目标字段作为所述外部存储的索引字段,在所述外部存储中存储所述目标字段的取值与所述目标表的记录标识的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识之前,还包括:
确定所述目标表中的非索引字段,并选择至少一个所述非索引字段作为所述外部存储的索引字段;
在所述目标表中,获取所述外部存储的索引字段的取值与记录标识的对应关系;
将所述外部存储的索引字段的取值与记录标识的对应关系存储在所述外部存储中。
5.根据权利要求1所述的方法,其特征在于,所述目标数据库采用HBase,所述外部存储采用ElasticSearch;
所述在所述目标表对应的外部存储中,查询所述目标字段的取值对应的记录标识之前,还包括:
获取所述HBase的日志文件中的日志记录;
根据所述日志记录,对所述目标表进行数据同步处理;
根据所述日志记录,对所述外部存储进行数据同步处理。
6.根据权利要求5所述的方法,其特征在于,所述获取所述HBase的日志文件中的日志记录之后,还包括:
确定所述日志记录是否已被同步到所述目标表及所述外部存储中;
若是,则删除所述日志记录。
7.根据权利要求6所述的方法,其特征在于,所述日志记录包括:第一标志位及第二标志位;
所述根据所述日志记录,对所述目标表进行数据同步之后,还包括:
设置所述第一标志位,设置后的第一标志位标识所述日志记录已被同步到所述目标表中;
所述根据所述日志记录,对所述外部存储进行数据同步之后,还包括:
设置所述第二标志位,设置后的第二标志位标识所述日志记录已被同步到所述外部存储中;
所述确定所述日志是否已被同步到所述目标表及所述外部存储中,包括:
根据所述第一标志位及所述第二标志位,确定所述日志是否已被同步到所述目标表及所述外部存储中。
8.一种数据信息查询装置,其特征在于,包括:
指令接收模块,用于接收针对目标表的目标字段的查询指令;其中,所述目标表存储在目标数据库中,所述查询指令包含所述目标字段的取值;
标识查询模块,用于在所述目标表对应的外部存储中,查询所述目标字段的取值对应的目标记录标识;其中,所述外部存储用于存储所述目标字段的取值与所述目标表的记录标识的对应关系;
信息查询模块,用于在所述目标数据库的所述目标表中,查询所述目标记录标识对应的数据信息。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202110943857.7A 2021-08-17 2021-08-17 数据信息查询方法和装置 Pending CN113626473A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110943857.7A CN113626473A (zh) 2021-08-17 2021-08-17 数据信息查询方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110943857.7A CN113626473A (zh) 2021-08-17 2021-08-17 数据信息查询方法和装置

Publications (1)

Publication Number Publication Date
CN113626473A true CN113626473A (zh) 2021-11-09

Family

ID=78386089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110943857.7A Pending CN113626473A (zh) 2021-08-17 2021-08-17 数据信息查询方法和装置

Country Status (1)

Country Link
CN (1) CN113626473A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330035A (zh) * 2017-06-26 2017-11-07 努比亚技术有限公司 一种数据库中操作日志同步方法、移动终端以及计算机可读存储介质
CN109299102A (zh) * 2018-10-23 2019-02-01 中国电子科技集团公司第二十八研究所 一种基于Elastcisearch的HBase二级索引系统及方法
CN110347722A (zh) * 2019-07-11 2019-10-18 软通智慧科技有限公司 基于HBase的数据获取方法、装置、设备及存储介质
CN110362549A (zh) * 2019-06-17 2019-10-22 平安普惠企业管理有限公司 日志存储检索方法、电子装置及计算机设备
CN112069179A (zh) * 2020-08-31 2020-12-11 银盛支付服务股份有限公司 一种基于Hbase查询性能优化的装置及其方法
CN112800058A (zh) * 2021-01-27 2021-05-14 浪潮云信息技术股份公司 一种HBase二级索引的实现方法
CN113094340A (zh) * 2021-04-28 2021-07-09 杭州海康威视数字技术股份有限公司 基于Hudi的数据查询方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330035A (zh) * 2017-06-26 2017-11-07 努比亚技术有限公司 一种数据库中操作日志同步方法、移动终端以及计算机可读存储介质
CN109299102A (zh) * 2018-10-23 2019-02-01 中国电子科技集团公司第二十八研究所 一种基于Elastcisearch的HBase二级索引系统及方法
CN110362549A (zh) * 2019-06-17 2019-10-22 平安普惠企业管理有限公司 日志存储检索方法、电子装置及计算机设备
CN110347722A (zh) * 2019-07-11 2019-10-18 软通智慧科技有限公司 基于HBase的数据获取方法、装置、设备及存储介质
CN112069179A (zh) * 2020-08-31 2020-12-11 银盛支付服务股份有限公司 一种基于Hbase查询性能优化的装置及其方法
CN112800058A (zh) * 2021-01-27 2021-05-14 浪潮云信息技术股份公司 一种HBase二级索引的实现方法
CN113094340A (zh) * 2021-04-28 2021-07-09 杭州海康威视数字技术股份有限公司 基于Hudi的数据查询方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和系统
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
US8880463B2 (en) Standardized framework for reporting archived legacy system data
CN106874281B (zh) 实现数据库读写分离的方法和装置
US20140244606A1 (en) Method, apparatus and system for storing, reading the directory index
CN105488050A (zh) 一种数据库多索引方法、装置及系统
CN103678715A (zh) 一种分布式文件系统中支持快照的元数据信息管理方法
US9734171B2 (en) Intelligent redistribution of data in a database
WO2020192663A1 (zh) 一种数据管理方法及相关设备
CN113407514A (zh) 一种数据库迁移的方法、装置、设备及可读介质
CN114297196B (zh) 元数据存储方法、装置、电子设备及存储介质
CN111680030A (zh) 数据融合方法及装置,基于元信息的数据处理方法和装置
CN105843809B (zh) 数据处理方法和装置
CN112231400B (zh) 分布式数据库的访问方法、装置、设备及存储介质
CN107463618B (zh) 一种索引创建方法和装置
CN111078728A (zh) 一种数据库归档模式下跨库查询方法和装置
CN116010345A (zh) 一种实现流批一体数据湖的表服务方案的方法、装置及设备
CN111125216A (zh) 数据导入Phoenix的方法及装置
CN111666278A (zh) 数据存储、检索方法、电子设备及存储介质
CN113626473A (zh) 数据信息查询方法和装置
CN112835905B (zh) 一种数组类型列的索引方法、装置、设备以及存储介质
CN111459411B (zh) 数据迁移方法、装置、设备及存储介质
CN113111138A (zh) 数据处理方法、装置、计算设备以及介质
CN113536047A (zh) 一种图数据库数据删除方法、系统、电子设备及存储介质
CN112685557A (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