CN109800222A - 一种HBase二级索引自适应优化方法和系统 - Google Patents

一种HBase二级索引自适应优化方法和系统 Download PDF

Info

Publication number
CN109800222A
CN109800222A CN201811510560.6A CN201811510560A CN109800222A CN 109800222 A CN109800222 A CN 109800222A CN 201811510560 A CN201811510560 A CN 201811510560A CN 109800222 A CN109800222 A CN 109800222A
Authority
CN
China
Prior art keywords
index
data
hbase
client
request
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.)
Granted
Application number
CN201811510560.6A
Other languages
English (en)
Other versions
CN109800222B (zh
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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201811510560.6A priority Critical patent/CN109800222B/zh
Publication of CN109800222A publication Critical patent/CN109800222A/zh
Application granted granted Critical
Publication of CN109800222B publication Critical patent/CN109800222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种HBase二级索引自适应优化方法和系统。该方法的步骤包括:1)将客户端对HBase的变更操作通过观察者协处理器组件同步映射到分布式搜索引擎ES的索引中,并由ES维护HBase中数据对应的倒排索引,作为HBase的二级索引;2)对所述二级索引进行增量更新,包括增量更新本地索引、增量更新全局索引、增量更新ES索引;3)将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到所述二级索引;4)接收客户端发出的数据查询请求,通过本地索引、全局索引和ES索引获得查询结果,并返回给客户端。本发明支持单列索引、联合索引、全文索引等多种索引模式,能够极大地提高检索效率。

Description

