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