CN106294772A - 分布式内存列式数据库的缓存管理方法 - Google Patents

分布式内存列式数据库的缓存管理方法 Download PDF

Info

Publication number
CN106294772A
CN106294772A CN201610659223.8A CN201610659223A CN106294772A CN 106294772 A CN106294772 A CN 106294772A CN 201610659223 A CN201610659223 A CN 201610659223A CN 106294772 A CN106294772 A CN 106294772A
Authority
CN
China
Prior art keywords
caching
node
buffer queue
weight
cache
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
CN201610659223.8A
Other languages
English (en)
Other versions
CN106294772B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201610659223.8A priority Critical patent/CN106294772B/zh
Publication of CN106294772A publication Critical patent/CN106294772A/zh
Application granted granted Critical
Publication of CN106294772B publication Critical patent/CN106294772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

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

Abstract

本发明公开了一种分布式内存列式数据库的缓存管理方法,包括:在缓存主控节点中建立缓存队列;以每个物理任务为根节点切割其所在的物理执行计划以获得每个物理任务对应的缓存计算轨迹;根据每个物理任务对应的缓存计算轨迹在缓存主控节点中构建缓存特征树;在查询请求到来时,查询执行引擎将SQL语句解析成物理执行计划;从物理执行计划的根节点开始层次遍历物理执行计划中每个节点,判断每个物理任务对应的缓存计算轨迹是否与缓存特征树匹配;若匹配,直接从缓存从节点中读取该物理任务的缓存实际数据,否则计算该物理任务。本发明提供的分布式内存列式数据库的缓存管理方法,通过高效的缓存匹配算法迅速检测缓存是否命中,提高了查询效率。

Description

