CN105608126A - 一种建立海量数据库二级索引的方法和装置 - Google Patents

一种建立海量数据库二级索引的方法和装置 Download PDF

Info

Publication number
CN105608126A
CN105608126A CN201510942166.XA CN201510942166A CN105608126A CN 105608126 A CN105608126 A CN 105608126A CN 201510942166 A CN201510942166 A CN 201510942166A CN 105608126 A CN105608126 A CN 105608126A
Authority
CN
China
Prior art keywords
secondary index
master meter
index table
subregion
setting
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
CN201510942166.XA
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.)
Chengdu Chuandge Technology Co Ltd
Original Assignee
Chengdu Chuandge 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 Chengdu Chuandge Technology Co Ltd filed Critical Chengdu Chuandge Technology Co Ltd
Priority to CN201510942166.XA priority Critical patent/CN105608126A/zh
Publication of CN105608126A publication Critical patent/CN105608126A/zh
Pending legal-status Critical Current

Links

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种建立海量数据库二级索引的方法和装置,包括以下步骤:S1.为每个主表创建一个与之对应的二级索引表,并为每个二级索引表设置一个时间戳;S2.扫描分区服务器中的日志文件Hlog,获取应用对主表的操作记录;S3.根据应用对主表的操作记录对二级索引表进行操作,并更新二级索引表的时间戳。本发明在应用对主表进行操作时,并不同时对各二级索引进行相应的操作,保证对主表的高性能和高可用性,解决了现有方法因建立二级索引导致主表性能下降、可用性降低的问题;通过引入时间戳,可以给出明确的数据强一致性的时间点,利用强一致性时间点,应用可以更合理的使用查询的结果。

Description

一种建立海量数据库二级索引的方法和装置
技术领域
本发明涉及数据库技术领域,特别是涉及一种建立海量数据库二级索引的方法和装置。
背景技术
在HBase中,表格的行键(RowKey)按照字典排序,分区(Region)按照行键设置分裂点(SplitPoint)进行分裂,通过这种方式实现的全局、分布式索引,成为其成功的最大砝码。然而,随着HBase系统上应用的驱动,人们发现全局行键索引(Global-RowKey-Indexing)不能满足应用的需求,人们希望像SQL一样检索数据,select*fromtablewherecol=val。可是,HBase之前的定位是大表的存储,要进行这样的查询,往往是要通过类似Hive、Pig等系统进行全表的MapReduce计算,这种方式既浪费了机器的计算资源,又因高延迟使得应用黯然失色。于是,在业界和HBase社区,针对HBase二级索引(SecondaryIndexing)的方案呼声很高,也提出了多种解决方案,但是还没有一个完美的方案能让大家接受。
目前,HBase建立二级索引的方法包括单索引建表和多索引混合建表。从建立索引的方式来看,尽管多索引混合建表的建表方式比单索引建表的建表方式复杂一些,但是可以节省大量的存储空间,并且会对保证索引表分区和主表分区的一致性带来好处。从建立索引发起点的维度来看,不管二级索引的结构如何,都是选用一下两种方式之一:一种是使用协处理器Coprocessor由服务器端建立二级索引,另一种是由客户端发起对于主表和二级索引表的Put、Delete操作的双重操作。然而无论采用哪种方式都会大大影响插入、删除操作的性能,特别是需要对一张主表建立多个二级索引的时候,因为为了保持数据的一致性,只有当所有表的相应操作都完成以后才能确保该操作的成功。这将大大影响HBase的可用性。如果主表业务是在线业务,它的性能是需要得到保证的,显然这两种方式都不合适。因此,需要寻找一种的新的为HBase建立二级索引的方式,来解决建立二级索引对主表操作带来的性能问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种建立海量数据库二级索引的方法和装置,在应用对主表进行操作时,并不同时对各二级索引进行相应的操作,解决了建立二级索引导致主表操作性能下降、可用性降低的问题。
本发明的目的是通过以下技术方案来实现的:一种建立海量数据库二级索引的方法,包括以下步骤:
S1.为每个主表创建一个与之对应的二级索引表,并为每个二级索表引设置一个时间戳;
S2.扫描分区服务器中的日志文件Hlog,获取应用对主表的操作记录;
S3.根据应用对主表的操作记录对二级索引表进行操作,并更新二级索引表的时间戳。
所述步骤S1包括以下子步骤:
S11.设置二级索引表的行键;
S12.获取主表的所有分区信息,得到所有主表分区的起始键;
S13.创建二级索引表;
S14.以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器中;
S15.为二级索引表设置时间戳。
所述二级索引表的行键包括四部分,按顺序依次是主表分区起始键、索引名、索引值和主表行键。
所述步骤S2中每条操作记录的内容包括主表名、操作类型、行地址、列的名字、操作发生时间和值。
所述步骤S3中对二级索引表进行操作的方式为:以列的名字和列的值作为二级索引行键的值,把对主表操作的行键的值作为值。
一种建立海量数据库二级索引的装置,包括:
协处理器Coprocessor,用于为主表创建一个与之对应的二级索引表;
分区服务器,用于存储日志文件Hlog,存储日志文件Hlog包括应用对主表的操作记录;
二级索引更新服务模块,运行在分区服务器上,用于根据应用对主表的操作记录对二级索引表进行操作;
时间戳模块,用于设置或更新二级索引表的时间戳。
所述协处理器Coprocessor以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器中。
所述应用对主表对主表的操作记录的内容包括主表名、操作类型、行地址、列的名字、操作发生时间和值。
所述协处理器Coprocessor通过扫描日志文件Hlog时采用MapReduce算法并发处理日志文件Hlog。
本发明的有益效果是:
(1)本发明在应用对主表进行操作时,并不同时对各二级索引进行相应的操作,保证对主表的高性能和高可用性,解决了现有方法因建立二级索引导致主表性能下降、可用性降低的问题;
(2)给使用二级索引查询的应用提供了明确的数据一致性时间点:本发明通过引入时间戳,可以给出明确的数据强一致性的时间点,利用强一致性时间点,应用可以更合理的使用查询的结果;
(3)不会影响系统性能:本发明可以基于现有系统的机制通过使用MapReduce算法得以实现,不需要对现有系统代码进行更改就可以整合,所以不会给系统带来性能和维护上的负担;
(4)保证了二级索引的高性能查询:本发明在保证主表操作性能的同时并没有牺牲二级索引的查询效率,只是推迟了建立和更新二级索引的时间,并没有改变二级索引的模式,所以不会给二级索引的性能带来任何影响;
(5)容易整合:本发明可以与任何模式的二级索引进行整合,而不需要太大的开发工作,这为本发明与先进的二级索引模式整合提供了基础。
附图说明
图1为本发明一种建立海量数据库二级索引的方法的流程图;
图2为二级索引表的行键的结构示意图;
图3为二级索引表分区的分配控制示意图;
图4为日志文件HLog的结构示意图;
图5为日志文件HLog中键值的存储结构示意图;
图6为二次索引表更新服务模块扫描日志文件HLog的过程的一个实施例。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种建立海量数据库二级索引的方法,包括以下步骤:
S1.为每个主表创建一个与之对应的二级索引表,并为每个二级索引表设置一个时间戳。
所述步骤S1包括以下子步骤:
S11.设置二级索引表的行键。
所述二级索引表的行键包括四部分,按顺序依次是主表分区起始键、索引名、索引值和主表行键,如图2所示。
主表分区起始键:将主表分区的起始键作为二级索引分区的行键的第一部分;这样设计具有以下两个方面的好处:一是使得二级索引表分区和对应的主表分区拥有相同的起始键,这样可以将该起始键作为二级索引表分区和主表分区的关联依据;二是当主表分区分裂时,可以使用相同的分裂键SplitKey对二级索引表分区进行相应的分裂操作,并将新产生的主表分区和二级索引表分区建立关联关系。
索引名:在一张主表的基础上可以定义多个索引,如果为每个索引创建一个二级索引表,则在实际应用过程中势必会产生大量的二级索引表,当主表分区分裂时,还需要对与之关联的二级索引表分区分别执行分裂操作,这将消耗大量大系统资源,并且不移维护。因此考虑将一张主表的所有索引数据存放到同一张二级索引表中,不同索引的数据以索引名进行区分。
索引值:当索引是单列索引时,索引值为主表行的一个列值,当索引为组合索引时,索引值由主表行的多个列的值组合而成;
主表行键,用于定位主表行,以获得最终的数据。
S12.获取主表的所有分区信息,得到所有主表分区的起始键。
S13.创建二级索引表。
现有的创建二级索引表的方法有两种:一是编写协处理器Coprocessor创建二级索引表的代码,这样在创建新的主表时,系统就会调用相应的协处理器Coprocessor自动创建二级索引表;二是用户在创建主表的时候,同时调用接口方法创建二级索引表。
因为创建主表的操作是在主服务器上完成的,该操作不会记录到分区服务器的日志文件Hlog上,所以不能通过扫描日志文件Hlog来完成二级索引表的创建。但是,因为创建主表只会有一次,一般都是在应用初始化阶段进行,所以创建主表的性能不会影响到应用实际运行的性能和可用性。所以,本发明选用了使用协处理器Coprocessor自动创建二级索引表的方法,也就是说,每当用户创建主表的时候,就会通过协处理器Coprocessor为其创建二级索引表。因为要多创建一张二级索引表,整个创建主表的时间会长一些。
创建二级索引表的具体过程如下:获取主表的所有分区信息,得到所有主表分区的起始键;结合索引定义和主表分区的起始键信息,调用HBaseAdmin的createTable(finalHTableDescriptordesc,byte[][]splitKeys)方法创建二级索引表。通过这两部便建立了二级索引表分区和主表分区的以起始键为依据的一一对应关系。
S14.以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器中。
二级索引表分区的分配控制过程就是保证二级索引表分区与主表分区的一一对应关系,并且被分配到同一个分区服务器的过程。为了保证这一点,需要自定义系统的负载均衡器LoadBalancer,重写均衡器集群balanceCluster方法,主要增加对二级索引表分区的分配控制。以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器。自定义负载均衡器对二级索引表分区的分配控制过程如图3所示。此处只增加对二级索引表分区分配的控制,并不对二级索引表分区的分配进行干预,主表分区由HBase按照指定的均在均衡策略进行分配,使得对现有HBase运行环境的影响降到最小。
S15.为二级索引表设置时间戳,该时间戳用于记录该二级索引表更新到对应主表的最后一个操作的时间。使用该时间戳使用二级索引表的应用可以知道所获得的查询结果的时间段,也就是说,应用可以知道对时间戳以前的所有查询结果和主表的数据是完全一致的。比如说,如果时间戳是9:00,那么应用查询用户9:00以前访问的所有网站的结果就是完全一致的。所以,通过为二级索引表增加时间戳更进一步扩大了本发明可以使用的应用场景,比如所有日志类型的应用,监控类型的应用,回放类型的应用、数据挖掘型应用等。
这些应用类型的特点都是需要对过去已经发生的事情在需要的时候进行查询、还原、处理、或数据挖掘。也就是说,这些应用对数据的查询都是以时间段进行的。所以,通过使用二级索引的时间戳,本发明完全可以提供给定时间段的强一致查询结果。
S2.扫描分区服务器中的日志文件Hlog,获取应用对主表的操作记录。
所述的日志文件HLog是HBase的分区服务器在处理数据插入和删除的过程中用来记录操作内容的一种日志。在每次对主表进行插入和删除操作的时候,分区服务器都会生成一条记录,将操作的数据封装,然后再添加到分区服务器对应的日志文件HLog。所以,通过扫描的日志文件HLog,可以获取对主表的所有的插入和删除操作的全部信息。
图4为日志文件HLog的结构示意图,其实日志文件HLog就是一个普通的Hadoop顺序文件,顺序文件的key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了主表和分区的名字外,同时还包括序号(SequenceNumber)和时间戳(Timestamp),时间戳是“写入时间”,序号的起始值为0,或者是最近一次存入文件系统中序号。
HLog序号文件(HLogSequeceFile)的值Value是HBase的键值(KeyValue)对象,即对应HFile中的键值。HFile里面的每个键值对就是一个简单的Byte数组。但是这个Byte数组里面包含了很多项,并且有固定的结构,具体结构如图5所示,开始是两个固定长度的数值,分别表示键(Key)的长度和值(Value)的长度。紧接着是Key,开始是固定长度的数值,表示行键的长度,紧接着是行键,然后是固定长度的数值,表示族(Family)的长度,然后是族(Family),接着是限定符(Qualifier),然后是两个固定长度的数值,表示时间戳和操作类型KeyType(插入/删除)。值Value部分没有这么复杂的结构,就是纯粹的二进制数据了。
所述步骤S2中每条操作记录的内容包括主表名、操作类型、行地址、列的名字、操作发生时间和值。所述列的名字由列簇的名字和列的名字两部分组成。
在HBase的根目录下有个WALs目录,里面就是HLog文件,一台分区服务器对应一个文件。老的HLog文件会被移到oldWALs目录下。
对于每一个插入或删除操作,在对主表进行实际操作以前,把该操作以及参数写入HLog中。所以,通过HLog完全可以了解用户对哪个主表的哪个行、哪个列、在什么时间进行了什么操作。所以,通过这些信息,就可以还原用户对主表的操作。进一步,分析用户是否为所操作的列建立了二级索引,如果建立了二级索引,那么就构造对二级索引的操作。基本原理就是以列的名字和列的值作为二级索引表的行键的值,把对主表操作的行键的值作为值。如果对主表的操作是插入,那么对二级索引的操作就是插入;如果对主表的操作是删除,那么对二级索引的操作也是删除。
S3.根据应用对主表的操作记录对二级索引表进行操作,并更新二级索引表的时间戳。
所述步骤S3中对二级索引表进行操作的方式为:以列的名字和列的值作为二级索引行键的值,把对主表操作的行键的值作为值。
二级索引表的更新是由运行在分区服务器上的二级索引更新服务模块来完成的。二级索引更新服务模块不断扫描日子文件HLog,按照上述方法更新二级索引,并记录最后一个扫描记录的位置。假设上一次二级索引更新服务模块扫描的最后一条记录的时间戳是Timestamp1,则本次扫描就从Timestamp1后面的一条数据项开始,如图6所示,本次扫描是从Timestamp1的下一条记录开始扫描,到Timestamp2为止。下次扫描将从Timestamp2的下一条记录开始。
建立二级索引表的时候,会为其设置一个时间戳模块用来记录该二级索引表已经更新的时间点。也就是说,时间戳模块就是说该二级索引表已经反映了主表到时间戳时所有对主表的操作。到此刻,二级索引表和主表的数据是完全一致的。
上文描述了本发明是如何通过扫描HLog获取用户对主表的插入和删除操作,以及如何形成相应的对主表的操作,然后由更新主表的进程(主表更新服务模块)完成这些操作,从而保证更新主表分区数据的同时更新二级索引表分区中的数据。
当用户使用二级索引进行查询的时候,如果应用不需要主表和二级索引表之间数据的强一致性,那么就可以直接进行查询,并使用返回的数据即可。如果应用需要确保数据的一致性,那么,可以首先获取二级索引表的时间戳,然后再以该时间戳对二级索引表进行查询,便可以确知返回的查询数据结果与主表数据是一致的。
本发明还提供了一种建立海量数据库二级索引的装置,包括:协处理器Coprocessor,用于为主表创建一个与之对应的二级索引表;分区服务器,用于存储日志文件Hlog,存储日志文件Hlog包括应用对主表的操作记录;二级索引更新服务模块,运行在分区服务器上,用于根据应用对主表的操作记录对二级索引表进行操作;时间戳模块,用于设置或更新二级索引表的时间戳。
所述协处理器Coprocessor以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器中。
所述应用对主表对主表的操作记录的内容包括主表名、操作类型、行地址、列的名字、操作发生时间和值。
所述协处理器Coprocessor通过扫描日志文件Hlog时采用MapReduce算法并发处理日志文件Hlog。
对于每个分区服务器来讲,HLog可能会比较大,为了能够尽可能的缩短二级索引表与主表间数据不一致性的时间,使二级索引表尽快反应主表上的操作,本发明使用MapReduce算法并发处理HLog。映射Map的工作就是前面描述的数据写入的任务,而约束Reduce是不需要的。
每次二级索引更新服务模块扫描HLog的时候,以上次扫描的时间戳的下一条记录为起始点,以当时HLog的最后一项为结束点,然后把起始点和终点之间的HLog的数据项作为MapReduce算法的输入。映射Map的个数可以根据系统的繁忙程度来调整,比如10个映射Map。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.一种建立海量数据库二级索引的方法,其特征在于:包括以下步骤:
S1.为每个主表创建一个与之对应的二级索引表,并为每个二级索表引设置一个时间戳;
S2.扫描分区服务器中的日志文件Hlog,获取应用对主表的操作记录;
S3.根据应用对主表的操作记录对二级索引表进行操作,并更新二级索引表的时间戳。
2.根据权利要求1所述的一种建立海量数据库二级索引的方法,其特征在于:所述步骤S1包括以下子步骤:
S11.设置二级索引表的行键;
S12.获取主表的所有分区信息,得到所有主表分区的起始键;
S13.创建二级索引表;
S14.以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器中;
S15.为二级索引表设置时间戳。
3.根据权利要求2所述的一种建立海量数据库二级索引的方法,其特征在于:所述二级索引表的行键包括四部分,按顺序依次是主表分区起始键、索引名、索引值和主表行键。
4.根据权利要求1所述的一种建立海量数据库二级索引的方法,其特征在于:所述步骤S2中每条操作记录的内容包括主表名、操作类型、行地址、列的名字、操作发生时间和值。
5.根据权利要求1所述的一种建立海量数据库二级索引的方法,其特征在于:所述步骤S3中对二级索引表进行操作的方式为:以列的名字和列的值作为二级索引行键的值,把对主表操作的行键的值作为值。
6.一种建立海量数据库二级索引的装置,其特征在于:包括:
协处理器Coprocessor,用于为主表创建一个与之对应的二级索引表;
分区服务器,用于存储日志文件Hlog,存储日志文件Hlog包括应用对主表的操作记录;
二级索引更新服务模块,运行在分区服务器上,用于根据应用对主表的操作记录对二级索引表进行操作;
时间戳模块,用于设置或更新二级索引表的时间戳。
7.根据权利要求6所述的一种建立海量数据库二级索引的装置,其特征在于:所述协处理器Coprocessor以相同的起始键作为二级索引表分区和主表分区的关联依据,将二级索引表分区和与其对应的主表分区分配到同一个分区服务器中。
8.根据权利要求6所述的一种建立海量数据库二级索引的装置,其特征在于:所述应用对主表对主表的操作记录的内容包括主表名、操作类型、行地址、列的名字、操作发生时间和值。
9.根据权利要求6所述的一种建立海量数据库二级索引的装置,其特征在于:所述协处理器Coprocessor通过扫描日志文件Hlog时采用MapReduce算法并发处理日志文件Hlog。
CN201510942166.XA 2015-12-16 2015-12-16 一种建立海量数据库二级索引的方法和装置 Pending CN105608126A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510942166.XA CN105608126A (zh) 2015-12-16 2015-12-16 一种建立海量数据库二级索引的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510942166.XA CN105608126A (zh) 2015-12-16 2015-12-16 一种建立海量数据库二级索引的方法和装置

Publications (1)

Publication Number Publication Date
CN105608126A true CN105608126A (zh) 2016-05-25

Family

ID=55988066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510942166.XA Pending CN105608126A (zh) 2015-12-16 2015-12-16 一种建立海量数据库二级索引的方法和装置

Country Status (1)

Country Link
CN (1) CN105608126A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427675A (zh) * 2017-02-13 2018-08-21 阿里巴巴集团控股有限公司 构建索引的方法及设备
CN108614836A (zh) * 2016-12-13 2018-10-02 上海仪电(集团)有限公司中央研究院 一种基于Hbase的时空数据管理方法
CN109271097A (zh) * 2017-12-28 2019-01-25 新华三大数据技术有限公司 数据处理方法、数据处理装置和服务器
CN110209884A (zh) * 2018-01-10 2019-09-06 杭州海康威视数字技术股份有限公司 一种索引校对方法和装置
CN110502524A (zh) * 2019-08-15 2019-11-26 济南浪潮数据技术有限公司 一种Phoenix索引数据异步更新方法及装置
CN111198886A (zh) * 2019-12-31 2020-05-26 浙江华云信息科技有限公司 一种构建Hbase二级索引表方法
CN111782589A (zh) * 2020-06-10 2020-10-16 厦门市美亚柏科信息股份有限公司 一种用于操作历史重现的数据模型的构建方法及系统
CN113312353A (zh) * 2021-06-10 2021-08-27 中国民航信息网络股份有限公司 一种跟踪带日志的存储方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120072656A1 (en) * 2010-06-11 2012-03-22 Shrikar Archak Multi-tier caching
CN102750356A (zh) * 2012-06-11 2012-10-24 清华大学 一种键值库辅助索引的构建与管理方法
CN104834688A (zh) * 2015-04-20 2015-08-12 北京奇艺世纪科技有限公司 一种二级索引建立方法和装置
CN104850572A (zh) * 2014-11-18 2015-08-19 中兴通讯股份有限公司 HBase非主键索引构建与查询方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120072656A1 (en) * 2010-06-11 2012-03-22 Shrikar Archak Multi-tier caching
CN102750356A (zh) * 2012-06-11 2012-10-24 清华大学 一种键值库辅助索引的构建与管理方法
CN104850572A (zh) * 2014-11-18 2015-08-19 中兴通讯股份有限公司 HBase非主键索引构建与查询方法及其系统
CN104834688A (zh) * 2015-04-20 2015-08-12 北京奇艺世纪科技有限公司 一种二级索引建立方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵健博: "奇虎HBASE二级索引的设计与实践", 《HTTP://WWW.INFOQ.COM/CN/PRESENTATIONS/QIHOO360-HBASE-TWO-STAGE-INDEX-DESIGN-AND-PRACTICE》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614836A (zh) * 2016-12-13 2018-10-02 上海仪电(集团)有限公司中央研究院 一种基于Hbase的时空数据管理方法
CN108427675A (zh) * 2017-02-13 2018-08-21 阿里巴巴集团控股有限公司 构建索引的方法及设备
CN109271097A (zh) * 2017-12-28 2019-01-25 新华三大数据技术有限公司 数据处理方法、数据处理装置和服务器
CN110209884A (zh) * 2018-01-10 2019-09-06 杭州海康威视数字技术股份有限公司 一种索引校对方法和装置
CN110502524A (zh) * 2019-08-15 2019-11-26 济南浪潮数据技术有限公司 一种Phoenix索引数据异步更新方法及装置
CN111198886A (zh) * 2019-12-31 2020-05-26 浙江华云信息科技有限公司 一种构建Hbase二级索引表方法
CN111782589A (zh) * 2020-06-10 2020-10-16 厦门市美亚柏科信息股份有限公司 一种用于操作历史重现的数据模型的构建方法及系统
CN111782589B (zh) * 2020-06-10 2022-06-10 厦门市美亚柏科信息股份有限公司 一种用于操作历史重现的数据模型的构建方法及系统
CN113312353A (zh) * 2021-06-10 2021-08-27 中国民航信息网络股份有限公司 一种跟踪带日志的存储方法及系统
CN113312353B (zh) * 2021-06-10 2024-06-04 中国民航信息网络股份有限公司 一种跟踪带日志的存储方法及系统

