CN110765132A - 一种基于HBase的数据存储、检索方法及装置 - Google Patents
一种基于HBase的数据存储、检索方法及装置 Download PDFInfo
- Publication number
- CN110765132A CN110765132A CN201911008215.7A CN201911008215A CN110765132A CN 110765132 A CN110765132 A CN 110765132A CN 201911008215 A CN201911008215 A CN 201911008215A CN 110765132 A CN110765132 A CN 110765132A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- data
- row key
- full
- text index
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013500 data storage Methods 0.000 title claims abstract description 22
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于HBase的数据存储、检索方法及装置,所述存储方法包括:基于数据存储请求消息获得待存储数据;对所述待存储数据进行解析,获得作为索引数据的行键值和对应的列值数据;其中,所述列值数据包括至少一列列数据和一列值数据;建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;根据所述列值数据获得具有全文索引关系的第一检索字段;将具有所述全文索引关系的所述行键值和对应的列‑值数据存储在HBase数据库中。
Description
技术领域
本发明涉及IT架构技术领域,尤其涉及一种基于HBase的数据存储、检索方法及装置。
背景技术
目前HBase应用已经比较广泛了,HBase的检索实现方法也有较多的实现,基于全文索引也是一种有效的快速检索HBase列数据的解决方案。HBase主要支持的检索方式为:get rowkey(得到行键)检索、scan rowkey(扫描行键)范围检索、全表扫描检索。现有技术的HBase只有rowkey(行键)这一种检索方式,对其他字段做索引时就不能进行检索,此问题亟待解决。
发明内容
为了解决上述的现有技术的HBase只能进行rowkey这一种检索方式的检索,无法对其他字段做索引进行检索的技术问题。第一方面,本发明提供一种基于HBase的数据存储方法,包括:
基于数据存储请求消息获得待存储数据;
对所述待存储数据进行解析,获得作为索引数据的行键值和对应的列值数据;其中,所述列值数据包括至少一列列数据和一列值数据;
建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;
根据所述列值数据获得具有全文索引关系的第一检索字段;
将具有所述全文索引关系的所述行键值和对应的列-值数据存储在HBase数据库中。
进一步,所述建立行键值和第一检索字段的全文索引关系,包括:
建立行键值和第一检索字段的solr全文索引关系。
第二方面,本发明提供了一种基于HBase的数据检索方法,包括:
基于数据检索请求获得检索内容以及获取行键值和第二检索字段的所述全文索引关系;
根据所述检索内容在所述全文索引关系中检索出所述第二检索字段所对应的行键值,其中所述检索字段通过对所述检索内容提取获得;
根据检索出的对应的行键值在HBase数据库中检索列值数据作为检索结果。
进一步,所述获取行键值和第二检索字段的所述全文索引关系之前,所述方法还包括:
判断所述数据检索请求是否为基于行键值的检索类型,如果否,则执行所述获取行键值和检索字段的全文索引关系,如果是,根据所述数据检索请求中的行键值,在HBase数据库中检索列值数据作为检索结果。
进一步,所述判断所述数据检索请求是否为基于行键值的检索类型,包括:判断所述数据检索请求是否为get rowkey类型或者scan rowkey类型。
进一步,所述根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果之前,所述方法还包括:
判断检索出对应的行键值是否满足检索要求,如果是,将所述检索出对应的行键值作为检索结果,如果否,则执行根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果。
进一步,所述获取行键值和检索字段的全文索引关系,包括:
获取行键值和检索字段的solr全文索引关系。
第三方面,本发明提供了一种基于HBase的数据存储装置,包括:
获取模块,用于基于数据存储请求获得待存储数据;
解析模块,用于对所述待存储数据进行解析,获得行键值和对应的列值数据;
检索字段获取模块,用于根据所述列值数据获得第一检索字段;
索引关系构建模块,用于建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;
第一存储模块,用于将具有所述全文索引关系的所述行键值和对应的列-值数据存储在HBase数据库中。
第四方面,本发明提供了一种基于HBase的数据检索装置,包括:
检索内容获取模块,用于基于数据检索请求获得检索内容;
索引关系获取模块,用于获取行键值和第二检索字段的所述全文索引关系;
检索模块,用于根据所述检索内容在所述全文索引关系中检索出所述第二检索字段所对应的行键值,其中所述检索字段通过对所述检索内容提取获得;
第二存储模块,用于根据检索出的对应的行键值在HBase数据库中检索列值数据作为检索结果。
本发明具有的有益效果是:
1、丰富HBase非rowkey检索解决方案。将非rowkey检索和get rowkey检索、scanrowkey范围检索进行封装。
2、读写数据流程和操作简单。降低维护成本。本方案简单易行,避免索引的延迟和索引与数据的不一致,解决了相应的痛点,具体良好的使用前景。
3、高扩展性,通用性强。全文索引和HBase集群都可以横向扩充。
4、HBase没有特别版本要求。
附图说明
图1为本发明的一种基于HBase的数据存储方法的流程示意图;
图2为本发明的一种基于HBase的数据存储方法的流程示意图;
图3为本发明的一种基于HBase的数据检索方法的流程示意图;
图4为本发明的一种基于HBase的数据检索方法的流程示意图;
图5为本发明的一种基于HBase的数据存储装置的结构示意图;
图6为本发明的一种基于HBase的数据检索装置的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定装备结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了能够更好对HBase列数据进行更迅速的检索,使用全文索引对存储在HBase里的数据进行处理,先建立好索引,再将数据存入HBase数据表。检索的时候可以经全文索引搜索列数据的相关记录,获取HBase rowkey,再在HBase进行rowkey检索。最终得到结果。全文索引前置又可以避免全文索引里的索引和数据与HBase里的数据不实时同步的问题。本方案避免了HBase的rowkey范围检索和全表扫描,提升了检索速度。
如图1和图2所示,本发明提供了一种基于HBase的数据存储方法,其特征在于,包括:
S1.1:基于数据存储请求获得待存储数据;
S1.2:对所述待存储数据进行解析,获得作为索引数据的行键值和对应的列值数据;其中,所述列值数据包括至少一列列数据和一列值数据;
S1.3:建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;
S1.4:根据所述列值数据获得具有全文索引关系的第一检索字段;
S1.5:将具有所述全文索引关系的所述行键值和对应的列-值数据存储在HBase数据库中。
在一些说明性实施例中,所述S1.4建立行键值和第一检索字段的全文索引关系,包括:
建立行键值和第一检索字段的solr全文索引关系。
如图3和图4本发明还提供了一种基于HBase的数据检索方法,包括:
S2.1:基于数据检索请求获得检索内容以及获取行键值和第二检索字段的所述全文索引关系;
S2.2:根据所述检索内容在所述全文索引关系中检索出所述第二检索字段所对应的行键值,其中所述检索字段通过对所述检索内容提取获得;
S2.3:根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果。
需要说明的是,步骤S2.1中基于数据检索请求获得检索内容以及获取行键值和第二检索字段的所述全文索引关系两个子步骤在逻辑上没有先后顺序,即可以先执行获取行键值和第二检索字段的所述全文索引关系也可以先执行基于数据检索请求获得检索内容,也可以两者同时进行。
在一些说明性实施例中,所述S2.2获取行键值和第二检索字段的所述全文索引关系之前,所述方法还包括:
判断所述数据检索请求是否为基于行键值的检索类型,如果否,则执行所述获取行键值和检索字段的全文索引关系,如果是,根据所述数据检索请求中的行键值,在HBase数据库中检索列-值数据作为检索结果。
在一些说明性实施例中,所述判断所述数据检索请求是否为基于行键值的检索类型,包括:判断所述数据检索请求是否为得到行键值get rowkey类型或者浏览行键值scanrowkey类型。
在一些说明性实施例中,所述S2.4根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果之前,所述方法还包括:
判断检索出对应的行键值是否满足检索要求,如果是,将所述检索出对应的行键值作为检索结果,如果否,则执行根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果。
在一些说明性实施例中,所述S2.2获取行键值和检索字段的全文索引关系,包括:
获取行键值和检索字段的solr全文索引关系。
如图5所示,本发明提供了一种基于HBase的数据存储装置,包括:
获取模块101,用于基于数据存储请求获得待存储数据;
解析模块102,用于对所述待存储数据进行解析,获得行键值和对应的列-值数据;
检索字段获取模块103,用于根据所述列-值数据获得第一检索字段;
索引关系构建模块104,用于建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;
第一存储模块105,用于将具有所述全文索引关系的所述行键值和对应的列-值数据存储在HBase数据库中。
如图6所示,本发明提供了一种基于HBase的数据检索装置,包括:
检索内容获取模块201,用于基于数据检索请求获得检索内容;
索引关系获取模块202,用于获取行键值和第二检索字段的所述全文索引关系;
检索模块203,用于根据所述检索内容在所述全文索引关系中检索出所述第二检索字段所对应的行键值,其中所述检索字段通过对所述检索内容提取获得;
第二存储模块204,用于根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于HBase的数据存储方法,其特征在于,包括:
基于数据存储请求消息获得待存储数据;
对所述待存储数据进行解析,获得作为索引数据的行键值和对应的列值数据;其中,所述列值数据包括至少一列列数据和一列值数据;
建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;
根据所述列值数据获得具有全文索引关系的第一检索字段;
将具有所述全文索引关系的所述行键值和对应的列-值数据存储在HBase数据库中。
2.根据权利要求1所述的数据存储方法,其特征在于,所述建立行键值和第一检索字段的全文索引关系,包括:
建立行键值和第一检索字段的solr全文索引关系。
3.一种基于权利要求1或2所述的HBase的数据存储方法的数据检索方法,其特征在于,包括:
基于数据检索请求获得检索内容以及获取行键值和第二检索字段的所述全文索引关系;
根据所述检索内容在所述全文索引关系中检索出所述第二检索字段所对应的行键值,其中所述检索字段通过对所述检索内容提取获得;
根据检索出的对应的行键值在HBase数据库中检索列值数据作为检索结果。
4.根据权利要求3所述的数据检索方法,其特征在于,所述获取行键值和第二检索字段的所述全文索引关系之前,所述方法还包括:
判断所述数据检索请求是否为基于行键值的检索类型,如果否,则执行所述获取行键值和检索字段的全文索引关系,如果是,根据所述数据检索请求中的行键值,在HBase数据库中检索列值数据作为检索结果。
5.根据权利要求4所述的数据检索方法,其特征在于,所述判断所述数据检索请求是否为基于行键值的检索类型,包括:判断所述数据检索请求是否为得到行键值get rowkey类型或者浏览行键值scan rowkey类型。
6.根据权利要求3所述的数据检索方法,其特征在于,所述根据检索出的对应的行键值在HBase数据库中检索列-值数据作为检索结果之前,所述方法还包括:
判断检索出对应的行键值是否满足检索要求,如果是,将所述检索出对应的行键值作为检索结果,如果否,则执行根据检索出的对应的行键值在HBase数据库中检索列值数据作为检索结果。
7.根据权利要求3所述的数据检索方法,其特征在于,所述获取行键值和检索字段的全文索引关系,包括:
获取行键值和检索字段的solr全文索引关系。
8.一种基于HBase的数据存储装置,其特征在于,包括:
获取模块,用于基于数据存储请求获得待存储数据;
解析模块,用于对所述待存储数据进行解析,获得行键值和对应的列值数据;
检索字段获取模块,用于根据所述列值数据获得第一检索字段;
索引关系构建模块,用于建立所述行键值和第一检索字段的全文索引关系,并存储所述全文索引关系;
第一存储模块,用于将具有所述全文索引关系的所述行键值和对应的列-值数据存储在HBase数据库中。
9.一种基于HBase的数据检索装置,其特征在于,包括:
检索内容获取模块,用于基于数据检索请求获得检索内容;
索引关系获取模块,用于获取行键值和第二检索字段的所述全文索引关系;
检索模块,用于根据所述检索内容在所述全文索引关系中检索出所述第二检索字段所对应的行键值,其中所述检索字段通过对所述检索内容提取获得;
第二存储模块,用于根据检索出的对应的行键值在HBase数据库中检索列值数据作为检索结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911008215.7A CN110765132A (zh) | 2019-10-22 | 2019-10-22 | 一种基于HBase的数据存储、检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911008215.7A CN110765132A (zh) | 2019-10-22 | 2019-10-22 | 一种基于HBase的数据存储、检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110765132A true CN110765132A (zh) | 2020-02-07 |
Family
ID=69333000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911008215.7A Pending CN110765132A (zh) | 2019-10-22 | 2019-10-22 | 一种基于HBase的数据存储、检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765132A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639099A (zh) * | 2020-06-09 | 2020-09-08 | 武汉虹旭信息技术有限责任公司 | 全文索引方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102710A (zh) * | 2014-07-15 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种海量数据查询方法 |
CN105095458A (zh) * | 2015-07-29 | 2015-11-25 | 南威软件股份有限公司 | 一种基于时间特征支持复杂条件的大数据检索方法 |
WO2017005094A1 (zh) * | 2015-07-03 | 2017-01-12 | 阿里巴巴集团控股有限公司 | 一种数据查询方法和装置 |
CN109800222A (zh) * | 2018-12-11 | 2019-05-24 | 中国科学院信息工程研究所 | 一种HBase二级索引自适应优化方法和系统 |
-
2019
- 2019-10-22 CN CN201911008215.7A patent/CN110765132A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102710A (zh) * | 2014-07-15 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种海量数据查询方法 |
WO2017005094A1 (zh) * | 2015-07-03 | 2017-01-12 | 阿里巴巴集团控股有限公司 | 一种数据查询方法和装置 |
CN105095458A (zh) * | 2015-07-29 | 2015-11-25 | 南威软件股份有限公司 | 一种基于时间特征支持复杂条件的大数据检索方法 |
CN109800222A (zh) * | 2018-12-11 | 2019-05-24 | 中国科学院信息工程研究所 | 一种HBase二级索引自适应优化方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639099A (zh) * | 2020-06-09 | 2020-09-08 | 武汉虹旭信息技术有限责任公司 | 全文索引方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273506B (zh) | 一种数据库多表联合查询的方法 | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
CN104252536B (zh) | 一种基于hbase的上网日志数据查询方法及装置 | |
CN102184222B (zh) | 一种在大数据量存储中快速检索的方法 | |
CN101515291A (zh) | 一种将数据批量导入数据库的方法及系统 | |
CN111309868B (zh) | 一种知识图谱构建、检索方法及装置 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN106484774A (zh) | 一种多源视频元数据的关联方法及系统 | |
CN106205613A (zh) | 一种导航语音识别方法及系统 | |
CN110765132A (zh) | 一种基于HBase的数据存储、检索方法及装置 | |
CN107169003B (zh) | 一种数据关联方法及装置 | |
KR101255639B1 (ko) | 컬럼 기반 데이터베이스 시스템 및 데이터베이스 시스템의 조인 인덱스를 이용한 조인 처리 방법 | |
CN103034656A (zh) | 章节内容分层方法和装置、文章内容分层方法和装置 | |
CN113377876B (zh) | 基于Domino平台的数据分库处理方法、装置及平台 | |
CN103246663A (zh) | 一种检索方法及通信终端 | |
CN103455964A (zh) | 一种基于案件信息的案件线索分析系统及方法 | |
CN103514226B (zh) | 一种数字硬盘录像机文件存储的快速索引方法和装置 | |
CN112182276A (zh) | 基于图像内容和元数据的天文海量观测数据混合检索方法 | |
CN107798089A (zh) | 信息推荐方法、装置及冰箱 | |
CN110032586B (zh) | 储能电芯数据的存储方法、查询方法及采集存储系统 | |
CN110442593B (zh) | 基于用户搜索信息跨应用共享的方法 | |
CN113377771A (zh) | 一种数据探索方法、系统、设备及存储介质 | |
CN108520047B (zh) | 一种视频特征信息检索方法 | |
CN113573133A (zh) | 一种用于数字电视机顶盒存储epg的方法 | |
CN111026706B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200207 |
|
RJ01 | Rejection of invention patent application after publication |