CN103942289A - 一种Hadoop上面向范围查询的内存缓存方法 - Google Patents
一种Hadoop上面向范围查询的内存缓存方法 Download PDFInfo
- Publication number
- CN103942289A CN103942289A CN201410144808.7A CN201410144808A CN103942289A CN 103942289 A CN103942289 A CN 103942289A CN 201410144808 A CN201410144808 A CN 201410144808A CN 103942289 A CN103942289 A CN 103942289A
- Authority
- CN
- China
- Prior art keywords
- data
- data fragmentation
- burst
- fragmentation
- hadoop
- 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
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Abstract
本发明公开了一种Hadoop上面向范围查询的内存缓存方法,包括如下步骤:1)在Hadoop海量数据的查询属性上建立索引,将索引存放在HBase上;2)在HBase索引数据上建立内存分片缓存,选择频繁被访问的索引数据缓存在内存中,数据分片的划分在初始阶段采用固定长度等分方法,同时采用跳表(skiplist)组织众多的数据分片;3)根据数据查询记录命中数据,采用指数平滑方法衡量数据分片热度;4)更新内存缓存。本发明的优点是采用跳表和集合相结合的结构,在此结构上支持动态调整集合的分片边界,使数据分片自适应查询需求,提高热点数据分片的查询缓存命中率,降低查询访问磁盘的开销,从而大幅度提高范围查询的性能。
Description
技术领域
本发明涉及信息技术,特别是大数据的查询技术,具体是一种Hadoop(由阿帕奇(Apache)基金会开发的开源分布式并行体系架构)上面向范围查询的内存缓存方法。
背景技术
海量数据存储和查询技术这几年取得了长足的发展,从Google(谷歌)提出的NoSQL(非关系数据模型)数据存储bigtable(谷歌的非关系数据存储系统)后,目前有十几种有影响的NoSQL数据库产品,例如Hadoop HBase(Hadoop分布式并行体系架构中的非关系数据存储系统),Yahoo PNUTS(雅虎的非关系数据存储系统),Hadoop Cassandra(以前是脸谱(Facebook)的非关系数据存储系统,后被Hadoop收购成为开源项目),Amazon Dynamo(亚马逊的非关系数据存储系统),还有Hypertable(Hypertable开发的开源分布式数据存储系统),Azure(微软的非关系数据存储系统),CouchDB(面向文档的数据库系统),Voldemort(开源的分布式数据存储系统,是亚马逊Dynamo的开源实现),MongoDB(基于分布式文件的数据存储系统)等等。
NoSQL数据存储在Web 2.0出现之后应运而生,面向海量Web数据的特点:数据体量大、数据不遵守关系模式、信息价值密度低,并且对数据存储的容错性和可扩展性要求高。以HBase为例,它是以列族(column family)为单位实现的列存储数据库,一个列族内没有必须包含的列,每个列族中具体有哪些列不必事先知道,可以在需要的时候添加。HBase是建立在分布式文件系统HDFS(Hadoop分布式文件系统)上的,HDFS是借鉴了Google GFS(谷歌的分布式文件系统)实现的开源分布式文件系统,它依靠文件多副本提供良好的容错性,任何数据文件损坏都会在主控节点(NameNode)的调度下迅速再建立一个完好的副本。可扩展性也是GFS和HDFS的优势,计算节点通过和主控节点的心跳通信可以随时加入和退出集群。
范围查询是区别于点查询的查询需求,点查询用关系数据库中的SQL(Structured Query Language数据库的结构化查询语言)语句可以表达为select…from…where cond=x;而范围查询的SQL表达会有如下情况:
select…from…where cond > x;
select…from…where cond < x;
select…from…where cond > x1 and cond < x2;
select…from…where cond > x1 or cond < x2;
当然,范围查询不局限于以上情况,可能是以上情况的组合。总之,范围查询的查询条件是满足查询属性上的一个指定范围,而不是一个指定的单值。
海量数据上的范围查询是一项具有挑战性的工作,主键上的范围查询依赖于数据库的物理存储特性,HBase将数据划分成多个分区(Region)存储,每个分区维护行键(RowKey)连续的一段记录,所以HBase在支持主键上的范围查询性能是不错的。随着内存存储性能的提升和价格的不断下降,数据库领域常用的内存缓存方法在海量数据查询领域也在不断的发挥作用,HBase针对数据读写也提供了缓存方法,这种缓存方法是针对所有读写请求的热点缓存机制,是以数据块(64KB)为单位的,不能针对特定数据上的特定查询需求建立缓存,也不能调整缓存粒度。此外,HBase现有的缓存机制对热点数据的衡量采用简单的最近最少使用(LRU)算法,没有考虑数据的历史访问规律,容易出现数据频繁调入调出内存的颠簸现象。
发明内容
本发明的目的是为克服现有技术的不足,提供一种Hadoop上面向范围查询的内存缓存方法,这种方法可以提高范围查询的内存缓存命中率, 降低查询访问磁盘的开销,从而大幅度提高范围查询的性能。
实现本发明目的的技术方案是:
一种Hadoop上面向范围查询的内存缓存方法,包括如下步骤:
1)在Hadoop海量数据的查询属性上建立索引,将索引存放在HBase上;
2)在HBase索引数据上建立内存分片缓存,选择频繁被访问的索引数据缓存在内存中,数据分片的划分在初始阶段采用固定长度等分方法,同时采用跳表(skiplist)组织众多的数据分片;
3)根据数据查询记录命中数据,采用指数平滑方法衡量数据分片热度;
4)更新内存缓存。
所述的跳表是一种随机化的数据结构,跳表的节点在逻辑上是分层的,最底层是包含所有节点的链表,自底向上跳表的“跳动步幅”越来越大,在物理存储上,跳表中的节点只存储一次,跳表的TOP节点是整个跳表的查询起始节点,出现在跳表上层的节点具有更多的指针,TOP节点保存跳表的数据起止范围和跳表访问计数戳(VisitStamp),跳表访问计数戳在每次查询到来时加1,查询命中的分片会打上本次查询的计数戳(LastStamp,简称LstS);跳表查询的时间复杂度可以达到log(n),并且支持高并发的多线程读写。
所述的跳表的节点是保存所有数据分片的元数据信息点,数据分片包含热数据分片和冷数据分片,热数据分片和冷数据分片都有对应的跳表节点记录元数据信息,热数据分片对应的数据会缓存到内存中,冷数据分片对应的数据不会缓存到内存中。
所述的元数据信息包括:关键字key,即数据分片左边界、保存最近一次命中该数据分片查询的计数戳LastStamp、每次查询命中的数据分片记录TOP节点本次传递过来的VisitStamp,写入LastStamp、保存最近数据分片热度LastHotScore、访问次数VisitCount、数据分片的满空标志(F/E)。
所述的数据分片热度为:HotScore = (1-α)(VisitStamp-LastVisitStamp)*LastHotScore +α*(HitItemNumber/TotalItemNumber);其中HotScore是当前的分片热度,LastHotScore是上一次命中分片时计算的热度,α是指数平滑因子,通常取值为0.01-0.10,LastHotScore以每次查询(1-α)的速率衰减,本次访问距离上次访问经过了(VisitStamp-LastVisitStamp)次查询,衰减因子为(1-α)(VisitStamp-LastVisitStamp),HitItemNumber/TotalItemNumber为查询在数据分片内的选择率。
所述的更新内存缓存包括热数据分片和冷数据分片、数据分片的分裂和数据分片的合并调整。
所述的热数据分片和冷数据分片是按照热度排序,并划定内存淘汰门限和分片分裂门限,热度在内存淘汰门限之下的热数据被踢出内存,热度在内存淘汰门限之上的冷数据被选入内存。
所述的数据分片的分裂是数据分片热度高于内存淘汰门限但低于分片分裂门限,将分片分成相等的K份,数据分片可以被不断分裂,直到分片大小达到下限或者分片热度已经高于分片分裂门限,停止分裂,K是可配置参数,例如k=3。
所述的数据分片的合并调整是基于以下条件的合并: 两个数据分片相邻、两个数据分片同为热数据分片或者同为冷数据分片、合并后的数据分片大小没有超过数据分片大小的上限、④两个数据分片的热度受选择率HitItemNumber/TotalItemNumber均接近1。
本发明针对指定数据表上的范围查询建立可以自适应分片的内存缓存,通过对数据分片的分裂合并跟踪查询请求的分布规律和变化规律,使数据分片自适应查询的需求。
本发明的优点是采用跳表和集合相结合的结构,在此结构上支持动态调整集合的分片边界,使数据分片自适应查询需求,提高热点数据分片的查询缓存命中率,降低查询访问磁盘的开销,从而大幅度提高范围查询的性能。
附图说明
图1为实施例中内存缓存索引结构集合+跳表示意图;
图2为实施例中跳表的查找过程示意图;
图3为实施例中数据分片37的分裂示意图;
图4为实施例中数据分片37和59的变冷过程示意图;
图5为实施例中数据分片32和数据分片37的合并、数据分片59和数据分片71的合并示意图。
具体实施方式
下面结合附图和实施例对本发明内容作进一步阐述,但不是对本发明的限定。
实施例:
一种Hadoop上面向范围查询的内存缓存方法,包括如下步骤:
1)在Hadoop海量数据的查询属性上建立索引,将索引存放在HBase上。因为HBase提供良好的可扩展性和容错性,可以认为HBase有无限的磁盘空间,在HBase中的数据是安全可靠的。HBase将数据分布在集群的各节点上,每个节点管理一部分数据,称为一个Region,Region内的数据是主键连续的,HBase以此来支持有效的范围查询;
2)在HBase索引数据上建立内存分片缓存,缓存的目标是选择那些更频繁被访问的索引数据缓存在内存中,以减少数据查询的磁盘IO(输入输出)开销。由于要建立支持高效范围查询的缓存,所以在内存缓存的数据结构上,本发明为连续的索引数据建立数据分片,数据分片的划分在初始阶段采用固定长度等分方法,同时采用跳表(skiplist)组织众多的数据分片;
跳表是一种随机化的数据结构,跳表的节点在逻辑上是分层的,最底层是包含所有节点的链表,自底向上跳表的“跳动步幅”越来越大,这样跳表中靠后的节点在查询中也可以获得和靠前的节点相当的查询效率。在物理存储上,跳表中的节点只存储一次,那些出现在跳表上层的节点具有更多的指针。例如图1中节点7有两个指针,一个指向它的后继节点14,一个指向它的下一跳后继节点21。
跳表的查询的时间复杂度可以达到log(n),并且支持高并发的多线程读写,举例来说,例如图2,查询结果集范围是41-59,首先在跳表中找到小于等于关键字41的最大关键字位置,即37,查找过程如图2,首先从TOP节点找到最上层链表,通过header节点向后查找,找到第一个大于查询关键字的节点的前驱节点,即节点21,从节点21向下到level 2,在level 2链表中找到第一个大于查询关键字的节点的前驱节点,即节点37,从节点37向下到level 1,在level 1链表中找到包含查询关键字的集合范围,即集合分片37-70,查询结束。
跳表的TOP节点是整个跳表的查询起始节点,在本发明的内存缓存方法中,TOP节点保存跳表的数据起止范围和跳表访问计数戳VisitStamp,跳表访问计数戳在每次查询到来时加1,查询命中的分片会打上本次查询的计数戳LastStamp,在后面计算数据热度的时候会用来计算衰减指数。
跳表的节点(Level 1中的全部节点)保存所有数据分片的元数据信息,数据分片包含热数据分片和冷数据分片,热数据分片和冷数据分片都有对应的跳表节点记录元数据信息,而热数据分片对应的数据会缓存到内存中,比如关键字在7-13范围的数据。节点14是冷数据分片,14-20是冷数据,则关键字在14-20范围的数据没有缓存到内存中。在本发明内存缓存方法中,节点保存的元数据信息包括:
a关键字key,即数据分片左边界;
b最近命中计数戳LastStamp,保存最近一次命中了该数据分片查询的计数戳,每次查询命中的数据分片会记录TOP节点带来的本次VisitStamp,写入LastStamp;
c最近数据分片热度LastHotScore,保存最近一次计算的当前数据分片的热度,热度计算采用指数平滑方法,会用到上次的数据分片热度;
d访问次数VisitCount,保存数据分片被访问的次数,和数据热度一起来衡量数据分片是否需要做分裂;
e数据分片的满空标志(F/E),如果数据分片是热数据,已经缓存到内存中,元数据信息的标志为Full,反之,冷数据的标志为Empty;
3)根据数据查询记录命中数据,采用指数平滑方法衡量数据分片热度;
所述的数据分片热度为:HotScore = (1-α)(VisitStamp-LastVisitStamp)*LastHotScore +α*(HitItemNumber/TotalItemNumber);
其中HotScore是当前的分片热度,LastHotScore是上一次命中分片时计算的热度,α是指数平滑因子,通常α取值为0.01-0.10,LastHotScore以每次查询(1-α)的速率衰减,本次访问距离上次访问经过了(VisitStamp-LastVisitStamp)次查询,衰减因子为(1-α)(VisitStamp-LastVisitStamp),HitItemNumber/TotalItemNumber为查询在数据分片内的选择率。
4) 更新内存缓存。由TOP定期触发缓存更新,一次缓存更新事件会重新计算所有数据分片的数据热度,包括热数据分片和冷数据分片。然后按照热度排序,并划定内存淘汰门限和分片分裂门限,热度在内存淘汰门限之下的热数据被踢出内存,热度在内存淘汰门限之上的冷数据被选入内存。
缓存更新事件同时会触发数据分片的分裂和合并调整,当数据分片热度高于内存淘汰门限但低于分片分裂门限,不足以淘汰出内存成为冷数据,数据分片的命中次数VisitCount高,但数据的热度受选择率HitItemNumber/TotalItemNumber的影响而偏低,可以认为分片内的数据冷热不均,触发分片的分裂。将分片分成相等的K份, K是可配置参数,本实施例K=3。数据分片可能会在下个缓存更新事件中被继续分裂,直到分片大小达到下限或者分片热度已经高于分片分裂门限,停止分裂。
数据分片的合并是基于以下条件:两个数据分片相邻;两个数据分片同为热数据分片或者同为冷数据分片;合并后的数据分片大小没有超过数据分片大小的上限;④两个数据分片的热度受选择率HitItemNumber/TotalItemNumber均接近1。同时满足这4个条件会触发两个数据分片的合并。
经过不断的分裂和合并,分片会自适应查询需求的边界划分,并根据查询需求的不断变化持续的调整缓存在内存中的热点分片。
图3,图4,图5给出了一个分裂合并过程。在热度计算中找到节点37满足分裂条件,分裂成3个节点:37,48,59。这3个新节点在下一轮热度计算中只有节点48的热度满足高于内存淘汰门限,节点37和59的热度均低于内存淘汰门限。这次节点分裂触发跳表的第二层节点调整,48成为第二层节点,37被从第二层节点删除。随后,数据范围37-47,数据范围59-70被淘汰出内存。同时,这一轮热度计算中,节点32和节点37同时为冷数据分片节点,满足节点合并的4个条件,所以节点32和节点37合并,节点的key仍然为32,指向的数据范围是32-47。同样,节点59和节点71合并,key为59,数据范围为59-84。调整后的跳表结构如图5所示,节点32对应的冷数据分片范围是32-47,节点48对应的热数据分片范围是48-58,节点59对应的冷数据分片范围是59-84。
Claims (9)
1.一种Hadoop上面向范围查询的内存缓存方法,其特征是,包括如下步骤:
1)在Hadoop海量数据的查询属性上建立索引,将索引存放在HBase上;
2)在HBase索引数据上建立内存分片缓存,选择频繁被访问的索引数据缓存在内存中,数据分片的划分在初始阶段采用固定长度等分方法,同时采用跳表组织众多的数据分片;
3)根据数据查询记录命中数据,采用指数平滑方法衡量数据分片热度;
4) 更新内存缓存。
2.根据权利要求1所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的跳表是一种随机化的数据结构,跳表的节点在逻辑上是分层的,最底层是包含所有节点的链表,自底向上跳表的“跳动步幅”越来越大,在物理存储上,跳表中的节点只存储一次,跳表的TOP节点是整个跳表的查询起始节点,出现在跳表上层的节点具有更多的指针,TOP节点保存跳表的数据起止范围和跳表访问计数戳VisitStamp,跳表访问计数戳在每次查询到来时加1,查询命中的分片会打上本次查询的计数戳LastStamp;跳表查询的时间复杂度可以达到log(n),并且支持高并发的多线程读写。
3.根据权利要求2所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的跳表的节点是保存所有数据分片的元数据信息点,数据分片包含冷数据分片和热数据分片,热数据分片和冷数据分片都有对应的跳表节点记录元数据信息,热数据分片对应的数据会缓存到内存中,冷数据分片没有缓存到内存中。
4.根据权利要求3所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的元数据信息包括:关键字key,即数据分片左边界、保存最近一次命中该数据分片查询的计数戳LastStamp、每次查询命中的数据分片记录TOP节点本次传递过来的VisitStamp,写入LastStamp、保存最近数据分片热度LastHotScore、访问次数VisitCount、数据分片的满空标志F/E。
5.根据权利要求1所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的数据分片热度为:HotScore = (1-α)(VisitStamp-LastVisitStamp)*LastHotScore +α*(HitItemNumber/TotalItemNumber)其中HotScore是当前的分片热度,LastHotScore是上一次命中分片时计算的热度,α是指数平滑因子,通常α取值为0.01-0.10,LastHotScore以每次查询1-α的速率衰减,本次访问距离上次访问经过了VisitStamp-LastVisitStamp次查询,衰减因子为(1-α)(VisitStamp-LastVisitStamp),HitItemNumber/TotalItemNumber为查询在数据分片内的选择率。
6.根据权利要求1所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的更新内存缓存包括热数据分片和冷数据分片、数据分片的分裂和数据分片的合并调整。
7.根据权利要求6所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的热数据分片和冷数据分片是按照热度排序,并划定内存淘汰门限和分片分裂门限,热度在内存淘汰门限之下的热数据被踢出内存,热度在内存淘汰门限之上的冷数据被选入内存。
8.根据权利要求6所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的数据分片的分裂是数据分片热度高于内存淘汰门限但低于分片分裂门限,将分片分成相等的K份,数据分片被继续分裂,直到分片大小达到下限或者分片热度已经高于分片分裂门限,停止分裂,K是可配置参数。
9.根据权利要求6所述的Hadoop上面向范围查询的内存缓存方法,其特征是,所述的数据分片的合并调整是基于以下条件的合并: 两个数据分片相邻、两个数据分片同为热数据分片或者同为冷数据分片、合并后的数据分片大小没有超过数据分片大小的上限、④两个数据分片的热度受选择率HitItemNumber/TotalItemNumber均接近1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410144808.7A CN103942289B (zh) | 2014-04-12 | 2014-04-12 | 一种Hadoop上面向范围查询的内存缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410144808.7A CN103942289B (zh) | 2014-04-12 | 2014-04-12 | 一种Hadoop上面向范围查询的内存缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942289A true CN103942289A (zh) | 2014-07-23 |
CN103942289B CN103942289B (zh) | 2017-01-25 |
Family
ID=51189957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410144808.7A Expired - Fee Related CN103942289B (zh) | 2014-04-12 | 2014-04-12 | 一种Hadoop上面向范围查询的内存缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942289B (zh) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199901A (zh) * | 2014-08-27 | 2014-12-10 | 浪潮集团有限公司 | 一种批量合并hbase表regions的方法 |
CN104573119A (zh) * | 2015-02-05 | 2015-04-29 | 重庆大学 | 云计算中面向节能的Hadoop分布式文件系统存储策略 |
CN105159845A (zh) * | 2015-09-07 | 2015-12-16 | 四川神琥科技有限公司 | 存储器读取方法 |
CN105279104A (zh) * | 2015-11-25 | 2016-01-27 | 北京京东尚科信息技术有限公司 | 一种基于java平台的数据缓存方法 |
CN105574054A (zh) * | 2014-11-06 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN105610881A (zh) * | 2014-11-06 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN105608215A (zh) * | 2015-12-31 | 2016-05-25 | 新浪网技术(中国)有限公司 | PaaS系统中hbase数据删除方法及装置 |
CN105740472A (zh) * | 2016-03-14 | 2016-07-06 | 中国科学院计算技术研究所 | 一种分布式实时全文检索方法及系统 |
CN106294380A (zh) * | 2015-05-18 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
CN106570126A (zh) * | 2016-11-02 | 2017-04-19 | 北京集奥聚合科技有限公司 | 一种收集HBase热点数据块信息的方法及系统 |
CN108427747A (zh) * | 2018-03-09 | 2018-08-21 | 广西师范大学 | 一种基于范围查询边界集的动态规划数据分片优化方法 |
CN108460137A (zh) * | 2018-03-09 | 2018-08-28 | 广西师范大学 | 一种基于合并偏差门限的范围查询数据分片优化方法 |
CN108694188A (zh) * | 2017-04-07 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种索引数据更新的方法以及相关装置 |
CN105045894B (zh) * | 2015-07-31 | 2018-12-04 | 中国科学院计算技术研究所 | 一种面向分布式顺序表的缓存方法及系统 |
CN109086133A (zh) * | 2018-07-06 | 2018-12-25 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN109446114A (zh) * | 2018-10-12 | 2019-03-08 | 咪咕文化科技有限公司 | 一种空间数据缓存方法、装置和存储介质 |
CN109643309A (zh) * | 2016-09-08 | 2019-04-16 | 华为技术有限公司 | 用于对跳跃表数据结构执行范围查询的系统和方法 |
CN110099082A (zh) * | 2018-01-30 | 2019-08-06 | 浙江宇视科技有限公司 | 减少Hbase热点的方法、装置及可读存储介质 |
CN110162528A (zh) * | 2019-05-24 | 2019-08-23 | 安徽芃睿科技有限公司 | 海量大数据检索方法及系统 |
CN110334114A (zh) * | 2018-02-12 | 2019-10-15 | 北京京东尚科信息技术有限公司 | 一种查询数据的方法和装置 |
WO2020073854A1 (zh) * | 2018-10-12 | 2020-04-16 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN111666260A (zh) * | 2019-03-08 | 2020-09-15 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
CN112148792A (zh) * | 2020-09-16 | 2020-12-29 | 鹏城实验室 | 一种基于HBase的分区数据调整方法、系统及终端 |
CN112417350A (zh) * | 2020-09-17 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112650453A (zh) * | 2020-12-31 | 2021-04-13 | 北京千方科技股份有限公司 | 一种用于存储、查询交通数据的方法和系统 |
CN113127479A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种Elasticsearch索引的加载方法、装置、计算机设备和存储介质 |
CN113268457A (zh) * | 2021-05-24 | 2021-08-17 | 华中科技大学 | 一种支持高效写的自适应学习索引方法和系统 |
CN113407620A (zh) * | 2020-03-17 | 2021-09-17 | 北京信息科技大学 | 基于异构Hadoop集群环境的数据块放置方法及系统 |
CN113704346A (zh) * | 2020-05-20 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 一种Hbase表中冷热数据转换方法、装置及电子设备 |
CN117472293A (zh) * | 2023-12-27 | 2024-01-30 | 荣耀终端有限公司 | 一种数据存储的方法、电子设备及计算机可读存储介质 |
CN112650453B (zh) * | 2020-12-31 | 2024-05-14 | 北京千方科技股份有限公司 | 一种用于存储、查询交通数据的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196024A1 (en) * | 2002-04-16 | 2003-10-16 | Exanet, Inc. | Apparatus and method for a skip-list based cache |
CN101178693A (zh) * | 2007-12-14 | 2008-05-14 | 沈阳东软软件股份有限公司 | 一种数据缓存方法及系统 |
-
2014
- 2014-04-12 CN CN201410144808.7A patent/CN103942289B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196024A1 (en) * | 2002-04-16 | 2003-10-16 | Exanet, Inc. | Apparatus and method for a skip-list based cache |
CN101178693A (zh) * | 2007-12-14 | 2008-05-14 | 沈阳东软软件股份有限公司 | 一种数据缓存方法及系统 |
Non-Patent Citations (2)
Title |
---|
JUSTIN J. LEVANDOSKI: ""Identifying Hot and Cold Data in Main-Memory Databases"", 《IEEE INTERNATIONAL CONFERENCE ON DATA ENGINEERING》 * |
YONGQIANG ZOU ETC.: ""CCIndex:A Complemental Clustering Index on Distributed Ordered Tables for Multi-dimensional Range Queries"", 《IFIP INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING 2010》 * |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199901A (zh) * | 2014-08-27 | 2014-12-10 | 浪潮集团有限公司 | 一种批量合并hbase表regions的方法 |
CN105610881B9 (zh) * | 2014-11-06 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
WO2016070751A1 (zh) * | 2014-11-06 | 2016-05-12 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN105574054A (zh) * | 2014-11-06 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN105610881B (zh) * | 2014-11-06 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN105610881A (zh) * | 2014-11-06 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN105574054B (zh) * | 2014-11-06 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种分布式缓存范围查询方法、装置及系统 |
CN104573119A (zh) * | 2015-02-05 | 2015-04-29 | 重庆大学 | 云计算中面向节能的Hadoop分布式文件系统存储策略 |
CN104573119B (zh) * | 2015-02-05 | 2017-10-27 | 重庆大学 | 云计算中面向节能的Hadoop分布式文件系统存储方法 |
CN106294380A (zh) * | 2015-05-18 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
CN106294380B (zh) * | 2015-05-18 | 2021-02-12 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
CN105045894B (zh) * | 2015-07-31 | 2018-12-04 | 中国科学院计算技术研究所 | 一种面向分布式顺序表的缓存方法及系统 |
CN105159845A (zh) * | 2015-09-07 | 2015-12-16 | 四川神琥科技有限公司 | 存储器读取方法 |
CN105279104A (zh) * | 2015-11-25 | 2016-01-27 | 北京京东尚科信息技术有限公司 | 一种基于java平台的数据缓存方法 |
CN105608215A (zh) * | 2015-12-31 | 2016-05-25 | 新浪网技术(中国)有限公司 | PaaS系统中hbase数据删除方法及装置 |
CN105608215B (zh) * | 2015-12-31 | 2019-03-26 | 新浪网技术(中国)有限公司 | PaaS系统中hbase数据删除方法及装置 |
CN105740472A (zh) * | 2016-03-14 | 2016-07-06 | 中国科学院计算技术研究所 | 一种分布式实时全文检索方法及系统 |
US10990628B2 (en) | 2016-09-08 | 2021-04-27 | Huawei Technologies Co., Ltd. | Systems and methods for performing a range query on a skiplist data structure |
CN109643309A (zh) * | 2016-09-08 | 2019-04-16 | 华为技术有限公司 | 用于对跳跃表数据结构执行范围查询的系统和方法 |
CN109643309B (zh) * | 2016-09-08 | 2021-02-12 | 华为技术有限公司 | 用于对跳跃表数据结构执行范围查询的系统和方法 |
CN106570126A (zh) * | 2016-11-02 | 2017-04-19 | 北京集奥聚合科技有限公司 | 一种收集HBase热点数据块信息的方法及系统 |
CN108694188A (zh) * | 2017-04-07 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种索引数据更新的方法以及相关装置 |
CN110099082B (zh) * | 2018-01-30 | 2022-03-11 | 浙江宇视科技有限公司 | 减少Hbase热点的方法、装置及可读存储介质 |
CN110099082A (zh) * | 2018-01-30 | 2019-08-06 | 浙江宇视科技有限公司 | 减少Hbase热点的方法、装置及可读存储介质 |
CN110334114A (zh) * | 2018-02-12 | 2019-10-15 | 北京京东尚科信息技术有限公司 | 一种查询数据的方法和装置 |
CN110334114B (zh) * | 2018-02-12 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 一种查询数据的方法和装置 |
CN108460137B (zh) * | 2018-03-09 | 2021-07-20 | 广西师范大学 | 一种基于合并偏差门限的范围查询数据分片优化方法 |
CN108427747B (zh) * | 2018-03-09 | 2021-10-15 | 广西师范大学 | 一种基于范围查询边界集的动态规划数据分片优化方法 |
CN108460137A (zh) * | 2018-03-09 | 2018-08-28 | 广西师范大学 | 一种基于合并偏差门限的范围查询数据分片优化方法 |
CN108427747A (zh) * | 2018-03-09 | 2018-08-21 | 广西师范大学 | 一种基于范围查询边界集的动态规划数据分片优化方法 |
CN109086133B (zh) * | 2018-07-06 | 2019-08-30 | 第四范式(北京)技术有限公司 | 在内存中维护数据的方法和系统 |
CN110704194A (zh) * | 2018-07-06 | 2020-01-17 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN109086133A (zh) * | 2018-07-06 | 2018-12-25 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
WO2020007288A1 (zh) * | 2018-07-06 | 2020-01-09 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN111046034A (zh) * | 2018-10-12 | 2020-04-21 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN111046034B (zh) * | 2018-10-12 | 2024-02-13 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN109446114B (zh) * | 2018-10-12 | 2020-12-18 | 咪咕文化科技有限公司 | 一种空间数据缓存方法、装置和存储介质 |
CN109446114A (zh) * | 2018-10-12 | 2019-03-08 | 咪咕文化科技有限公司 | 一种空间数据缓存方法、装置和存储介质 |
WO2020073854A1 (zh) * | 2018-10-12 | 2020-04-16 | 第四范式(北京)技术有限公司 | 管理内存数据及在内存中维护数据的方法和系统 |
CN111666260A (zh) * | 2019-03-08 | 2020-09-15 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
CN110162528A (zh) * | 2019-05-24 | 2019-08-23 | 安徽芃睿科技有限公司 | 海量大数据检索方法及系统 |
CN113127479A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种Elasticsearch索引的加载方法、装置、计算机设备和存储介质 |
CN113407620A (zh) * | 2020-03-17 | 2021-09-17 | 北京信息科技大学 | 基于异构Hadoop集群环境的数据块放置方法及系统 |
CN113407620B (zh) * | 2020-03-17 | 2023-04-21 | 北京信息科技大学 | 基于异构Hadoop集群环境的数据块放置方法及系统 |
CN113704346A (zh) * | 2020-05-20 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 一种Hbase表中冷热数据转换方法、装置及电子设备 |
CN112148792B (zh) * | 2020-09-16 | 2024-04-12 | 鹏城实验室 | 一种基于HBase的分区数据调整方法、系统及终端 |
CN112148792A (zh) * | 2020-09-16 | 2020-12-29 | 鹏城实验室 | 一种基于HBase的分区数据调整方法、系统及终端 |
CN112417350B (zh) * | 2020-09-17 | 2023-03-24 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112417350A (zh) * | 2020-09-17 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 数据存储调整方法、装置及计算机设备 |
CN112650453A (zh) * | 2020-12-31 | 2021-04-13 | 北京千方科技股份有限公司 | 一种用于存储、查询交通数据的方法和系统 |
CN112650453B (zh) * | 2020-12-31 | 2024-05-14 | 北京千方科技股份有限公司 | 一种用于存储、查询交通数据的方法和系统 |
CN113268457A (zh) * | 2021-05-24 | 2021-08-17 | 华中科技大学 | 一种支持高效写的自适应学习索引方法和系统 |
CN113268457B (zh) * | 2021-05-24 | 2022-07-08 | 华中科技大学 | 一种支持高效写的自适应学习索引方法和系统 |
CN117472293A (zh) * | 2023-12-27 | 2024-01-30 | 荣耀终端有限公司 | 一种数据存储的方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103942289B (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942289A (zh) | 一种Hadoop上面向范围查询的内存缓存方法 | |
Canim et al. | SSD bufferpool extensions for database systems | |
CN103885728B (zh) | 一种基于固态盘的磁盘缓存系统 | |
EP2735978B1 (en) | Storage system and management method used for metadata of cluster file system | |
US8782324B1 (en) | Techniques for managing placement of extents based on a history of active extents | |
JP6695537B2 (ja) | Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSから複数の2MB以下の小さなファイルを読み込む方法 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
EP2711856B1 (en) | Method and device for metadata query | |
US9959054B1 (en) | Log cleaning and tiering in a log-based data storage system | |
CN107491523B (zh) | 存储数据对象的方法及装置 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
CN107832401A (zh) | 数据库数据访问方法、系统、装置及计算机可读存储介质 | |
CN107003937A (zh) | 针对大型工作数据集的缓存优化技术 | |
US10706034B2 (en) | Query access optimizations for tiered index architecture | |
CN103942157A (zh) | 用于计算存储环境中的数据处理的方法和系统 | |
CN102521406A (zh) | 海量结构化数据复杂查询任务的分布式查询方法和系统 | |
US20180329712A1 (en) | File access predication using counter based eviction policies at the file and page level | |
US20130254240A1 (en) | Method of processing database, database processing apparatus, computer program product | |
CN103279429A (zh) | 一种应用感知的分布式全局共享缓存分区方法 | |
CN106502587A (zh) | 磁盘数据管理方法和磁盘控制装置 | |
CN106354805A (zh) | 一种分布式存储系统NoSQL搜索缓存的优化方法和系统 | |
Borovica-Gajic et al. | Smooth scan: Statistics-oblivious access paths | |
Luo et al. | Umzi: Unified multi-zone indexing for large-scale HTAP | |
CN104951403B (zh) | 一种低开销且无差错的冷热数据识别方法 | |
Borovica-Gajic et al. | Smooth scan: robust access path selection without cardinality estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170125 Termination date: 20190412 |