CN104834688A - 一种二级索引建立方法和装置 - Google Patents

一种二级索引建立方法和装置 Download PDF

Info

Publication number
CN104834688A
CN104834688A CN201510188507.9A CN201510188507A CN104834688A CN 104834688 A CN104834688 A CN 104834688A CN 201510188507 A CN201510188507 A CN 201510188507A CN 104834688 A CN104834688 A CN 104834688A
Authority
CN
China
Prior art keywords
index
data
row data
marker bit
database
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
CN201510188507.9A
Other languages
English (en)
Other versions
CN104834688B (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201510188507.9A priority Critical patent/CN104834688B/zh
Publication of CN104834688A publication Critical patent/CN104834688A/zh
Application granted granted Critical
Publication of CN104834688B publication Critical patent/CN104834688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明实施例提供了一种二级索引建立方法及装置。该二级索引建立方法包括:索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引;扫描所述数据库中行数据的标记位,所述标记位用于标记其对应行数据的变化情况;根据所述行数据的标记位处理所述行数据的索引。本发明实施例通过对数据库中的每行数据建立二级索引,尤其通过使用elasticsearch和标记位,在不影响HBase性能和不修改HBase内核的前提下,实现了对HBase的二级索引,并实现了对大规模数据的支持。

Description

一种二级索引建立方法和装置
技术领域
本发明涉及数据库技术领域,特别是涉及一种二级索引建立方法和一种二级索引建立装置。
背景技术
HBase是一个分布式的、面向列的开源数据库。HBase在根据rowkey查找数据的效率很高,但是根据column内容查找符合条件的行一般采取全表扫描的方式,效率很低。因此需要对HBase建立二级索引加快查找速度。
现有的一种对HBase建立二级索引的方法是在客户端实现索引,建立索引的方式包括使用solr/nutch/lucene等开源工具,或者是在HBase中建立一张索引表。该方法中索引的建立和使用是伴随着客户端创建索引和写实际数据进行的,在HBase中进行数据更新时,例如向HBase中插入新的数据,除了需要向HBase表中添加数据之外,还需要同时对数据单独建立索引。
虽然,利用上述二级索引可以加快数据查找速度,尤其是在根据column内容查找符合条件的行数据的时候。然而,上述建立二级索引的方式对于大规模数据的支持能力较低。
发明内容
本发明实施例所要解决的技术问题是提供一种二级索引建立方法,能够提高对大规模数据的支持能力。
相应的,本发明实施例还提供了一种二级索引建立装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种二级索引建立方法,包括:
索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引;
扫描所述数据库中行数据的标记位,所述标记位用于标记其对应行数据的变化情况;
根据所述行数据的标记位处理所述行数据的索引。
进一步,所述根据所述行数据的标记位处理所述行数据的索引,包括:
当所述行数据的标记位表征所述行数据为新增数据时,读取所述行数据,并添加所述行数据的索引。
进一步,所述根据所述行数据的标记位处理所述行数据的索引,包括:
当所述行数据的标记位表征所述行数据为改动数据时,读取所述行数据,并更新所述行数据对应的索引。
进一步,所述根据所述行数据的标记位处理所述行数据的索引,包括:
当所述行数据的标记位表征所述行数据为需删除数据时,删除所述行数据对应的索引。
进一步,所述索引的索引标识为所述索引对应的行数据的Rowkey。
进一步,所述扫描所述数据库中行数据的标记位,包括:
根据预设时间间隔扫描所述数据库中行数据的标记位。
进一步,所述对数据库全表进行扫描,并对每一行数据建立一个索引,包括:
对数据库全表进行扫描,并对每一行数据在elasticsearch中建立一个索引。
本发明实施例还公开了一种数据查询方法,所述方法应用于按照前述方法建立的二级索引,所述数据查询方法包括:
在所述二级索引中搜索满足指定条件的数据;
确定所述满足指定条件的数据对应的索引;
根据索引与行数据的对应关系,读取与确定出的索引相对应的行数据。
本发明实施例还公开了一种二级索引建立装置,包括:
初始化单元,用于索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引;
扫描单元,用于扫描所述数据库中行数据的标记位,所述标记位用于标记其对应行数据的变化情况;
索引更新单元,用于根据所述行数据的标记位处理所述行数据的索引。
进一步,所述索引更新单元,具体用于当所述行数据的标记位表征所述行数据为新增数据时,读取所述行数据,并添加所述行数据的索引。
进一步,所述索引更新单元,具体用于当所述行数据的标记位表征所述行数据为改动数据时,读取所述行数据,并更新所述行数据对应的索引。
进一步,所述索引更新单元,具体用于当所述行数据的标记位表征所述行数据为需删除数据时,删除所述行数据对应的索引。
进一步,所述索引的索引标识为所述索引对应的行数据的Rowkey。
进一步,所述扫描单元,具体用于根据预设时间间隔扫描所述数据库中行数据的标记位。
进一步,所述初始化单元,具体用于对数据库全表进行扫描,并对每一行数据在elasticsearch中建立一个索引。
本发明实施例还公开了一种数据查询装置,所述装置应用于前述的二级索引建立装置,所述数据查询装置包括:
搜索单元,用于在建立的二级索引中搜索满足指定条件的数据;
索引确定单元,用于确定所述满足指定条件的数据对应的索引;
数据读取单元,用于根据索引与行数据的对应关系,读取与确定出的索引相对应的行数据。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例通过对数据库中的每行数据建立二级索引,尤其通过使用elasticsearch和标记位,在不影响HBase性能和不修改HBase内核的前提下,实现了对HBase的二级索引,并实现了对大规模数据的支持。
并且,现有技术中建立索引的方式往往需要在HBase中插入数据的同时建立该数据的索引,即需要对数据进行“双写”,如果其中之一写数据或更改数据不成功,就会发生数据不一致的情况,而本发明实施例通过增设行数据的标记位,在向HBase表添加或修改数据时对标记位进行标记,并且通过不断扫描标记位对elasticsearch中的索引进行添加或者更新,使得对HBase表的数据修改和对索引的修改可以分开进行,不仅避免了由于写数据失败造成的数据不一致,而且该索引的建立不依赖于HBase的Observer或者其他内部模块,对HBase的不同版本也没有特殊的要求,适用范围更广。
还可以通过设置对标记位的扫描时间间隔,避免了每次修改HBase的一条数据时立即更新elasticsearch而导致的低效问题。
附图说明
图1是本发明的一种二级索引建立方法实施例的步骤流程图;
图2是本发明的另一种二级索引建立方法实施例的步骤流程图;
图3是本发明的一种数据查询方法实施例的步骤流程图;
图4是本发明的一种二级索引建立装置实施例的结构框图;
图5是本发明一种数据查询装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种二级索引建立方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引。
本发明实施例中,二级索引建立装置可以独立设置,也可以设置在搜索服务器内,例如elasticsearch服务器内。该装置可以与建立二级索引的数据库进行交互。
以HBase数据库为例,在建立Hbase的二级索引时,首先进行索引初始化,即对HBase全表进行扫描,读取每行数据,并对每行数据建立一个索引,也就是二级索引。
具体地,可以利用elasticsearch来建立二级索引。elasticsearch是一个基于Lucene的开源分布式实时搜索和数据分析工具,它可以快速的对数据建立倒排索引,进行数据分析,并且提供实时的检索功能。elasticsearch在处理大规模数据方面具有很大优势,已经在很多大型网站的搜索方面得到应用,能够处理TB甚至PB级别的数据,可扩展能力强。
本步骤可以对HBase全表进行扫描,将HBase的每行数据放入elasticsearch中,并对每一行数据在elasticsearch中建立一个索引。
其中,每个索引对应一个唯一索引标识id,根据上述对应关系,HBase每行数据的Rowkey与索引标识id一一对应。为了便于数据更新和查找,可以直接将行数据的Rowkey设置为对应索引的索引标识id。
步骤102,扫描数据库中行数据的标记位,标记位用于标记其对应行数据的变化情况。
本实施例中,对HBase中的每个Rowkey对应维护一块内存区域,在其中增设Rowkey对应的标记位,该标记位用于标记其对应行数据的变化情况,例如,增加数据,更新数据,删除数据等。
对于不同的变化情况可以设置不同的标记位以便于在扫描到行数据的标记位时,可以获知该行数据的变化情况具体是哪种情况。例如,标记位为0表征行数据未变动,标记位为1表征行数据更新等。
在上步骤二级索引建立并初始化以后,在本步骤中,可以实时或定时扫描HBase中每个行数据的标记位,然后根据标记位的值获知在上一次扫描之后,各行数据的变化情况。在每次扫描结束之后可以将行数据的标记位自动恢复至初始状态,表征本次扫描结束,数据变化情况已统计,后续根据下一次扫描到来之前各行数据的变化情况变更各行数据的标记位。当然,标记位的数值设置规则可以根据需要变更,只要根据标记位可以获知行数据的变化情况即可。
另外,由于每次更新elasticsearch都会建立与集群的连接,花费时间较长,很可能HBase更新完很久,elasticsearch还在提交数据更新,为了避免了每次更新HBase的一条数据时立即更新elasticsearch导致的低效问题,本步骤中可以设置扫描的时间间隔,然后根据预设时间间隔扫描数据库中行数据的标记位。
该扫描的时间间隔取决于系统对实时性的要求的高低,如果对实时性要求较高,可以缩短时间间隔以达到近实时的索引效果。
步骤103,根据行数据的标记位处理行数据的索引。
本步骤可以根据行数据的标记位确定行数据的变化情况,然后根据行数据的变化情况处理行数据对应的索引,该处理可能是添加索引,或更新索引,或删除索引等,具体请参见后续实施例的描述。
本发明实施例通过对数据库中的每行数据建立二级索引,尤其通过使用elasticsearch和标记位,在不影响HBase性能和不修改HBase内核的前提下,实现了对HBase的二级索引,并实现了对大规模数据的支持。
并且,现有技术中建立索引的方式往往需要在HBase中插入数据的同时建立该数据的索引,即需要对数据进行“双写”,如果其中之一写数据或更改数据不成功,就会发生数据不一致的情况,而本发明实施例通过增设行数据的标记位,在向HBase表添加或修改数据时对标记位进行标记,并且通过不断扫描标记位对elasticsearch中的索引进行添加或者更新,使得对HBase表的数据修改和对索引的修改可以分开进行,不仅避免了由于写数据失败造成的数据不一致,而且该索引的建立不依赖于HBase的Observer或者其他内部模块,对HBase的不同版本也没有特殊的要求,适用范围更广。
在其它实施例中,还可以通过设置对标记位的扫描时间间隔,避免了每次修改HBase的一条数据时立即更新elasticsearch而导致的低效问题。
参照图2,示出了本发明的另一种二级索引建立方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引。
步骤202,扫描数据库中行数据的标记位,标记位用于标记其对应行数据的变化情况。
以上两步骤与前述实施例中的步骤101~102类似,此处不再赘述。
在扫描每行数据的标记位之后,若行数据的标记位表征该行数据为新增数据,则执行步骤203;若行数据的标记位表征该行数据为改动数据,则执行步骤204;若行数据的标记位表征该行数据为需删除数据,则执行步骤205。
具体的,可以对每个行数据对应的索引进行单独处理,也可以在获得所有行数据的变化情况后,对elasticsearch中的索引进行批量处理。
步骤203,读取行数据,并添加行数据的索引。
当扫描到的行数据的标记位表征该行数据为新增数据时,由于elasticsearch中不存在这条数据,需要根据行数据对应的Rowkey取出该行数据,将该行数据放在elasticsearch中,并添加该行数据对应的新的索引,该索引的索引标识id可以设置为该行数据的Rowkey。
步骤204,读取行数据,并更新行数据对应的索引。
当扫描到的行数据的标记位表征该行数据为改动数据或更新数据时,则根据该行数据的Rowkey与索引标识id的对应关系确定出对应的索引,然后根据行数据对应的Rowkey取出该行数据,更新该行数据对应的索引,该索引的索引标识id仍然为该行数据的Rowkey不变。
步骤205,删除行数据对应的索引。
当需要对HBase中的行数据进行删除时,由于HBase中的数据比较重要,对HBase中的行数据并不进行物理删除,而是通过标记位标记该行数据为删除数据。当扫描到的行数据的标记位表征该行数据为删除数据时,根据该行数据的Rowkey与索引标识id的对应关系确定出对应的索引,然后删除该索引。
本实施例通过扫描行数据的标记位,对elasticsearch中的索引进行添加或更新或删除等动作,使得对HBase表的数据修改和对索引的修改分开进行,该索引的建立并不依赖于HBase的Observer或者其他内部模块,对HBase的不同版本也没有特殊的要求,适用范围更广。
参照图3,示出了本发明的一种数据查询方法实施例的步骤流程图。
该数据查询方法应用于按照前述实施例方法建立的二级索引。该数据查询方法具体可以包括如下步骤:
步骤301,在二级索引中搜索满足指定条件的数据。
在HBase中查找满足指定条件的数据时,例如要查找符合某些条件的column或者column family中的数据时,首先二级索引中搜索该数据。
步骤302,确定满足指定条件的数据对应的索引。
在搜索到该数据后,即可在二级索引中确定出该数据对应的索引,同时可以获知该索引的索引标识id。
步骤303,根据索引与行数据的对应关系,读取与确定出的索引相对应的行数据。
在本步骤中即可根据索引与行数据的一一对应关系,读取该索引对应的行数据,具体的,可以根据索引标识id获知对应的Rowkey,然后根据Rowkey在HBase中读取对应的行数据。
本发明实施例在查找HBase中的数据时,尤其根据HBase的非rowkey列获取需要的数据时,可以通过二级索引快速获得该数据的索引对应的Rowkey,进而可以在HBase中根据Rowkey快速查找到需要的数据,该方法由现有的全表扫描变为数据检索,从而提高了数据查找速度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明一种二级索引建立装置实施例的结构框图,具体可以包括如下单元:
初始化单元401,用于索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引。
扫描单元402,用于扫描所述数据库中行数据的标记位,所述标记位用于标记其对应行数据的变化情况。
索引更新单元403,用于根据所述行数据的标记位处理所述行数据的索引。
该初始化单元401,具体可以用于对数据库全表进行扫描,并对每一行数据在elasticsearch中建立一个索引。
本发明实施例通过上述单元对数据库中的每行数据建立二级索引,尤其通过使用elasticsearch和标记位,在不影响HBase性能和不修改HBase内核的前提下,实现了对HBase的二级索引,并实现了对大规模数据的支持。
而且,通过增设行数据的标记位,在向HBase表添加或修改数据时对标记位进行标记,并且通过不断扫描标记位对elasticsearch中的索引进行添加或者更新,使得对HBase表的数据修改和对索引的修改分开进行,该索引的建立并不依赖于HBase的Observer或者其他内部模块,对HBase的不同版本也没有特殊的要求,适用范围更广。
在本发明的另一实施例中,索引更新单元403,具体用于当所述行数据的标记位表征所述行数据为新增数据时,读取所述行数据,并添加所述行数据的索引。
在本发明的另一实施例中,索引更新单元403,具体用于当所述行数据的标记位表征所述行数据为改动数据时,读取所述行数据,并更新所述行数据对应的索引。
在本发明的另一实施例中,索引更新单元403,具体用于当所述行数据的标记位表征所述行数据为需删除数据时,删除所述行数据对应的索引。
在本发明的另一实施例中,上述索引的索引标识可以设置为索引对应的行数据的Rowkey,以便于数据的查询和更新。
在本发明的另一实施例中,扫描单元402,具体用于根据预设时间间隔扫描所述数据库中行数据的标记位。
通过设置对标记位的扫描时间间隔,避免了每次修改HBase的一条数据时立即更新elasticsearch而导致的低效问题。
参照图5,示出了本发明一种数据查询装置实施例的结构框图。
该数据查询装置应用于前述实施例中的二级索引建立装置。该数据查询装置具体可以包括如下单元:
搜索单元501,用于在建立的二级索引中搜索满足指定条件的数据。
索引确定单元502,用于确定所述满足指定条件的数据对应的索引。
数据读取单元503,用于根据索引与行数据的对应关系,读取与确定出的索引相对应的行数据。
本发明实施例通过上述单元在查找HBase中的数据时,尤其根据HBase的非rowkey列获取需要的数据时,可以通过二级索引快速获得该数据的索引对应的Rowkey,进而可以在HBase中根据Rowkey快速查找到需要的数据,该装置由现有的全表扫描变为数据检索,从而提高了数据查找速度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种二级索引建立方法和一种二级索引建立装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种二级索引建立方法,其特征在于,包括:
索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引;
扫描所述数据库中行数据的标记位,所述标记位用于标记其对应行数据的变化情况;
根据所述行数据的标记位处理所述行数据的索引。
2.根据权利要求1所述的方法,其特征在于,所述根据所述行数据的标记位处理所述行数据的索引,包括:
当所述行数据的标记位表征所述行数据为新增数据时,读取所述行数据,并添加所述行数据的索引。
3.根据权利要求1所述的方法,其特征在于,所述根据所述行数据的标记位处理所述行数据的索引,包括:
当所述行数据的标记位表征所述行数据为改动数据时,读取所述行数据,并更新所述行数据对应的索引。
4.根据权利要求1所述的方法,其特征在于,所述根据所述行数据的标记位处理所述行数据的索引,包括:
当所述行数据的标记位表征所述行数据为需删除数据时,删除所述行数据对应的索引。
5.根据权利要求1所述的方法,其特征在于,所述索引的索引标识为所述索引对应的行数据的Rowkey。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述扫描所述数据库中行数据的标记位,包括:
根据预设时间间隔扫描所述数据库中行数据的标记位。
7.根据权利要求1至5中任意一项所述的方法,其特征在于,所述对数据库全表进行扫描,并对每一行数据建立一个索引,包括:
对数据库全表进行扫描,并对每一行数据在elasticsearch中建立一个索引。
8.一种数据查询方法,其特征在于,所述方法应用于按照如权利要求1至7中任意一项所述的方法建立的二级索引,所述数据查询方法包括:
在所述二级索引中搜索满足指定条件的数据;
确定所述满足指定条件的数据对应的索引;
根据索引与行数据的对应关系,读取与确定出的索引相对应的行数据。
9.一种二级索引建立装置,其特征在于,包括:
初始化单元,用于索引初始化,包括:对数据库全表进行扫描,并对每一行数据建立一个索引;
扫描单元,用于扫描所述数据库中行数据的标记位,所述标记位用于标记其对应行数据的变化情况;
索引更新单元,用于根据所述行数据的标记位处理所述行数据的索引。
10.根据权利要求9所述的装置,其特征在于,
所述索引更新单元,具体用于当所述行数据的标记位表征所述行数据为新增数据时,读取所述行数据,并添加所述行数据的索引。
11.根据权利要求9所述的装置,其特征在于,
所述索引更新单元,具体用于当所述行数据的标记位表征所述行数据为改动数据时,读取所述行数据,并更新所述行数据对应的索引。
12.根据权利要求9所述的装置,其特征在于,
所述索引更新单元,具体用于当所述行数据的标记位表征所述行数据为需删除数据时,删除所述行数据对应的索引。
13.根据权利要求9所述的装置,其特征在于,所述索引的索引标识为所述索引对应的行数据的Rowkey。
14.根据权利要求9至13中任意一项所述的装置,其特征在于,
所述扫描单元,具体用于根据预设时间间隔扫描所述数据库中行数据的标记位。
15.根据权利要求9至13中任意一项所述的装置,其特征在于,
所述初始化单元,具体用于对数据库全表进行扫描,并对每一行数据在elasticsearch中建立一个索引。
16.一种数据查询装置,其特征在于,所述装置应用于如权利要求9至15中任意一项所述的二级索引建立装置,所述数据查询装置包括:
搜索单元,用于在建立的二级索引中搜索满足指定条件的数据;
索引确定单元,用于确定所述满足指定条件的数据对应的索引;
数据读取单元,用于根据索引与行数据的对应关系,读取与确定出的索引相对应的行数据。
CN201510188507.9A 2015-04-20 2015-04-20 一种二级索引建立方法和装置 Active CN104834688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510188507.9A CN104834688B (zh) 2015-04-20 2015-04-20 一种二级索引建立方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510188507.9A CN104834688B (zh) 2015-04-20 2015-04-20 一种二级索引建立方法和装置

Publications (2)

Publication Number Publication Date
CN104834688A true CN104834688A (zh) 2015-08-12
CN104834688B CN104834688B (zh) 2019-10-08

Family

ID=53812575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510188507.9A Active CN104834688B (zh) 2015-04-20 2015-04-20 一种二级索引建立方法和装置

Country Status (1)

Country Link
CN (1) CN104834688B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069151A (zh) * 2015-08-24 2015-11-18 用友网络科技股份有限公司 HBase二级索引构建装置和方法
CN105608126A (zh) * 2015-12-16 2016-05-25 成都创智云科技股份有限公司 一种建立海量数据库二级索引的方法和装置
CN106156271A (zh) * 2016-06-20 2016-11-23 南京航空航天大学 基于分布式存储的关联信息索引系统及其建立与使用方法
CN106202207A (zh) * 2016-06-28 2016-12-07 中国电子科技集团公司第二十八研究所 一种基于HBase‑ORM的索引及检索系统
CN106294814A (zh) * 2016-08-16 2017-01-04 上海欣方软件有限公司 基于内存数据库的HBase二级索引构建与查询的装置及方法
CN106326429A (zh) * 2016-08-25 2017-01-11 武汉光谷信息技术股份有限公司 一种基于solr的Hbase秒级查询方案
CN106383860A (zh) * 2016-08-31 2017-02-08 无锡雅座在线科技发展有限公司 数据查询方法及装置
CN106570036A (zh) * 2015-10-13 2017-04-19 北京国双科技有限公司 基于HBase数据库的数据添加方法和装置
CN107169083A (zh) * 2017-05-11 2017-09-15 聚龙融创科技有限公司 公安卡口海量车辆数据存储与检索方法及装置、电子设备
CN107291768A (zh) * 2016-04-11 2017-10-24 阿里巴巴集团控股有限公司 一种索引建立的方法及装置
CN107291964A (zh) * 2017-08-16 2017-10-24 南京华飞数据技术有限公司 一种基于HBase实现模糊查询的方法
CN107506464A (zh) * 2017-08-30 2017-12-22 武汉烽火众智数字技术有限责任公司 一种基于ES实现HBase二级索引的方法
CN108062329A (zh) * 2016-11-08 2018-05-22 北京国双科技有限公司 一种数据导入方法及装置
CN108681558A (zh) * 2018-04-10 2018-10-19 阿里巴巴集团控股有限公司 一种数据回滚方法、装置、及终端
CN109086451A (zh) * 2018-08-24 2018-12-25 江苏神州信源系统工程有限公司 一种图片存储与检索方法与装置
CN110502524A (zh) * 2019-08-15 2019-11-26 济南浪潮数据技术有限公司 一种Phoenix索引数据异步更新方法及装置
CN113704267A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 基于ElasticSearch的数据查询方法、系统、设备及存储介质
CN116541427A (zh) * 2023-06-30 2023-08-04 腾讯科技(深圳)有限公司 数据查询方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713176A (zh) * 2004-06-24 2005-12-28 华夏科技股份有限公司 动态对象存取系统及方法
US20070143688A1 (en) * 2005-12-20 2007-06-21 Cheng Jian H System and method for mark and navigation to facilitate content view
CN103714090A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 多索引数据库事务处理方法及数据库
CN104112013A (zh) * 2014-07-17 2014-10-22 浪潮(北京)电子信息产业有限公司 HBase二级索引方法及装置
CN104217011A (zh) * 2014-09-19 2014-12-17 浪潮(北京)电子信息产业有限公司 HBase二级索引表的查询方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713176A (zh) * 2004-06-24 2005-12-28 华夏科技股份有限公司 动态对象存取系统及方法
US20070143688A1 (en) * 2005-12-20 2007-06-21 Cheng Jian H System and method for mark and navigation to facilitate content view
CN103714090A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 多索引数据库事务处理方法及数据库
CN104112013A (zh) * 2014-07-17 2014-10-22 浪潮(北京)电子信息产业有限公司 HBase二级索引方法及装置
CN104217011A (zh) * 2014-09-19 2014-12-17 浪潮(北京)电子信息产业有限公司 HBase二级索引表的查询方法和装置

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069151A (zh) * 2015-08-24 2015-11-18 用友网络科技股份有限公司 HBase二级索引构建装置和方法
CN106570036B (zh) * 2015-10-13 2019-11-12 北京国双科技有限公司 基于HBase数据库的数据添加方法和装置
CN106570036A (zh) * 2015-10-13 2017-04-19 北京国双科技有限公司 基于HBase数据库的数据添加方法和装置
CN105608126A (zh) * 2015-12-16 2016-05-25 成都创智云科技股份有限公司 一种建立海量数据库二级索引的方法和装置
CN107291768A (zh) * 2016-04-11 2017-10-24 阿里巴巴集团控股有限公司 一种索引建立的方法及装置
CN106156271A (zh) * 2016-06-20 2016-11-23 南京航空航天大学 基于分布式存储的关联信息索引系统及其建立与使用方法
CN106202207A (zh) * 2016-06-28 2016-12-07 中国电子科技集团公司第二十八研究所 一种基于HBase‑ORM的索引及检索系统
CN106294814A (zh) * 2016-08-16 2017-01-04 上海欣方软件有限公司 基于内存数据库的HBase二级索引构建与查询的装置及方法
CN106294814B (zh) * 2016-08-16 2019-09-20 上海欣方软件有限公司 基于内存数据库的HBase二级索引构建与查询的装置及方法
CN106326429A (zh) * 2016-08-25 2017-01-11 武汉光谷信息技术股份有限公司 一种基于solr的Hbase秒级查询方案
CN106383860A (zh) * 2016-08-31 2017-02-08 无锡雅座在线科技发展有限公司 数据查询方法及装置
CN108062329A (zh) * 2016-11-08 2018-05-22 北京国双科技有限公司 一种数据导入方法及装置
CN107169083B (zh) * 2017-05-11 2020-03-31 聚龙融创科技有限公司 公安卡口海量车辆数据存储与检索方法及装置、电子设备
CN107169083A (zh) * 2017-05-11 2017-09-15 聚龙融创科技有限公司 公安卡口海量车辆数据存储与检索方法及装置、电子设备
CN107291964B (zh) * 2017-08-16 2019-11-15 南京华飞数据技术有限公司 一种基于HBase实现模糊查询的方法
CN107291964A (zh) * 2017-08-16 2017-10-24 南京华飞数据技术有限公司 一种基于HBase实现模糊查询的方法
CN107506464A (zh) * 2017-08-30 2017-12-22 武汉烽火众智数字技术有限责任公司 一种基于ES实现HBase二级索引的方法
CN108681558A (zh) * 2018-04-10 2018-10-19 阿里巴巴集团控股有限公司 一种数据回滚方法、装置、及终端
CN109086451A (zh) * 2018-08-24 2018-12-25 江苏神州信源系统工程有限公司 一种图片存储与检索方法与装置
CN110502524A (zh) * 2019-08-15 2019-11-26 济南浪潮数据技术有限公司 一种Phoenix索引数据异步更新方法及装置
CN113704267A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 基于ElasticSearch的数据查询方法、系统、设备及存储介质
CN116541427A (zh) * 2023-06-30 2023-08-04 腾讯科技(深圳)有限公司 数据查询方法、装置、设备及存储介质
CN116541427B (zh) * 2023-06-30 2023-11-14 腾讯科技(深圳)有限公司 数据查询方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN104834688B (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN104834688A (zh) 一种二级索引建立方法和装置
US10282439B2 (en) Storing and querying multidimensional data using first and second indicies
CN107704202B (zh) 一种数据快速读写的方法和装置
CN106649412B (zh) 一种数据处理方法和设备
CN105095287A (zh) Lsm数据合并排序方法和装置
CN103902702A (zh) 一种数据存储系统和存储方法
CN108563697B (zh) 一种数据处理方法、装置和存储介质
US20170060908A1 (en) Method for storing data elements in a database
CN102033948A (zh) 一种数据更新方法和装置
CN104657387A (zh) 一种数据查询方法及装置
CN108415934B (zh) 一种Hive表修复方法、装置、设备及计算机可读存储介质
CN104598550A (zh) 一种网络视频索引的更新方法和装置
CN104461384A (zh) 一种数据写入方法及存储设备
CN103150145A (zh) 数据仓库环境中的语义分组数据的并行处理
CN103810099A (zh) 代码跟踪方法及其系统
WO2016155387A1 (zh) 基于移动终端的插件管理方法及装置
CN103092886A (zh) 一种数据查询操作的实现方法、装置及系统
US11509662B2 (en) Method, device and computer program product for processing access management rights
CN104573112A (zh) Oltp集群数据库中页面查询方法及数据处理节点
CN104484413A (zh) 一种获得搜索结果的方法和装置
CN113485980A (zh) 数据处理方法、装置、电子设备及存储介质
CN105630778A (zh) 数据库数据迁移方法及系统
CN109542860B (zh) 基于hdfs的业务数据管理方法、终端设备
CN109542912B (zh) 区间数据存储方法、装置、服务器及存储介质
CN113032349A (zh) 数据存储方法、装置、电子设备及计算机可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant