日志结构合并森林中的交错合并制造技术

技术编号:27071247 阅读:14 留言:0更新日期:2021-01-15 14:54
本公开的至少一个方面针对一种维护键值存储的系统和方法。该方法能够包括建立通过键值进行索引的数据记录的第一游程。该方法可以包括,使用索引跟踪第一游程的数据记录到数据库上的合并级别上的合并。该方法可以包括与第一游程的合并并发地建立通过键值进行索引的数据记录的第二游程。该方法可以包括确定跟踪第一游程的数据记录合并到合并级别上的索引满足分位点条件。该方法可以包括将第二游程的第二多个记录的子集添加到第一游程的第一多个记录到数据库上维护的合并级别上的合并。

【技术实现步骤摘要】
【国外来华专利技术】日志结构合并森林中的交错合并相关申请的交叉引用本申请根据PCT第8条要求于2018年9月14日提交的标题为“StaggeredMerginginLog-StructuredMergeForests(日志结构合并森林中的交错合并)”的美国临时专利申请No.62/731,630的优先权,其通过引用整体合并于此。
可以在数据库中维护和索引数据。某些大型索引数据库可以实现大插入体积。数据库可以处理查询以在该数据库搜索一个或多个条目。
技术实现思路
本公开的至少一个方面涉及一种维护键值存储的方法。该方法能够包括由具有一个或多个处理器的数据处理系统在第一缓冲器上建立用于对第一多个记录进行排序的第一游程。第一多个记录能够由第一对应的多个索引值最初索引。第一多个记录中的每个记录能够具有键域中的第一键值。键域能够定义多个键值。该方法能够包括由数据处理系统使用合并索引来跟踪第一游程的第一多个记录到数据库上维护的合并级别上的合并。合并索引能够引用在合并期间添加到合并级别的第一多个记录中的记录的第一键值。该方法能够包括由数据处理系统与第一多个记录的合并并发地在第二缓冲器上建立用于对第二多个记录进行排序的第二游程。第二多个记录能够由与第一多个索引值不同的第二对应的多个索引值来索引。第二多个记录中的每个记录能够具有键域中的第二键值。该方法能够包括由数据处理系统确定跟踪第一多个记录到合并级别上的合并的合并索引满足分位点条件。分位点条件能够对应于键域中的多个键值中的至少一个。该方法能够包括由数据处理系统响应于确定合并索引对应于分位点条件而从第二缓冲器中标识第二游程的第二多个记录的子集。子集的每个记录能够具有满足分位点条件的所对应的第二键值。该方法能够包括由数据处理系统将第二游程的第二多个记录的子集添加到第一游程的第一多个记录到数据库上维护的合并级别上的合并。在一些实现方式中,该方法能够包括由数据处理系统基于合并索引和由分位点条件指定的分位点索引的比值来确定转接键值。在一些实现方式中,该方法可以进一步包括由数据处理系统基于数据库的合并带宽确定带宽偏移。合并带宽能够指示数据库正在添加第一多个记录并且第二多个记录的子集被合并的速率。在一些实现方式中,确定合并索引满足分位点条件能够包括确定合并索引满足由带宽偏移调整的转接键值。在一些实现方式中,该方法能够包括由数据处理系统使用游程索引来跟踪使用第二多个记录建立第二游程。游程索引能够引用在第二游程中排序的第二多个记录的数目。在一些实现方式中,该方法能够包括由数据处理系统确定由游程索引引用的第二多个记录中的记录的第二键值满足分位点条件。在一些实现方式中,添加第二多个记录的子集能够包括与建立第二游程并发地并响应于确定由游程索引引用的记录的第二键值满足分位点条件而发起将第二游程的第二多个记录的子集添加到合并。在一些实现方式中,该方法能够进一步包括由数据处理系统标识在第一缓冲器上建立第一游程的第一游程生成速率。第一游程生成速率能够指示在第一游程中对第一多个记录中的记录进行排序的速度。在一些实现方式中,该方法能够包括由数据处理系统标识在第二缓冲器上建立第二游程的第二游程生成速率。第二游程生成速率能够指示在第二游程中对第二多个记录中的记录进行排序的速度。在一些实现方式中,该方法能够包括由数据处理系统基于第一游程生成速率和第二游程生成速率中的至少一个来设定用于将第一游程的第一多个记录添加到数据库上的合并带宽。在一些实现方式中,该方法可以进一步包括由数据处理系统针对第一多个记录标识对应的多个第一键值在键域上的分布。在一些实现方式中,该方法可以进一步包括由数据处理系统基于所对应的多个第一键值在键域上的分布来确定包括分位点条件的多个分位点条件。在一些实现方式中,该方法能够包括由数据处理系统在合并级别上合并第二多个记录的子集和第一多个记录的同时,确定第一游程的第一多个记录的全部都被添加到数据库上的合并级别。在一些实现方式中,该方法能够包括由数据处理系统响应于确定第一游程的第一多个记录的全部都被添加,从第一多个记录释放第一缓冲器以为第三游程接收第三多个记录。在一些实现方式中,该方法能够包括由数据处理系统与将第二多个记录的子集合并到数据库上的合并级别上并发地在第二缓冲器上维护第二多个记录。在一些实现方式中,该方法能够包括由数据处理系统确定第二多个记录的子集和第一多个记录到数据库上的合并级别上的合并完成。在一些实现方式中,该方法能够包括由数据处理系统响应于确定到合并级别上的合并完成而初始化数据库上的第二合并级别以接收第二游程的第二多个记录的至少剩余子集的合并。在一些实现方式中,该方法能够包括由数据处理系统接收对定义键域的多个键值中的至少一个的查询。在一些实现方式中,该方法能够包括由数据处理系统使用查询来搜索数据库上的合并级别,该合并级别包括来自多个游程的记录。在一些实现方式中,合并第二多个记录的子集进一步包括使用第二合并索引来跟踪第二多个记录的子集到数据库上的合并级别上的合并。第二合并索引能够引用在合并期间添加到合并级别的第二多个记录中的一个的第二键值。第二合并索引能够基于分位点条件最初设定。在该方法的一些实施方式中,建立第一游程能够包括使用快速排序或优先级队列中的至少一个在键域上按对应的多个第一键值对第一多个记录进行排序。第一多个记录能够通过第一对应的多个索引值来最初排列。在该方法的此类实现方式中,建立第二游程能够包括经由输入数据流从数据获取源接收第二多个记录以存储在第二缓冲器上。能够通过第二对应的多个索引值并且使用快速排序或优先级队列中的至少一个在键域上按对应的多个第二键值对第二多个记录进行排序来最初排列第二多个记录。本公开的至少一个其他方面涉及一种用于维护键值存储的系统,包括具有一个或多个处理器的数据处理系统。数据处理系统能够在第一缓冲器上建立用于对第一多个记录进行排序的第一游程。第一多个记录能够由第一对应的多个索引值最初索引。第一多个记录中的每个记录能够具有键域中的第一键值。键域能够定义多个键值。数据处理系统能够使用合并索引来跟踪第一游程的第一多个记录到数据库上维护的合并级别上的合并。合并索引引用在合并期间添加到合并级别的第一多个记录中的记录的第一键值。数据处理系统能够与第一批多个记录的合并并发地建立用于对第二多个记录进行排序的第二游程。第二多个记录能够由与第一多个索引值不同的第二对应的多个索引值来索引。第二多个记录中的每个记录能够具有键域中的第二键值。数据处理系统能够确定跟踪第一多个记录到合并级别上的合并的合并索引满足分位点条件。分位点条件能够对应于键域中的多个键值中的至少一个。响应于确定合并索引对应于分位点条件,数据处理系统能够从第二缓冲器中标识第二游程的第二多个记录的子集。子集的每个记录能够具有满足分位点条件的所对应的第二键值。数据处理系统能够将第二游程的第二多个记录的子集添加到第一游程的第一多个记录到数据库上维护的合并级别上的合并。在一些实现方式中,数据处理系统被进一步配置成基于合并索引和由分位点条件指定的分位点索引的比值来确定转接键值。在一些实现方式中,数本文档来自技高网...

【技术保护点】
1.一种维护键值存储的方法,包括:/n由具有一个或多个处理器的数据处理系统在第一缓冲器上建立用于对第一多个记录进行排序的第一游程,所述第一多个记录由第一对应的多个索引值最初索引,所述第一多个记录中的每个记录具有键域中的第一键值,所述键域定义多个键值;/n由所述数据处理系统使用合并索引来跟踪所述第一游程的所述第一多个记录到数据库上维护的合并级别上的合并,所述合并索引引用在所述合并期间添加到所述合并级别的所述第一多个记录中的记录的所述第一键值;/n由所述数据处理系统与所述第一多个记录的合并并发地在第二缓冲器上建立用于对第二多个记录进行排序的第二游程,所述第二多个记录由与所述第一多个索引值不同的第二对应的多个索引值来索引,所述第二多个记录中的每个记录具有所述键域中的第二键值;/n由所述数据处理系统确定跟踪所述第一多个记录到所述合并级别上的合并的合并索引满足分位点条件,所述分位点条件对应于所述键域中的所述多个键值中的至少一个;/n由所述数据处理系统响应于确定所述合并索引对应于所述分位点条件而从所述第二缓冲器中标识所述第二游程的所述第二多个记录的子集,所述子集的每个记录具有满足所述分位点条件的对应的第二键值;以及/n由所述数据处理系统将所述第二游程的所述第二多个记录的所述子集添加到所述第一游程的所述第一多个记录到所述数据库上维护的所述合并级别上的合并。/n...

【技术特征摘要】
【国外来华专利技术】20180914 US 62/731,6301.一种维护键值存储的方法,包括:
由具有一个或多个处理器的数据处理系统在第一缓冲器上建立用于对第一多个记录进行排序的第一游程,所述第一多个记录由第一对应的多个索引值最初索引,所述第一多个记录中的每个记录具有键域中的第一键值,所述键域定义多个键值;
由所述数据处理系统使用合并索引来跟踪所述第一游程的所述第一多个记录到数据库上维护的合并级别上的合并,所述合并索引引用在所述合并期间添加到所述合并级别的所述第一多个记录中的记录的所述第一键值;
由所述数据处理系统与所述第一多个记录的合并并发地在第二缓冲器上建立用于对第二多个记录进行排序的第二游程,所述第二多个记录由与所述第一多个索引值不同的第二对应的多个索引值来索引,所述第二多个记录中的每个记录具有所述键域中的第二键值;
由所述数据处理系统确定跟踪所述第一多个记录到所述合并级别上的合并的合并索引满足分位点条件,所述分位点条件对应于所述键域中的所述多个键值中的至少一个;
由所述数据处理系统响应于确定所述合并索引对应于所述分位点条件而从所述第二缓冲器中标识所述第二游程的所述第二多个记录的子集,所述子集的每个记录具有满足所述分位点条件的对应的第二键值;以及
由所述数据处理系统将所述第二游程的所述第二多个记录的所述子集添加到所述第一游程的所述第一多个记录到所述数据库上维护的所述合并级别上的合并。


2.根据权利要求1所述的方法,进一步包括:
由所述数据处理系统基于所述合并索引和由所述分位点条件指定的分位点索引的比值来确定转接键值;和
由所述数据处理系统基于所述数据库的合并带宽确定带宽偏移,所述合并带宽指示所述数据库正在添加所述第一多个记录并且所述第二多个记录的所述子集被合并的速率,并且
其中,确定所述合并索引满足所述分位点条件进一步包括确定所述合并索引满足由所述带宽偏移调整的所述转接键值。


3.根据任意前述权利要求所述的方法,进一步包括:
由所述数据处理系统使用游程索引来跟踪使用所述第二多个记录的所述第二游程的建立,所述游程索引引用在所述第二游程中排序的所述第二多个记录的数目;和
由所述数据处理系统确定由所述游程索引引用的所述第二多个记录中的记录的所述第二键值满足所述分位点条件,并且
其中,添加所述第二多个记录的所述子集进一步包括与所述第二游程的建立并发地并响应于确定由所述游程索引引用的记录的第二键值满足所述分位点条件而发起将所述第二游程的所述第二多个记录的所述子集添加到所述合并。


4.根据任意前述权利要求所述的方法,进一步包括:
由所述数据处理系统标识在所述第一缓冲器上建立所述第一游程的第一游程生成速率,所述第一游程生成速率指示在所述第一游程中对所述第一多个记录中的记录进行排序的速度;
由所述数据处理系统标识在所述第二缓冲器上建立所述第二游程的第二游程生成速率,所述第二游程生成速率指示在所述第二游程中对所述第二多个记录中的记录进行排序的速度;以及
由所述数据处理系统基于所述第一游程生成速率和所述第二游程生成速率中的至少一个来设定用于将所述第一游程的所述第一多个记录添加到所述数据库上的合并带宽。


5.根据任意前述权利要求所述的方法,进一步包括:
由所述数据处理系统针对所述第一多个记录标识对应的多个第一键值在所述键域上的分布;
由所述数据处理系统基于所述对应的多个第一键值在所述键域上的分布来确定包括所述分位点条件的多个分位点条件。


6.根据任意前述权利要求所述的方法,进一步包括:
由所述数据处理系统在所述合并级别上合并所述第二多个记录的所述子集和所述第一多个记录的同时,确定所述第一游程的所述第一多个记录的全部都被添加到所述数据库上的合并级别;
由所述数据处理系统响应于确定所述第一游程的所述第一多个记录的全部都被添加,从所述第一多个记录释放所述第一缓冲器以为第三游程接收第三多个记录;以及
由所述数据处理系统与将所述第二多个记录的所述子集合并到数据库上的所述合并级别上并发地在所述第二缓冲器上维护所述第二多个记录。


7.根据任意前述权利要求所述的方法,进一步包括:
由所述数据处理系统确定所述第二多个记录的所述子集和所述第一多个记录到所述数据库上的所述合并级别上的合并完成;和
由所述数据处理系统响应于确定到所述合并级别上的所述合并完成而初始化所述数据库上的第二合并级别上的第三游程以接收所述第二游程的所述第二多个记录的至少剩余子集的合并。


8.根据任意前述权利要求所述的方法,进一步包括:
由所述数据处理系统接收对定义所述键域的所述多个键值中的至少一个的查询;和
由所述数据处理系统使用所述查询来搜索所述数据库上的所述合并级别,所述合并级别包括来自多个游程的记录。


9.根据任意前述权利要求所述的方法,其中,合并所述第二多个记录的所述子集进一步包括使用第二合并索引来跟踪所述第二多个记录的所述子集到所述数据库上的所述合并级别上的合并,所述第二合并索引引用在所述合并期间添加到所述合并级别的所述第二多个记录中的一个的所述第二键值,所述第二合并索引最初基于所述分位点条件被设定。


10.根据任意前述权利要求所述的方法,其中,建立所述第一游程进一步包括使用快速排序或优先级队列中的至少一个在所述键域上通过对应的多个第一键值对所述第一多个记录进行排序,所述第一多个记录最初通过所述第一对应的多个索引值被排列,并且
其中,建立所述第二游程进一步包括:
经由输入数据流从数据获取源接收所述第二多个记录以存储在所述第二缓冲器上,所述第二多个记录最...

【专利技术属性】
技术研发人员:格茨·格雷斐
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1