Similar Documents

Publication Publication Date Title
CN105608126A (zh) 一种建立海量数据库二级索引的方法和装置
US11314701B2 (en) Resharding method and system for a distributed storage system
CN108052681B (zh) 一种关系型数据库间结构化数据的同步方法及系统
CN105243067B (zh) 一种实现实时增量同步数据的方法及装置
CN111324610A (zh) 一种数据同步的方法及装置
CN112286941B (zh) 一种基于Binlog+HBase+Hive的大数据同步方法和装置
CN111258978A (zh) 一种数据存储的方法
CN111651519B (zh) 数据同步方法、数据同步装置、电子设备及存储介质
CN102272751B (zh) 在数据库环境通过背景同步的数据完整性
CN103942205A (zh) 存储、读取目录索引的方法、装置及系统
CN113177090A (zh) 数据处理方法及装置
CN116414801A (zh) 数据迁移方法、装置、计算机设备和存储介质
CN106780157B (zh) 基于Ceph的电网多时态模型存储与管理系统及方法
CN106874343B (zh) 一种时序数据库的数据删除方法及系统
CN114416868B (zh) 一种数据同步方法、装置、设备及存储介质
CN104063468A (zh) 一种数据报表自动生成及提取方法及装置
CN101645073A (zh) 一种将已有数据库文件导入嵌入式数据库的方法
CN110704442A (zh) 一种大数据的实时获取方法及装置
CN102724301B (zh) 云数据库系统以及云数据读写处理方法、设备
CN117235028A (zh) 一种基于日志文件的数据查询方法和装置
CN116737113A (zh) 面向海量科学数据的元数据目录管理系统及方法
CN110222105B (zh) 数据汇总处理方法及装置
CN111143357A (zh) 一种基于共享内存的高速数据查询平台
CN113950145B (zh) 数据处理方法及装置
CN115544096B (zh) 数据查询方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160525

RJ01 Rejection of invention patent application after publication