一种HBase二级索引自适应优化方法和系统
技术领域
本发明属于数据处理技术领域,涉及一种HBase二级索引自适应优化的方法和系统,智能支持单列索引、联合索引、全文索引等多种索引模式,设计了自适应优化的索引格式和索引存储方案,在不同类型的检索任务中这些索引可以被高效智能利用,极大地提高了检索效率。
背景技术
HBase是一种基于列存储的分布式数据库,作为开源分布式批处理框架Hadoop生态圈的核心组件,以良好的写性能,极佳的可扩展性,稳定的数据存储,在众多一线互联网企业的存储架构中发挥着关键作用,是海量数据的理想存储介质。
由于HBase对表中的主键(RowKey)建立了索引,因此基于主键作为检索条件查询效率非常高。然而HBase并不支持创建非主键列的索引,所以对非主键列进行条件查询需要扫描全表,效率低下。
为了解决对非主键列查询耗时太长的问题,现有技术通过在客户端维护索引表以建立被查询的列与主键的对应关系,检索时通过索引表获取满足条件的主键集合,然后再根据查找到的主键在数据表中获取完整记录。因为是在客户端同时维护数据表与索引表的一致性,所以如要建立新的索引,还需修改客户端代码,增加了客户端代码的冗余和复杂性,而且在客户端维护索引一致性会产生多余的远程方法调用,导致程序效率低下。
HBase本身不支持全文搜索功能,可通过ElasticSearch(当前被广泛使用的搜索引擎,简称ES)构建HBase中数据的全文索引,但是需将HBase中的数据实时增量同步到ES中,当前Logstash(ES生态系统相关项目,用于数据采集)官方并没有推出可以满足项目需求的数据同步组件用于将HBase中新增的数据实时增量同步到ES。
发明内容
为解决上述问题,弥补HBase在检索方面的劣势,本发明设计了一套独有的HBase二级索引技术。
本发明采用的技术方案如下:
一种HBase二级索引自适应优化的方法,包括以下步骤:
1)将客户端对HBase的变更操作通过观察者协处理器组件Observer Coprocessor同步映射到分布式搜索引擎ES的索引中,并由ES维护HBase中数据对应的倒排索引,作为HBase的二级索引;
2)对所述二级索引进行增量更新,包括增量更新本地索引、增量更新全局索引、增量更新ES索引;
3)将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到所述二级索引;
4)接收客户端发出的数据查询请求,通过本地索引、全局索引和ES索引获得查询结果,并返回给客户端。
下面进一步说明上述步骤:
1)创建索引与索引元信息管理。用户通过提供的客户端接口所创建的索引信息应该被合理的保存,这些元数据信息是自适应动态构建索引和批量构建索引的依据,也是用户进行查询时自动利用索引加速查询过程的依据。为更好的利用HBase提供的各种钩子(Hook)函数去捕获用户创建、更改索引的动作,将索引元数据存储于HBase的表描述器(HTableDescriptor)中的配置器Configuration中,如果对HTableDescriptor进行任何的修改,都可以通过基本协处理器(BaseMasterObserver)中的预修改表(preModifyTable)进行获取。
2)索引增量更新
索引增量更新分为三类,增量更新本地索引、增量更新全局索引、增量更新ES索引。本发明自适应支持索引的三类增量更新。系统可自适应感知不同场景,动态、智能支持不同类型索引的透明增量更新。
3)索引同步
索引同步是将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到目标索引,从而避免同步更新索引数据的一些弊端,充分利用批处理提高同步过程的安全性和高效性。在实现同步过程中使用Kafka(一种开源的分布式消息队列)安全存储数据,使用ZooKeeper(一种开源的分布式协调服务组件)用于通知用户接收新主题(Topic)中的消息。
4)索引查询
索引数据可以存储于索引列族、索引表、ES中,针对不同类型的索引数据需要相应的子查询接口与请求参数,然后将子查询接口获取到的结果进行整合、过滤,将最终满足条件的结果返回给用户。在本发明实现中,如所有的子查询条件都是针对全局索引或者都是针对本地索引采用了迭代器实现,可分批获取结果集,如果子查询条件有全局索引也有本地索引,暂不支持迭代查询。大部分情形下,为某特定表建立索引要么都建立为全局索引,要么全部建立为本地索引,所以该实现可以满足大部分应用场景。
5)索引批处理
索引批处理包括批量构建全局索引、批量构建本地索引、批量构建全文索引。该部分采用SnapshotScanMR+BulkLoadFiles的方式批量构建索引。与上面方法对应地,本发明还提供一种HBase二级索引自适应优化系统,其包括:
索引创建模块,负责将客户端对HBase的变更操作通过观察者协处理器组件Observer Coprocessor同步映射到分布式搜索引擎ES的索引中,并由ES维护HBase中数据对应的倒排索引,作为HBase的二级索引;
索引进行增量更新模块,负责对建立的二级索引进行增量更新,包括增量更新本地索引、增量更新全局索引、增量更新ES索引;
索引同步模块,负责将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到二级索引;
索引查询模块,负责接收客户端发出的数据查询请求,通过本地索引、全局索引和ES索引获得查询结果,并返回给客户端。
进一步地,还包括索引批处理模块,用于批量构建全局索引、批量构建本地索引、批量构建全文索引、
本发明的有益效果如下:
本发明为支持单列索引、联合索引、全文索引等,设计了不同的索引格式和索引存储方案,在不同类型的检索任务中这些索引可以被高效利用,极大提高检索效率;为实现在HBase服务端自动维护数据与索引的一致性,通过对协处理器框架和HBase源码的研究,扩充HBase服务端的功能,使二级索引功能成为HBase的一部分;为尽量减小在更新索引时对正常数据插入效率的影响,采用了基于消息中间件的方式实现数据与索引的最终一致性;为满足对千亿级别威胁情报库实时聚合查询的需要,本发明基于Redis(一种开源分布式内存数据库)实现预聚合功能,可以达到毫秒级查询效率,并基于此实现基于时间序列的统计查询功能;提供客户端查询接口,对查询表达式进行解析,选择最优的索引提高检索过程的效率,并可在占用较小内存情况下完成对海量结果集的获取。
附图说明
图1.本发明的HBase二级索引优化整体框架图。
图2.本发明创建HBase二级优化索引的时序图。
图3.本发明基于消息中间件实现跨结点更新索引的示意图。
图4.本发明的HBase二级索引查询模块工作流程图。
图5.本发明的预聚合模块系统设计图。
图6.本发明的批量构建索引流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和事例对本发明中技术核心作进一步详细的说明。
在本发明中提出了一种HBase二级索引自适应优化的方法。图1是该方法的整体框架图,其中Observer Coprocessor是观察者协处理器,HRegion Server是分片服务器,UserTable Region是用户表分区,Data Fam是名为Fam的数据,AA—>col1:1表示列族为A列名为A的字段存储在第1列,AB—>col2:2表示列族为A列名为B的字段存储在第2列。该方法中,客户端Client对HBase的增删改操作通过观察者协处理器组件(Observer Coprocessor)将变更同步映射到分布式搜索引擎ES的索引Index中。由分布式搜索引擎ES维护HBase中数据对应的倒排索引。ES官方提供的HBase数据同步组件并不能实现增量同步数据到ES中,因此需要实现满足需求的同步插件。
一、创建索引与索引元信息管理的步骤:
如图2所示,是本方法创建HBase二级优化索引的时序图,具体包括以下步骤:
步骤1:用户在调用客户端通过创建索引(createIndex)函数发出建立索引请求;
步骤2:服务端根据用户请求进行相应检查后调用修改表(modifyTable)函数向表描述器HTableDescriptor添加“Fam”索引的配置信息;Fam是添加的测试索引的名字;
步骤3:通过协处理器主机(MasterCoprocessorHost)调用配置文件hbase-site.xml中加载的主观察器(MasterObserver)中自定义的预修改表(preModifyTable)函数,将用户请求建立的“Fam”索引信息正式添加入HTableDescriptor;
步骤4:动态加载相应的协处理器,如果相应的协处理器已经存在则不需再次添加;
步骤5:在配置器(CONFIGURATION)中添加相应的配置元信息,相应的分片服务器(HRegion Server)重新获取新的索引元数据信息,并触发在Kafka中建立主题(createTopic),用于存储异步传输的更新索引请求;
步骤6:触发在分布式协调服务组件ZooKeeper中建立/secondary_index/newTopic的请求(对应图2中的createZNode),消息队列Kafka中的消费者(Consumer)通过观察器(watcher)节点发现需要消费的主题(Topic)并接收其中的消息。
二、索引增量更新实现步骤:
图3是基于消息中间件实现跨结点更新索引示意图,包括以下步骤:
步骤1:分片服务器(HRegion Server)向主服务器(Master)通知本分片(Region)上线之前预打开(preOpen)函数首先被调用。为了使得落在该Region中的增、删、改操作能高效的去根据索引信息构建索引,需在数据添加(Put)函数、删除(Delete)函数执行前提前获取索引信息,所以在该preOpen函数中直接初始化必要信息,可以使得预添加(prePut)、预删除(preDelete)等函数直接使用索引元信息,提高观察器(Observer)的执行效率。
步骤2:通过预添加(prePut)函数获取用户的添加数据(Put)请求,根据索引元数据提取添加(Put)函数中的索引数据。由于HBase的Put操作既可以插入新数据又可以更新数据,所以需要检查添加(Put)函数的主键(RowKey)是否已经在,如果有该行记录并且在添加数据时覆盖了已建立索引的列,还需要将旧的索引删掉然后再添加新的索引,避免无效的索引数据造成无效的查询结果。对于联合索引而言,添加操作可能只会修改其中一个索引的值,针对这种情况也需要特别考虑。可以对一个表建立多个单列索引,也可以为表建立多个联合索引。
步骤3:通过预删除(preDelete)该函数获取用户的删除数据(Delete)请求。如果用户的删除数据请求中只包含主键RowKey不包含数据,HBase会删除整行记录,如果删除数据请求中包含指定的列,则会在HBase中只删除指定的列,可以为表建立多个单列索引,也可以为表建立多个联合索引。
三、索引同步实现步骤:
步骤1:将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到目标索引;
步骤2:在实现同步过程中使用分布式消息队列Kafka安全存储数据,使用分布式协调服务组件ZooKeeper通知消费者消费新Topic中的消息。
四、索引查询实现步骤:
步骤1:定义解析表达式组件(ParseExpression),用于解析传入的表达式,当前业务主要是等值查询和模糊查询,所以其主要解析类似于field1=xxx and field2^=yyyor field3?=zzz这样的查询表达式,其中=代表等值查询,^=代表前缀匹配查询,?=代表模糊查询,该类中的解析器将传入的表达式转换为一系列的子查询对象,并根据子查询条件初始化相应的子查询对象,其中每个子查询对象对应于一个单列索引或者联合索引。
步骤2:定义全局索引查询器组件(GlobalIndexQuery),实现查询(Query)接口,用于面向全局二级索引的子条件查询。该接口主要接收参数全局索引查询实体(GlobalIndexQueryEntity),用于指明被检索的数据表应检索的主键范围,迭代查询游标等关键信息。由于用户的查询条件中并不是所有的列都已建立索引,对于未建立索引的列应使用过滤器组件(Filter)进行过滤。全局索引查询器组件获取部分满足条件主键列表,根据相关算法重新设置传入的全局索引查询实体中的开始主键(startKey),作为下一次检索的开始游标。
步骤3:定义查询服务(QueryService):用于处理用户的查询。其通过ParseExpression初始化用户查询的游标,调用各种类型的Query实体类进行迭代查询,汇聚各子查询条件的结果求交集,各个子查询为并发查询。然后重新设置各个子查询实体类的起始主键(startKey)作为新的游标,进行下一次迭代查询。
图4是HBase二级索引查询模块工作流程图,具体包括以下步骤:
1.客户端发出数据查询请求(query);
2.查询表达式解析器将客户端的数据查询请求交给最优索引选择器进行解析优化;
3.最优索引选择器根据解析优化后的查询请求查询初始化信息,向客户端返回需要的索引信息;
4.客户端根据返回的索引信息,向查询线程池(Query Thread Pool)提交查询请求;
5.查询线程池中的本地索引(Local Index Query)和全局索引(Global IndexQuery)向HBase集群(HBase Cluster)提交查询请求;
6.HBase集群向查询线程池返回查询结果;
7.查询线程池中的ES索引(ES Index Query)向ES集群(ElasticSearch Cluster)提交查询请求;
8.ES集群向查询线程池返回查询结果;
9.查询线程池向客户端返回最终查询结果。
图5是预聚合模块系统设计图。“预聚合”是指提前对数据进行聚合处理。如图5所示,预聚合包括以下内容:
1.为了对热点数据进行负载,将多个Redis组成一个Cluster,采用轮询访问Redis数据库的方式实现负载。
2.为了实现Redis集群(Cluster)的动态扩充和节点宕机发现,通过ZooKeeper对多个Redis的存活性进行检测。当系统压力大时可以增加新的Redis节点,从而提高系统的并发能力。
3.将Redis封装到容器Docker Container(一种虚拟化资源隔离技术)中,在启动容器中的Redis服务器之前,执行向ZooKeeper的/redis-cluster下注册临时节点的代码,同时将Redis的工作模式设置为前台运行。图5中的Pipeline update表示管道更新。
4.客户端向分片服务器(Region Server)发送数据添加请求。
5.分片服务器(Region Server)作为数据生产者(Producer)角色将数据推送(push)到Kafka消息队列。
6.分布式协调服务组件zookeeper观察(watch)到数据变化之后,通知redis服务器集群进行数据拉取(pull)。
图6是批量构建索引流程图,具体包括以下步骤:
1.数据快照扫描器(SnapshotScanMR)扫描与原始表对应的快照恢复出来的Hadoop底层格式文件HFiles,在客户端直接打开数据分区扫描Hadoop分布式文件系统(HDFS)上的文件。
2.通过Hadoop文件格式输出器(HFileOutputFormat2)将数据快照扫描器(SnapshotScanMR)产生的大量添加数据(PUT)请求根据目标表的分区(Region)划分,产生相应分区的Hadoop文件(HFile)数据;
3.通过批量加载(BulkLoad)的方式再将Hadoop文件(HFile)移动到分区对应的HDFS文件夹中,从而完成数据的批量插入。
实验数据:
测试场景设计:在HBase不同表中分别插入100万条记录、1000万条记录、1亿条记录、10亿条记录,每条记录11个字段,每个字段平均50字节,并为其中的一个字段建立索引,测试HBase过滤器(Filter)的查询效率与为其建立索引后基于索引的平均查询耗时。每次查询总共平均命中100条记录。
通过测试场景可以看出通过基于索引的查询会大大减少查询的耗时。在基于索引查询时主要有两步操作,一是根据主键进行小范围扫描,二是基于主键列表进行批量查询请求(本质上也是小范围扫描,只不过是得到一条记录)。通过表1可以看出HBase针对主键操作的效率非常高,也体现出HBase作为分布式数据库,即使记录成倍增加也依然保持极好的可扩展性。
表1.有无二级索引效率对比
表中记录行数 有二级索引 无二级索引(通过HBase Filter过滤)
100W 158ms 2.738s
1000W 160ms 23.248s
1亿 180ms 超时异常
10亿 176ms 超时异常
尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (10)