分布式内存列式数据库的缓存管理方法
技术领域
本发明涉及计算机软件技术领域,具体涉及一种分布式内存列式数据库的缓存管理方法。
背景技术
随着信息时代的发展,数据规模呈现***性增长,如何从这些海量数据中提取有价值的信息,是当前社会面临的巨大挑战。而联机分析处理(OLAP,On-Line AnalyticalProcessing)***表现了其强大的数据分析能力,它已广泛应用于银行、电信、证券交易所等商业领域。
支持OLAP***的分布式内存列式数据库允许用户以多个维度从海量数据中提取和分析有价值的信息,这些信息可能是一个简单的报表,也可能是一个复杂的分析结果。随着查询语句复杂度的提升,查询操作所需要的时间也会越长,而高复杂度的查询语句在支持OLAP***的分布式内存列式数据库中出现的频率很高。
数据库中查询请求在语义方面具有很强的相关性,因此部分查询结果很可能在历史查询中出现过。分布式内存列式数据库引入缓存管理***来保存某些历史查询信息,从而减少重复查询的执行次数。图1是分布式内存列式数据库的缓存管理***的结构示意图,所述缓存管理***包括查询执行引擎(Query Engine)11、缓存主控节点(Cache Master)12、备用节点(Standby Cache Master)13以及至少一个缓存从节点(Cache Slave)14。其中,所述查询执行引擎11负责解析和执行用户SQL请求,返回查询结果;所述缓存主控节点12负责管理所有缓存从节点14,维护缓存元数据,根据相关算法淘汰缓存,维护缓存一致性;所述备用节点13定期同步所述缓存主控节点12的所有缓存元数据,当所述缓存主控节点12出现故障时,立即替代所述缓存主控节点12,继续提供缓存服务;所述缓存从节点14负责存储缓存实际数据,响应所述查询执行引擎11读取缓存的请求。
如何在分布式场景下尽可能缓存访问频率高的数据、加快数据库查询速度,正是分布式缓存管理***要解决的问题。
发明内容
本发明所要解决的是如何在分布式场景下尽可能缓存访问频率高的数据、加快数据库查询速度的问题。
本发明通过下述技术方案实现:
一种分布式内存列式数据库的缓存管理方法,所述分布式内存列式数据库的缓存管理***包括查询执行引擎、缓存主控节点以及至少一个缓存从节点,所述缓存管理方法包括:在缓存主控节点中建立缓存队列,所述缓存队列中每项元素对应为一个物理任务的缓存元数据;以每个物理任务为根节点切割其所在的物理执行计划以获得每个物理任务对应的缓存计算轨迹;根据每个物理任务对应的缓存计算轨迹在缓存主控节点中构建缓存特征树;在查询请求到来时,查询执行引擎将SQL语句解析成物理执行计划;从物理执行计划的根节点开始层次遍历物理执行计划中每个节点,判断每个物理任务对应的缓存计算轨迹是否与所述缓存特征树匹配;若匹配,直接从缓存从节点中读取该物理任务的缓存实际数据,否则计算该物理任务。
本发明采用缓存计算轨迹唯一标识缓存,在查询请求到来时,只需要将每个物理任务对应的缓存计算轨迹与缓存特征树进行匹配,能够迅速检测缓存是否命中,从一定程度上减少分布式数据库中重复任务的计算,节省查询时间,提高查询效率。
进一步地,所述缓存队列中每项元素按权重从大到小的顺序排列。
进一步地,所述缓存队列中每项元素的权重根据Wi=qi×(a×Si+b×Pi)获得,其中,Wi为第i项元素的权重,qi为第i项元素对应的物理任务的权重因子,Si为第i项元素的时空比且ti为第i项元素对应的缓存计算轨迹中到根节点最长路径的时间,ki为第i项元素对应的存储策略常量,mi为第i项元素实际所占的***存储空间,Pi为第i项元素的命中频率且ni为第i项元素的历史命中次数,di为第i项元素距离上一次命中的时间间隔,vi为第i项元素平均命中时间间隔,a为时空比对权重的影响因子,b为命中频率对权重的影响因子,i为正整数。
进一步地,所述分布式内存列式数据库的缓存管理方法还包括当所述缓存管理***收到新缓存的存储请求时进行如下步骤:步骤S1,更新所述缓存队列中每项元素的权重;步骤S2,判断所述缓存管理***当前剩余空间是否足以存储新缓存;若所述缓存管理***当前剩余空间足以存储新缓存,执行步骤S3,缓存主控节点通知缓存从节点存储新缓存,将新缓存元数据放入所述缓存队列,并在所述缓存特征树中记录新缓存对应的缓存计算轨迹;若所述缓存管理***当前剩余空间不足以存储新缓存,执行步骤S4,判断新缓存的权重是否大于所述缓存队列中最后一项元素的权重;若新缓存的权重不大于所述缓存队列中最后一项元素的权重,执行步骤S5,缓存主控节点通知缓存从节点拒绝存储新缓存;若新缓存的权重大于所述缓存队列中最后一项元素的权重,执行步骤S6,判断是否仍有查询操作正在使用所述缓存队列中最后一项元素;若仍有查询操作正在使用所述缓存队列中最后一项元素,执行步骤S7,将所述缓存队列中最后一项元素标记为待删除;若无查询操作正在使用所述缓存队列中最后一项元素,执行步骤S8,缓存主控节点删除所述缓存队列中最后一项元素,回收所述缓存管理***中被淘汰缓存占用的存储空间,从所述缓存特征树中删除所述缓存队列中最后一项元素对应的缓存计算轨迹,并转到步骤S2。
进一步地,所述分布式内存列式数据库的缓存管理方法还包括:为所述缓存队列中每项元素设置一个对应的引用计数,当一项元素首次命中时,将该项元素对应的引用计数置1,并且启动一个计时器;若在计时器超时前,缓存主控节点收到使用一项元素的SQL语句查询完毕的反馈,则将该项元素的引用计数减1,并重置计时器;在一项元素对应的引用计数等于0时,则关闭计时器。
进一步地,判断是否仍有查询操作正在使用所述缓存队列中最后一项元素为判断所述缓存队列中最后一项元素对应的引用计数是否为0。
进一步地,每个物理任务对应的缓存计算轨迹包括每个节点的结果计算时间、结果存储大小以及每条边代表的数据传输时间。
进一步地,所述缓存特征树中所有节点所涉及的表都拥有版本号。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明提供的分布式内存列式数据库的缓存管理方法,通过高效的缓存匹配算法迅速检测缓存是否命中,利用合理的缓存淘汰算法保证***可用性和稳定性,从一定程度上减少了分布式数据库中重复任务的计算,节省了查询时间和存储空间,提高了查询效率。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1是分布式内存列式数据库的缓存管理***的结构示意图;
图2是本发明实施例的物理执行计划的结构示意图;
图3是本发明实施例的缓存计算轨迹的结构示意图;
图4是本发明实施例的缓存特征树的结构示意图;
图5是本发明实施例的T2-Join计算轨迹的结构示意图;
图6是本发明实施例的T3-Join计算轨迹的结构示意图;
图7是本发明实施例的缓存匹配结果的结构示意图;
图8是本发明实施例的缓存淘汰方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
本实施例提供一种分布式内存列式数据库的缓存管理方法,所述分布式内存列式数据库的缓存管理***的结构示意图可参考图1,包括查询执行引擎、缓存主控节点、备用节点以及至少一个缓存从节点。
在查询请求到来时,查询执行引擎将SQL语句解析成由DAG表示的物理执行计划。物理执行计划中的每个节点代表一个物理任务,物理任务又分为GetColumn、Join、Filter、Group和BuildRow等,每条边代表两个物理任务之间计算结果的传输关系。一条典型的查询语句(SELECT A.id FROM A,B WHERE A.id=B.id AND A.id<=100AND B.id<=80)的物理执行计划如图1所示。在缓存管理***中,缓存数据的粒度是单个物理任务的计算结果。当缓存是BuildRow的计算结果时,则缓存了整条SQL语句的最终查询结果。本实施例采用缓存计算轨迹唯一标识缓存。
首先,在缓存主控节点中建立缓存队列,所述缓存队列中每项元素对应为一个物理任务的缓存元数据。如前所述,缓存数据的粒度是单个物理任务的计算结果,在最初建立缓存队列时,所述缓存管理***有足够的存储空间,因此,在接收到缓存请求时,直接将物理任务的计算结果存储在缓存从节点中,将物理任务的缓存元数据作为缓存队列的一个元素。
以每个物理任务为根节点切割其所在的物理执行计划以获得每个物理任务对应的缓存计算轨迹。具体地,请求缓存的每个物理任务均对应有一个物理执行计划。在物理执行计划中,以该请求缓存的物理任务为根结点切割物理执行计划获得子图,该子图就是根节点对应的缓存计算轨迹。缓存计算轨迹记录了从原始数据到生成该缓存的所有信息,包括每个节点的结果计算时间、结果存储大小以及每条边代表的数据传输时间。缓存计算轨迹的每个节点是一个特征点,所有特征点及其关系构成缓存的特征。以图2所示的物理执行计划为例,假如用户要缓存T3-Join物理任务的计算结果,则以该物理任务节点为根节点,获得对应的缓存计算轨迹如图3所示。
根据每个物理任务对应的缓存计算轨迹在缓存主控节点中构建缓存特征树。所述缓存特征树记录了各个缓存的特征点及其关系,它根据表关系按层次结构组织,层数代表该层涉及的表数,最底层只涉及一张表。所述缓存特征树的每个节点代表一个缓存特征点,特征点之间通过连线表示相互的依赖关系,一个缓存的特征是由一系列特征点及其关系构成。
为了防止缓存数据和数据库原始数据不一致,所述缓存特征树中所有节点所涉及的表都拥有版本号,只有在表版本号一致的前提下才能进行匹配。用户尝试读取或写入缓存时,输入均包含涉及的表在当前分布式数据库中最新的版本号,当缓存主控节点发现某个表的版本过期时,则删除与该表有关的所有缓存。一个典型的缓存特征树如图4所示,其中,实线框表示该特征点描述的缓存存在,虚线框表示该特征点描述的缓存不存在,后者只是为了保证它所属缓存的特征完整性。
在查询请求到来时,查询执行引擎将SQL语句解析成物理执行计划,物理执行计划由一张物理任务DAG表示。本领域技术人员知晓查询执行引擎如何将SQL语句解析成物理执行计划,在此不再赘述。
从物理执行计划的根节点开始层次遍历物理执行计划中每个节点,判断每个物理任务对应的缓存计算轨迹是否与所述缓存特征树匹配。缓存匹配包括两种情况:完全匹配和部分匹配。完全匹配是指请求的缓存计算轨迹中所有特征点及其关系都能在所述缓存特征树中找到;部分匹配基本与完全匹配一致,唯一区别在于,缓存计算轨迹的根结点是所述缓存特征树中某个特征点的子集。若匹配,直接从缓存从节点中读取该物理任务的缓存实际数据,否则计算该物理任务。
在图4描述的缓存特征树基础上,以图2描述的SQL语句(SELECT A.id FROM A,BWHERE A.id=B.id AND A.id<=100AND B.id<=80)为例,从物理执行计划根节点开始层次遍历每个节点,对应的缓存匹配步骤如下:
检测T1-BuildRow是否命中缓存。T1-BuildRow的缓存计算轨迹就是整张DAG图,从根结点开始层次扫描每个特征点是否命中,只要检测到一个特征点未命中,则该任务未命中缓存。由于节点T1涉及两张表AB,所以在特征树的Level 2查找是否存在该特征点,实际结果是无,所以T1-BuildRow未命中缓存。
检测T2-Join是否命中缓存。T2-Join的缓存计算轨迹如图5所示,节点T2匹配缓存特征树中的特征点2_1,节点T5匹配缓存特征树中的特征点1_1,而节点T4是特征点1_5的子集,但关系(1_5,2_1)不存在,所以T2-Join未命中缓存。
检测T3-Join是否命中缓存。T3-Join的缓存计算轨迹如图6所示,节点T3匹配缓存特征树中的特征点2_1,节点T6匹配缓存特征树中的特征点1_2,而由前述可知节点T5匹配缓存特征树中的特征点1_1,关系(T5,T3)匹配关系(1_1,2_1),关系(T6,T3)匹配关系(1_2,2_1),所以T3-Join完全匹配。
节点T4是特征点1_5的子集,即T4-GetColumn部分匹配,节点T5匹配特征点1_1,故T5-GetColumn完全匹配。节点T6匹配特征点1_2,即T6-GetColumn完全匹配。
上述步骤结束后,可以得到该SQL语句的缓存匹配结果如图7所示。从图7可以看出,查询执行引擎只需要计算T1和T2物理任务,就可以完成整条SQL语句的查询,极大地提高了查询效率。
由于缓存管理***的存储空间是有限的,在存储空间都被占用后,接收到新缓存的存储请求时需要对现有的缓存进行淘汰。缓存淘汰是缓存管理***的核心之一,决定缓存的换入换出,进而影响缓存的命中率和缓存服务的稳定性。在本实施例中,所述缓存队列中每项元素按权重从大到小的顺序排列,队尾权重最小。每次淘汰缓存时,均从队尾弹出元素。
假设ti是第i项元素对应的缓存计算轨迹中到根节点最长路径的时间(单位:ms),mi是第i项元素实际所占的***存储空间(单位:Byte),ki是第i项元素对应的存储策略常量,不同的存储策略,其读取缓存数据的方式和时间都不同。第i项元素的时空比计算公式为:
假设di是第i项元素距离上一次命中的时间间隔(单位:ms),ni是第i项元素的历史命中次数,vi是第i项元素平均命中时间间隔(单位:ms)。第i项元素的命中频率计算公式为:如果第i项元素是首次加入队列,则Pi=1。
综上所述,所述缓存队列中第i项元素的权重计算公式为:Wi=qi×(a×Si+b×Pi)。其中,Wi为第i项元素的权重,qi为第i项元素对应的物理任务的权重因子。第i项元素对应的物理任务越复杂,第i项元素对应的物理任务的权重因子qi的值越大。比如Join任务对应的权重因子的值要比GetColumn任务对应的权重因子的值大。默认情况下,第i项元素对应的物理任务的权重因子qi等于1.0。a和b均是常量,分别代表时空比和命中频率对权重的影响因子。如果***存储空间比较小,则可以调大a的值,增加时空比对权重的影响,反之则调小a。
在本实施例中,为所述缓存队列中每项元素设置一个对应的引用计数,代表正在使用该缓存的查询操作个数。当一项元素首次命中时,该项元素对应的引用计数置1,并且启动一个计时器,缺省值可以根据实际情况进行设置,例如30秒。如果在计时器超时前,缓存主控节点收到某条使用一项元素的SQL语句查询完毕的反馈,则将该项元素对应的引用计数减1,并重置计时器。在一项元素对应的引用计数等于0时,则关闭计时器。计时器的作用在于防止查询执行引擎出现故障,导致缓存主控节点无法收到查询完毕的反馈。
缓存被淘汰时,假如被淘汰缓存对应的引用计数不为0,说明仍有查询操作在使用该缓存,如果立即删除该缓存,可能导致查询执行引擎获取缓存失败,耗费多余时间进行任务故障恢复。被淘汰的缓存仅仅被标记为待删除,等到引用计数为0时才真正被删除。
图8是本发明实施例的缓存淘汰方法的流程示意图,当***收到一个新缓存的存储请求时,缓存主控节点进行如下步骤:
步骤S1,更新所述缓存队列中每项元素的权重。由于缓存队列中每项元素距离上一次命中的时间间隔会随着时间推移增大,所以需要先更新缓存队列中每项元素的权重。
步骤S2,判断所述缓存管理***当前剩余空间是否足以存储新缓存。
若所述缓存管理***当前剩余空间足以存储新缓存,执行步骤S3,缓存主控节点通知缓存从节点存储新缓存,将新缓存元数据放入所述缓存队列,并在所述缓存特征树中记录新缓存对应的缓存计算轨迹。
若所述缓存管理***当前剩余空间不足以存储新缓存,执行步骤S4,判断新缓存的权重是否大于所述缓存队列中最后一项元素的权重。
若新缓存的权重不大于所述缓存队列中最后一项元素的权重,执行步骤S5,缓存主控节点通知缓存从节点拒绝存储新缓存。
若新缓存的权重大于所述缓存队列中最后一项元素的权重,执行步骤S6,判断是否仍有查询操作正在使用所述缓存队列中最后一项元素,即判断所述缓存队列中最后一项元素对应的引用计数是否为0。
若仍有查询操作正在使用所述缓存队列中最后一项元素,执行步骤S7,将所述缓存队列中最后一项元素标记为待删除。待所述缓存队列中最后一项元素对应的引用计数为0时,再将所述缓存队列中最后一项元素删除。
若无查询操作正在使用所述缓存队列中最后一项元素,执行步骤S8,缓存主控节点删除所述缓存队列中最后一项元素,回收所述缓存管理***中被淘汰缓存占用的存储空间,从所述缓存特征树中删除所述缓存队列中最后一项元素对应的缓存计算轨迹,并转到步骤S2。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种分布式内存列式数据库的缓存管理方法,所述分布式内存列式数据库的缓存管理***包括查询执行引擎、缓存主控节点以及至少一个缓存从节点,其特征在于,所述缓存管理方法包括:
在缓存主控节点中建立缓存队列,所述缓存队列中每项元素对应为一个物理任务的缓存元数据;
以每个物理任务为根节点切割其所在的物理执行计划以获得每个物理任务对应的缓存计算轨迹;
根据每个物理任务对应的缓存计算轨迹在缓存主控节点中构建缓存特征树;
在查询请求到来时,查询执行引擎将SQL语句解析成物理执行计划;
从物理执行计划的根节点开始层次遍历物理执行计划中每个节点,判断每个物理任务对应的缓存计算轨迹是否与所述缓存特征树匹配;
若匹配,直接从缓存从节点中读取该物理任务的缓存实际数据,否则计算该物理任务。
2.根据权利要求1所述的分布式内存列式数据库的缓存管理方法,其特征在于,所述缓存队列中每项元素按权重从大到小的顺序排列。
3.根据权利要求2所述的分布式内存列式数据库的缓存管理方法,其特征在于,所述缓存队列中每项元素的权重根据Wi=qi×(a×Si+b×Pi)获得,其中,Wi为第i项元素的权重,qi为第i项元素对应的物理任务的权重因子,Si为第i项元素的时空比且ti为第i项元素对应的缓存计算轨迹中到根节点最长路径的时间,ki为第i项元素对应的存储策略常量,mi为第i项元素实际所占的***存储空间,Pi为第i项元素的命中频率且ni为第i项元素的历史命中次数,di为第i项元素距离上一次命中的时间间隔,vi为第i项元素平均命中时间间隔,a为时空比对权重的影响因子,b为命中频率对权重的影响因子,i为正整数。
4.根据权利要求3所述的分布式内存列式数据库的缓存管理方法,其特征在于,还包括当所述缓存管理***收到新缓存的存储请求时进行如下步骤:
步骤S1,更新所述缓存队列中每项元素的权重;
步骤S2,判断所述缓存管理***当前剩余空间是否足以存储新缓存;
若所述缓存管理***当前剩余空间足以存储新缓存,执行步骤S3,缓存主控节点通知缓存从节点存储新缓存,将新缓存元数据放入所述缓存队列,并在所述缓存特征树中记录新缓存对应的缓存计算轨迹;
若所述缓存管理***当前剩余空间不足以存储新缓存,执行步骤S4,判断新缓存的权重是否大于所述缓存队列中最后一项元素的权重;
若新缓存的权重不大于所述缓存队列中最后一项元素的权重,执行步骤S5,缓存主控节点通知缓存从节点拒绝存储新缓存;
若新缓存的权重大于所述缓存队列中最后一项元素的权重,执行步骤S6,判断是否仍有查询操作正在使用所述缓存队列中最后一项元素;
若仍有查询操作正在使用所述缓存队列中最后一项元素,执行步骤S7,将所述缓存队列中最后一项元素标记为待删除;
若无查询操作正在使用所述缓存队列中最后一项元素,执行步骤S8,缓存主控节点删除所述缓存队列中最后一项元素,回收所述缓存管理***中被淘汰缓存占用的存储空间,从所述缓存特征树中删除所述缓存队列中最后一项元素对应的缓存计算轨迹,并转到步骤S2。
5.根据权利要求4所述的分布式内存列式数据库的缓存管理方法,其特征在于,还包括:
为所述缓存队列中每项元素设置一个对应的引用计数,当一项元素首次命中时,将该项元素对应的引用计数置1,并且启动一个计时器;
若在计时器超时前,缓存主控节点收到使用一项元素的SQL语句查询完毕的反馈,则将该项元素对应的引用计数减1,并重置计时器;
在一项元素对应的引用计数等于0时,则关闭计时器。
6.根据权利要求5所述的分布式内存列式数据库的缓存管理方法,其特征在于,判断是否仍有查询操作正在使用所述缓存队列中最后一项元素为判断所述缓存队列中最后一项元素对应的引用计数是否为0。
7.根据权利要求1所述的分布式内存列式数据库的缓存管理方法,其特征在于,每个物理任务对应的缓存计算轨迹包括每个节点的结果计算时间、结果存储大小以及每条边代表的数据传输时间。
8.根据权利要求1所述的分布式内存列式数据库的缓存管理方法,其特征在于,所述缓存特征树中所有节点所涉及的表都拥有版本号。
CN201610659223.8A 2016-08-11 2016-08-11 分布式内存列式数据库的缓存管理方法 Active CN106294772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610659223.8A CN106294772B (zh) 2016-08-11 2016-08-11 分布式内存列式数据库的缓存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610659223.8A CN106294772B (zh) 2016-08-11 2016-08-11 分布式内存列式数据库的缓存管理方法