1.一种HBase二级索引自适应优化方法,其特征在于,包括以下步骤:
1)将客户端对HBase的变更操作通过观察者协处理器组件Observer Coprocessor同步映射到分布式搜索引擎ES的索引中,并由ES维护HBase中数据对应的倒排索引,作为HBase的二级索引;
2)对所述二级索引进行增量更新,包括增量更新本地索引、增量更新全局索引、增量更新ES索引;
3)将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到所述二级索引;
4)接收客户端发出的数据查询请求,通过本地索引、全局索引和ES索引获得查询结果,并返回给客户端。
2.根据权利要求1所述的方法,其特征在于,步骤1)利用HBase提供的各种钩子函数捕获用户创建、更改索引的动作,将索引元数据存储于HBase的表描述器HTableDescriptor中的配置器中,对HTableDescriptor进行任何的修改,都通过基本协处理器中的预修改表进行获取。
3.根据权利要求1所述的方法,其特征在于,步骤1)包括:
1.1)用户在客户端通过创建索引函数发出建立索引请求;
1.2)服务端根据建立索引请求调用修改表函数向表描述器添加“Fam”索引的配置信息;
1.3)通过协处理器主机调用配置文件hbase-site.xml中加载的主观察器中自定义的预修改表函数,将用户请求建立的“Fam”索引信息正式添加入表描述器;
1.4)动态加载相应的协处理器,如果相应的协处理器已经存在则不需再次添加;
1.5)在配置器中添加相应的配置元信息,相应的分片服务器重新获取新的索引元数据信息,并触发在Kafka中建立主题,用于存储异步传输的更新索引请求;
1.6)触发在分布式协调服务组件ZooKeeper中建立/secondary_index/newTopic的请求,消息队列Kafka中的消费者通过观察器节点,发现需要消费的主题并接收其中的消息。
4.根据权利要求1所述的方法,其特征在于,步骤2)所述增量更新包括:
2.1)分片服务器HRegion Server向主服务器Master通知本分片上线之前预打开函数preOpen首先被调用,在该preOpen函数中直接初始化必要信息,使得预添加函数prePut、预删除函数preDelete直接使用索引元信息,提高观察器Observer的执行效率;
2.2)通过预添加函数prePut获取用户的添加数据请求,根据索引元数据提取添加函数Put中的索引数据;检查添加Put函数的主键RowKey是否已经在,如果有该行记录并且在添加数据时覆盖了已建立索引的列,则将旧的索引删掉然后再添加新的索引,以避免无效的索引数据造成无效的查询结果;
2.3)通过预删除函数preDelete获取用户的删除数据请求;如果用户的删除数据请求中只包含主键RowKey不包含数据,则HBase删除整行记录,如果删除数据请求中包含指定的列,则会在HBase中只删除指定的列。
5.根据权利要求1所述的方法,其特征在于,步骤3)在实现同步的过程中使用分布式消息队列Kafka安全存储数据,使用分布式协调服务组件ZooKeeper通知消费者消费新主题中的消息。
6.根据权利要求1所述的方法,其特征在于,步骤4)中提供客户端查询接口,并对查询表达式进行解析,选择最优的索引以提高检索效率。
7.根据权利要求6所述的方法,其特征在于,步骤4)包括:
4.1)定义解析表达式组件,用于解析传入的表达式;
4.2)定义全局索引查询器组件,实现查询接口,用于面向全局二级索引的子条件查询;
该接口主要接收参数全局索引查询实体,用于指明被检索的数据表应检索的主键范围和迭代查询游标;
4.3)定义查询服务(QueryService),用于处理用户的查询,其通过解析表达式组件初始化用户查询的游标,调用各种类型的查询实体类进行迭代查询,汇聚各子查询条件的结果求交集,各个子查询为并发查询;然后重新设置各个子查询实体类的startKey作为新的游标,进行下一次迭代查询。
8.根据权利要求1所述的方法,其特征在于,基于开源分布式内存数据库Redis实现预聚合功能,包括以下步骤:
a)将多个Redis组成一个集群,采用轮询访问Redis数据库的方式实现负载;
b)通过ZooKeeper对多个Redis的存活性进行检测,当系统压力大时增加新的Redis节点,从而提高系统的并发能力;
c)将Redis封装到容器Docker Container中,在启动容器中的Redis服务器之前,执行向ZooKeeper的/redis-cluster下注册临时节点的代码,同时将Redis的工作模式设置为前台运行;
d)客户端向分片服务器发送数据添加请求,分片服务器作为数据生产者角色将数据推送到Kafka消息队列;
e)分布式协调服务组件zookeeper观察到数据变化之后,通知Redis服务器集群进行数据拉取。
9.根据权利要求1所述的方法,其特征在于,进行索引批处理,包括批量构建全局索引、批量构建本地索引、批量构建全文索引,包括以下步骤:
a)数据快照扫描器扫描与原始表对应的快照恢复出来的Hadoop底层格式文件HFiles,在客户端直接打开数据分区扫描Hadoop分布式文件系统上的文件;
b)通过Hadoop文件格式输出器将数据快照扫描器产生的大量添加数据请求根据目标表的分区进行划分,产生相应分区的Hadoop文件数据;
c)通过批量加载的方式再将Hadoop文件移动到分区对应的HDFS文件夹中,从而完成数据的批量插入。
10.一种HBase二级索引自适应优化系统,其特征在于,包括:
索引创建模块,负责将客户端对HBase的变更操作通过观察者协处理器组件ObserverCoprocessor同步映射到分布式搜索引擎ES的索引中,并由ES维护HBase中数据对应的倒排索引,作为HBase的二级索引;
索引进行增量更新模块,负责对建立的二级索引进行增量更新,包括增量更新本地索引、增量更新全局索引、增量更新ES索引;
索引同步模块,负责将跨表、跨库更新HBase索引表和ES索引表的索引更新请求同步到二级索引;
索引查询模块,负责接收客户端发出的数据查询请求,通过本地索引、全局索引和ES索引获得查询结果,并返回给客户端。
CN201811510560.6A 2018-12-11 2018-12-11 一种HBase二级索引自适应优化方法和系统 Active CN109800222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811510560.6A CN109800222B (zh) 2018-12-11 2018-12-11 一种HBase二级索引自适应优化方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811510560.6A CN109800222B (zh) 2018-12-11 2018-12-11 一种HBase二级索引自适应优化方法和系统

Publications (2)

Publication Number Publication Date
CN109800222A true CN109800222A (zh) 2019-05-24
CN109800222B CN109800222B (zh) 2021-06-01

Family

ID=66556505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811510560.6A Active CN109800222B (zh) 2018-12-11 2018-12-11 一种HBase二级索引自适应优化方法和系统

Country Status (1)

Country Link
CN (1) CN109800222B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297881A (zh) * 2019-07-08 2019-10-01 北京友缘在线网络科技股份有限公司 用于实现二级索引的方法和计算机可读介质
CN110427437A (zh) * 2019-07-31 2019-11-08 南京邮电大学 一种面向大数据的关系型数据库混合异构查询模型与方法
CN110427366A (zh) * 2019-06-29 2019-11-08 苏州浪潮智能科技有限公司 基于phoenix改造hbase旧系统的索引同步方法、装置及系统
CN110442673A (zh) * 2019-08-14 2019-11-12 黄河水利职业技术学院 中文文学用的信息查询系统及方法
CN110765132A (zh) * 2019-10-22 2020-02-07 北京思特奇信息技术股份有限公司 一种基于HBase的数据存储、检索方法及装置
CN110928954A (zh) * 2019-12-04 2020-03-27 深圳前海环融联易信息科技服务有限公司 HBase索引同步方法、装置、计算机设备及存储介质
CN111274325A (zh) * 2020-02-24 2020-06-12 中国工商银行股份有限公司 平台自动化测试方法及系统
CN111353762A (zh) * 2020-03-30 2020-06-30 中国建设银行股份有限公司 一种规章制度管理方法及系统
CN111400407A (zh) * 2020-04-10 2020-07-10 浙江大华技术股份有限公司 数据的同步方法及装置、存储介质及电子装置
CN111506646A (zh) * 2020-03-16 2020-08-07 阿里巴巴集团控股有限公司 数据同步方法、装置、系统、存储介质及处理器
CN111680043A (zh) * 2020-06-05 2020-09-18 南京莱斯信息技术股份有限公司 一种针对海量数据进行快速检索方法
CN112000666A (zh) * 2020-08-04 2020-11-27 广州未名中智教育科技有限公司 一种面向列的数据库管理系统
CN112052247A (zh) * 2020-09-29 2020-12-08 微医云(杭州)控股有限公司 搜索引擎的索引更新系统、方法、装置、电子设备、存储介质
CN112084188A (zh) * 2020-08-25 2020-12-15 北京明略昭辉科技有限公司 HBase内存索引构建方法、系统及存储介质
CN112597191A (zh) * 2020-12-29 2021-04-02 拉卡拉支付股份有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
CN112687364A (zh) * 2020-12-24 2021-04-20 宁波金唐软件有限公司 一种基于Hbase的医疗数据管理方法及其系统
CN113032479A (zh) * 2019-12-24 2021-06-25 上海昂创信息技术有限公司 一种HBase非主键索引的方法及HBase系统
CN113190563A (zh) * 2021-06-30 2021-07-30 阿里云计算有限公司 索引生成方法、设备及存储介质
CN113297273A (zh) * 2021-06-09 2021-08-24 北京百度网讯科技有限公司 查询元数据的方法、装置和电子设备
CN113868251A (zh) * 2021-09-24 2021-12-31 北京百度网讯科技有限公司 分布式数据库的全局二级索引方法及其装置
CN114218469A (zh) * 2021-12-15 2022-03-22 掌阅科技股份有限公司 资源策略处理方法、计算设备及存储介质
CN114372064A (zh) * 2022-03-22 2022-04-19 飞狐信息技术(天津)有限公司 数据处理装置、方法、计算机可读介质及处理器
CN116089545A (zh) * 2023-04-07 2023-05-09 云筑信息科技(成都)有限公司 一种采集存储介质变更数据入数据仓库的方法
CN117539962A (zh) * 2024-01-09 2024-02-09 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383860A (zh) * 2016-08-31 2017-02-08 无锡雅座在线科技发展有限公司 数据查询方法及装置
CN106503243A (zh) * 2016-11-08 2017-03-15 国网山东省电力公司电力科学研究院 基于HBase二级索引的电力大数据查询方法及系统
CN107506464A (zh) * 2017-08-30 2017-12-22 武汉烽火众智数字技术有限责任公司 一种基于ES实现HBase二级索引的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383860A (zh) * 2016-08-31 2017-02-08 无锡雅座在线科技发展有限公司 数据查询方法及装置
CN106503243A (zh) * 2016-11-08 2017-03-15 国网山东省电力公司电力科学研究院 基于HBase二级索引的电力大数据查询方法及系统
CN107506464A (zh) * 2017-08-30 2017-12-22 武汉烽火众智数字技术有限责任公司 一种基于ES实现HBase二级索引的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
丁飞等: "基于协处理器的HBase区域级第二索引研究与实现", 《计算机应用》 *
阮士杰: "大数据环境下高效检索算法的研究和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427366A (zh) * 2019-06-29 2019-11-08 苏州浪潮智能科技有限公司 基于phoenix改造hbase旧系统的索引同步方法、装置及系统
CN110427366B (zh) * 2019-06-29 2022-07-12 苏州浪潮智能科技有限公司 基于phoenix改造hbase旧系统的索引同步方法、装置及系统
CN110297881A (zh) * 2019-07-08 2019-10-01 北京友缘在线网络科技股份有限公司 用于实现二级索引的方法和计算机可读介质
CN110427437A (zh) * 2019-07-31 2019-11-08 南京邮电大学 一种面向大数据的关系型数据库混合异构查询模型与方法
CN110442673A (zh) * 2019-08-14 2019-11-12 黄河水利职业技术学院 中文文学用的信息查询系统及方法
CN110765132A (zh) * 2019-10-22 2020-02-07 北京思特奇信息技术股份有限公司 一种基于HBase的数据存储、检索方法及装置
CN110928954A (zh) * 2019-12-04 2020-03-27 深圳前海环融联易信息科技服务有限公司 HBase索引同步方法、装置、计算机设备及存储介质
CN113032479A (zh) * 2019-12-24 2021-06-25 上海昂创信息技术有限公司 一种HBase非主键索引的方法及HBase系统
CN111274325A (zh) * 2020-02-24 2020-06-12 中国工商银行股份有限公司 平台自动化测试方法及系统
CN111274325B (zh) * 2020-02-24 2023-08-22 中国工商银行股份有限公司 平台自动化测试方法及系统
CN111506646A (zh) * 2020-03-16 2020-08-07 阿里巴巴集团控股有限公司 数据同步方法、装置、系统、存储介质及处理器
CN111506646B (zh) * 2020-03-16 2023-05-02 阿里巴巴集团控股有限公司 数据同步方法、装置、系统、存储介质及处理器
CN111353762A (zh) * 2020-03-30 2020-06-30 中国建设银行股份有限公司 一种规章制度管理方法及系统
CN111400407B (zh) * 2020-04-10 2023-09-26 浙江大华技术股份有限公司 数据的同步方法及装置、存储介质及电子装置
CN111400407A (zh) * 2020-04-10 2020-07-10 浙江大华技术股份有限公司 数据的同步方法及装置、存储介质及电子装置
CN111680043A (zh) * 2020-06-05 2020-09-18 南京莱斯信息技术股份有限公司 一种针对海量数据进行快速检索方法
CN111680043B (zh) * 2020-06-05 2023-11-28 南京莱斯信息技术股份有限公司 一种针对海量数据进行快速检索方法
CN112000666B (zh) * 2020-08-04 2024-02-20 广州未名中智教育科技有限公司 一种面向列的数据库管理系统
CN112000666A (zh) * 2020-08-04 2020-11-27 广州未名中智教育科技有限公司 一种面向列的数据库管理系统
CN112084188A (zh) * 2020-08-25 2020-12-15 北京明略昭辉科技有限公司 HBase内存索引构建方法、系统及存储介质
CN112052247B (zh) * 2020-09-29 2024-05-07 微医云(杭州)控股有限公司 搜索引擎的索引更新系统、方法、装置、电子设备、存储介质
CN112052247A (zh) * 2020-09-29 2020-12-08 微医云(杭州)控股有限公司 搜索引擎的索引更新系统、方法、装置、电子设备、存储介质
CN112687364A (zh) * 2020-12-24 2021-04-20 宁波金唐软件有限公司 一种基于Hbase的医疗数据管理方法及其系统
CN112687364B (zh) * 2020-12-24 2023-08-01 宁波金唐软件有限公司 一种基于Hbase的医疗数据管理方法及其系统
CN112597191B (zh) * 2020-12-29 2024-06-11 拉卡拉支付股份有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
CN112597191A (zh) * 2020-12-29 2021-04-02 拉卡拉支付股份有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
CN113297273A (zh) * 2021-06-09 2021-08-24 北京百度网讯科技有限公司 查询元数据的方法、装置和电子设备
CN113297273B (zh) * 2021-06-09 2024-03-01 北京百度网讯科技有限公司 查询元数据的方法、装置和电子设备
CN113190563A (zh) * 2021-06-30 2021-07-30 阿里云计算有限公司 索引生成方法、设备及存储介质
CN113868251A (zh) * 2021-09-24 2021-12-31 北京百度网讯科技有限公司 分布式数据库的全局二级索引方法及其装置
CN114218469A (zh) * 2021-12-15 2022-03-22 掌阅科技股份有限公司 资源策略处理方法、计算设备及存储介质
CN114372064B (zh) * 2022-03-22 2022-07-12 飞狐信息技术(天津)有限公司 数据处理装置、方法、计算机可读介质及处理器
CN114372064A (zh) * 2022-03-22 2022-04-19 飞狐信息技术(天津)有限公司 数据处理装置、方法、计算机可读介质及处理器
CN116089545B (zh) * 2023-04-07 2023-08-22 云筑信息科技(成都)有限公司 一种采集存储介质变更数据入数据仓库的方法
CN116089545A (zh) * 2023-04-07 2023-05-09 云筑信息科技(成都)有限公司 一种采集存储介质变更数据入数据仓库的方法
CN117539962A (zh) * 2024-01-09 2024-02-09 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN117539962B (zh) * 2024-01-09 2024-05-14 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN109800222B (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN109800222A (zh) 一种HBase二级索引自适应优化方法和系统
CN109299102B (zh) 一种基于Elastcisearch的HBase二级索引系统及方法
US7096231B2 (en) Export engine which builds relational database directly from object model
KR100493882B1 (ko) Xml 데이터 검색을 위한 질의 처리 방법
US20100281005A1 (en) Asynchronous Database Index Maintenance
US9183267B2 (en) Linked databases
CN107451208B (zh) 一种数据搜索方法与装置
US8880463B2 (en) Standardized framework for reporting archived legacy system data
US10007800B2 (en) Remote rule execution
CN111897813B (zh) 针对数据库资源的流控方法及装置
US7627547B2 (en) Processing path-based database operations
CN109246102B (zh) 一种支撑大规模认证数据快速存储及检索的系统及方法
JPH1031615A (ja) 分散ハイパーメディアシステム
CN110569456B (zh) Web端数据离线缓存方法及装置、电子设备
CN113779326A (zh) 数据处理方法、设备、系统以及存储介质
US11461302B1 (en) Storing multiple instances of data items to implement key overloading in database tables
CN111143449B (zh) 一种基于统一数据模型的数据服务方法及装置
CN114490095B (zh) 请求结果的确定方法和装置、存储介质及电子装置
KR100907095B1 (ko) 분산저장장치를 이용한 정보검색시스템 및 이를 이용한정보검색방법
CN109388728A (zh) 一种电力设备快速检索方法
CN117290392A (zh) 一种产品的推荐方法、装置、电子设备及存储介质
CN115344568A (zh) 内存索引机制处理方法、装置、电子设备及存储介质
CN116737706A (zh) 不同数据库同构数据提取入库方法、装置、设备及介质
US20180260423A1 (en) Versioned data updating system
CN112416970A (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
GR01 Patent grant
GR01 Patent grant