Publications (2)

Publication Number Publication Date
CN106294772A true CN106294772A (zh) 2017-01-04
CN106294772B CN106294772B (zh) 2019-03-19

Family

ID=57669593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610659223.8A Active CN106294772B (zh) 2016-08-11 2016-08-11 分布式内存列式数据库的缓存管理方法

Country Status (1)

Country Link
CN (1) CN106294772B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107329814A (zh) * 2017-06-16 2017-11-07 电子科技大学 一种基于rdma的分布式内存数据库查询引擎***
CN107784103A (zh) * 2017-10-27 2018-03-09 北京人大金仓信息技术股份有限公司 一种访问hdfs分布式存储***的标准接口
WO2019021124A1 (en) * 2017-07-27 2019-01-31 International Business Machines Corporation USING A TRACK FORMAT CODE IN A CACHED MEMORY CONTROL BLOCK FOR A TRACK IN A CACHE MEMORY TO PROCESS READING AND WRITING REQUESTS ON THE TRACK IN CACHE MEMORY
CN109376014A (zh) * 2018-10-19 2019-02-22 郑州云海信息技术有限公司 一种分布式锁管理器实现方法和***
CN109492005A (zh) * 2018-11-07 2019-03-19 郑州云海信息技术有限公司 一种b+树读缓存方法及相关装置
CN110119275A (zh) * 2019-05-13 2019-08-13 电子科技大学 一种分布式内存列式数据库编译执行器架构
CN110162272A (zh) * 2019-05-23 2019-08-23 北京邮电大学 一种内存计算缓存管理方法及装置
CN110389965A (zh) * 2018-11-30 2019-10-29 上海德拓信息技术股份有限公司 一种多维度数据查询及缓存的优化方法
US10579532B2 (en) 2017-08-09 2020-03-03 International Business Machines Corporation Invalidating track format information for tracks in cache
CN112528081A (zh) * 2020-12-24 2021-03-19 长沙翔宇信息科技有限公司 一种空间态势相对运动轨迹多级载入展示方法及装置
US11036641B2 (en) 2017-08-09 2021-06-15 International Business Machines Corporation Invalidating track format information for tracks demoted from cache
CN114817262A (zh) * 2022-04-27 2022-07-29 电子科技大学 一种基于分布式图数据库的图遍历算法
CN117909258A (zh) * 2024-03-18 2024-04-19 北京开源芯片研究院 一种处理器缓存的优化方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177057A (zh) * 2011-12-20 2013-06-26 Sap股份公司 用于内存列存储数据库的多核算法
CN103970870A (zh) * 2014-05-12 2014-08-06 华为技术有限公司 数据库查询方法和服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177057A (zh) * 2011-12-20 2013-06-26 Sap股份公司 用于内存列存储数据库的多核算法
CN103970870A (zh) * 2014-05-12 2014-08-06 华为技术有限公司 数据库查询方法和服务器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张琦: "DWMS列存储中执行引擎的优化与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
徐芳芳: "基于语义缓存的RDF数据查询优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
王竹峰: "达梦嵌入式数据库的执行计划缓存研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107329814A (zh) * 2017-06-16 2017-11-07 电子科技大学 一种基于rdma的分布式内存数据库查询引擎***
CN107329814B (zh) * 2017-06-16 2020-05-26 电子科技大学 一种基于rdma的分布式内存数据库查询引擎***
GB2578080A (en) * 2017-07-27 2020-04-15 Ibm Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache
US11704209B2 (en) 2017-07-27 2023-07-18 International Business Machines Corporation Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache
WO2019021124A1 (en) * 2017-07-27 2019-01-31 International Business Machines Corporation USING A TRACK FORMAT CODE IN A CACHED MEMORY CONTROL BLOCK FOR A TRACK IN A CACHE MEMORY TO PROCESS READING AND WRITING REQUESTS ON THE TRACK IN CACHE MEMORY
US11263097B2 (en) 2017-07-27 2022-03-01 International Business Machines Corporation Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache
GB2578080B (en) * 2017-07-27 2020-09-09 Ibm Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache
US10691566B2 (en) 2017-07-27 2020-06-23 International Business Machines Corporation Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache
US11036641B2 (en) 2017-08-09 2021-06-15 International Business Machines Corporation Invalidating track format information for tracks demoted from cache
US11086784B2 (en) 2017-08-09 2021-08-10 International Business Machines Corporation Invalidating track format information for tracks in cache
US10579532B2 (en) 2017-08-09 2020-03-03 International Business Machines Corporation Invalidating track format information for tracks in cache
CN107784103A (zh) * 2017-10-27 2018-03-09 北京人大金仓信息技术股份有限公司 一种访问hdfs分布式存储***的标准接口
CN109376014A (zh) * 2018-10-19 2019-02-22 郑州云海信息技术有限公司 一种分布式锁管理器实现方法和***
CN109492005A (zh) * 2018-11-07 2019-03-19 郑州云海信息技术有限公司 一种b+树读缓存方法及相关装置
CN110389965A (zh) * 2018-11-30 2019-10-29 上海德拓信息技术股份有限公司 一种多维度数据查询及缓存的优化方法
CN110389965B (zh) * 2018-11-30 2023-03-14 上海德拓信息技术股份有限公司 一种多维度数据查询及缓存的优化方法
CN110119275A (zh) * 2019-05-13 2019-08-13 电子科技大学 一种分布式内存列式数据库编译执行器架构
CN110119275B (zh) * 2019-05-13 2021-04-02 电子科技大学 一种分布式内存列式数据库编译执行器架构
CN110162272A (zh) * 2019-05-23 2019-08-23 北京邮电大学 一种内存计算缓存管理方法及装置
CN112528081A (zh) * 2020-12-24 2021-03-19 长沙翔宇信息科技有限公司 一种空间态势相对运动轨迹多级载入展示方法及装置
CN114817262A (zh) * 2022-04-27 2022-07-29 电子科技大学 一种基于分布式图数据库的图遍历算法
CN117909258A (zh) * 2024-03-18 2024-04-19 北京开源芯片研究院 一种处理器缓存的优化方法、装置、电子设备及存储介质
CN117909258B (zh) * 2024-03-18 2024-05-14 北京开源芯片研究院 一种处理器缓存的优化方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106294772B (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN106294772A (zh) 分布式内存列式数据库的缓存管理方法
Huang et al. X-Engine: An optimized storage engine for large-scale E-commerce transaction processing
CN102521406B (zh) 海量结构化数据复杂查询任务的分布式查询方法和***
CN102521405B (zh) 支持高速加载的海量结构化数据存储、查询方法和***
US8732163B2 (en) Query optimization with memory I/O awareness
Olken et al. Random sampling from databases: a survey
US10657116B2 (en) Create table for exchange
US8924365B2 (en) System and method for range search over distributive storage systems
US9514211B2 (en) High throughput data modifications using blind update operations
US8380702B2 (en) Loading an index with minimal effect on availability of applications using the corresponding table
US8566300B2 (en) Mechanism for efficient maintenance of XML index structures in a database system
US10754854B2 (en) Consistent query of local indexes
EP2746970B1 (en) Timeline index for managing temporal data
CN109656958B (zh) 数据查询方法以及***
US9576038B1 (en) Consistent query of local indexes
CN105373541B (zh) 数据库的数据操作请求的处理方法和***
CN105574054B (zh) 一种分布式缓存范围查询方法、装置及***
CN107491487A (zh) 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质
CN102955792A (zh) 一种实时全文搜索引擎事务处理的实现方法
CN106161193B (zh) 一种邮件处理方法、装置和***
CN111639075A (zh) 一种基于扁平化r树的非关系数据库矢量数据管理方法
CN106354732A (zh) 一种支持并发协同的离线数据版本冲突解决方法
CN106484694A (zh) 基于分布式数据库的全文搜索方法及***
CN113704248B (zh) 一种基于外置索引的区块链查询优化方法
Cheng et al. ETKDS: An efficient algorithm of Top-K high utility itemsets mining over data streams under sliding window model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant