使用盲更新操作的高吞吐量数据修改制造技术

技术编号:15199601 阅读:51 留言:0更新日期:2017-04-21 23:21
获取规定对与键值储存库相关联的逻辑页面的更新的更新请求。在没有经由读取操作访问逻辑页面的情况下,使用所获得的多个更新请求来发布对逻辑页面的更新。

High throughput data modification using blind update operations

Gets the update request for the update of the logical page associated with the key store. In the absence of access to a logical page through a read operation, the update of the logical page is published using the obtained update requests.

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
电子设备的用户经常需要访问数据库系统以获取各种类型的信息。已经设计了很多不同的技术用于存储和检索数据项。例如,一些最近的硬件平台已经利用最近的硬件开发(诸如,多核处理器、多层存储器分层结构)和辅助存储设备(诸如,闪存),以努力提供更高的性能。
技术实现思路
根据一个一般方面,一种系统可以包括一种装置,该装置包括存储可执行指令的计算机可读存储介质,这些可执行指令包括页面更新管理器,该页面更新管理器包括更新获取模块,该更新获取模块获取更新请求,该更新请求规定对于与键值储存库相关联的逻辑页面的更新。在没有经由读取操作访问逻辑页面的情况下,更新发布引擎使用所获得的更新请求来发布更新。根据另一方面,可以获得规定对与逻辑页面相关联的键值储存库中的键的递增更新的更新请求。在没有经由读取操作访问逻辑页面的情况下,该键可以使用所获得的更新请求来递增地更新。根据另一方面,一种包括计算机可读存储介质的计算机程序产品存储可执行指令,这些可执行指令引起至少一个数据处理装置获取规定对与键值储存库相关联的逻辑页面的更新的多个更新请求,并且在没有经由读取操作来访问逻辑页面的情况下,使用所获得的多个更新请求来发布更新,作为向键发布所获得的更新的一部分。提供本
技术实现思路
以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。在附图和以下描述中阐述了一个或多个实现的细节。根据说明书和附图以及权利要求书,其他特征将是容易理解的。附图说明图1A至图1C描绘了示例更新操作。图2是示例B树原子记录存储架构的框图。图3示出了用于高速缓存/存储层的访问方法的示例架构分层。图4是用于多个访问方法的无锁存的日志结构存储装置的示例架构的框图。图5示出了示例映射表。图6A和图6B示出了示例映射表上的示例增量更新。图7描绘了示例部分页面换出和示例部分交换增量。图8A至图8C示出了闪存存储装置上的示例日志结构存储组织。图9是使用盲更新操作的数据修改的示例系统的框图。图10A至图10C是示出图9的系统的示例操作的流程图。图11A和图11B是示出图9的系统的示例操作的流程图。图12是示出图9的系统的示例操作的流程图。具体实施方式I.介绍硬件平台的最新发展已经开发了多核处理器、多层存储器分层结构和辅助存储设备(诸如,闪存),以努力提供更高的性能。例如,中央处理单元(CPU)的改变包括多核处理器和涉及多级高速缓存的主存储器访问。例如,就地更新妥协能力的闪存存储装置和硬盘供应商识别已经导致日志结构的使用增加。例如,云数据中心增加了系统规模,并且商品硬件的使用增加了对高可用性技术的重视。很多索引应用可能需要以高吞吐量来维持快速写入。对于这样的应用,在写入(以查找键的现有值)之前所需要的读取输入/输出(I/O)可能是索引插入吞吐量的瓶颈。存在广泛的应用类别(例如,倒排索引),其中与键相关联的值可以在不知道现有值的情况下被更新(例如,向用于一个项的发布列表添加新的文档标识符(id))。对于这样的应用,更新不需要涉及读取I/O,但是底层键值储存库可能不支持这样的优化。根据本文中讨论的示例技术,在不对更高级应用做出任何假设的情况下,可以在通用键值储存库的框架内使用用于“盲”递增更新(不需要读取以执行写入操作)的机制。与本文中讨论的示例键值储存库的日志结构存储组织一起,键更新可以以可以接近顺序存储写入带宽的吞吐量来保持。根据本文中讨论的示例技术,还提供了一种用于对被包括在与示例键值储存库相关联的逻辑页面中的记录进行“盲”更新(不需要读取以执行写入操作)的机制。在本上下文中,“键值储存库”通常可以指代可以存储相应键(或项)和值的对、以及当相应键已知时的检索值的数据库管理系统的形式。例如,键值储存库可以包括具有与相应项相关联的对象的相应列表的项(例如,键)。例如,键值储存库可以存储包括与相应项相关联的文档标识符的相应列表的索引。例如,在倒排索引环境(例如,LUCENE)中,常见的方法是“分段索引”。当文档到达时,分段索引被一一写入。虽然这样的写入避免了读取,但是它们可能使查询服务路径复杂化。例如,查询可以扫描多个分段索引,因此用户可以在查询时间与结果的新鲜度之间做出折衷。在本上下文中,“倒排索引”通常可以指代索引数据结构,索引数据结构存储从内容(例如,字或数字)到其在数据库文件中或在文档或文档集合中的位置的映射。例如,当文档被添加至数据库时,可以以增加处理为代价使用倒排索引来实现快速全文本搜索。例如,倒排索引可以包括存储用于每个字的对文档的引用列表的记录级倒排索引(例如,倒排文件索引或倒排文件)、或者可以另外存储文档内的位置字的字级倒排索引(例如,完全倒排索引或倒排列表)。例如,在通用键值储存库环境(例如,日志结构合并树(LSM-树))中,可能不支持语义值合并。因此,读取I/O被用以执行写入,并且这可能减慢索引插入的速度。根据本文中讨论的示例技术,可以在驻留在存储装置(例如,盘或闪存)上的索引页面的存储器中保持细长的页面存根。该页面存根存储帮助将页面的其余部分定位在辅助存储装置上的信息(例如,存储指示页面的其余部分驻留的位置的位置信息)。例如,它还可以存储一些访问方法特定的信息。例如,它可以存储与索引页面相关联的键边界(例如,与索引页面相关联的索引的最小键值和最大键值)。因此,例如,当执行盲更新时,存根可以提供帮助确定特定键属于特定页面(或不属于特定页面)的信息。例如,如果页面在处理期间被分割,则存根具有关于边界的信息。在本上下文中,“页面”可以指代存储装置中的对象,其可以经由物理存储地址来被访问。如本文中使用的,“页面”可以与灵活的大小相关联,并且可以表示可以分布在多个不连续存储的存储分段上的页面存储单元。存储装置可以包括易失性存储装置和/或稳定存储装置。在本上下文中,“逻辑页面”可以包括基本页面和指示对页面的更新的零个或多个增量记录,因此使得页面能够在被冲刷时以碎片被写入闪存。因此,闪存上的逻辑页面可以对应于可能在被链接在一起的不同物理设备块上的记录,例如,使用文件偏移量作为指针。此外,物理块可以包括来自多个逻辑页面的记录。此外,逻辑页面可以指代存储相关信息的位置。根据本文中讨论的示例技术,当页面上的键的递增更新到达时,这可以作为“增量记录”被附加至页面(例如,通过链接至现有的页面存根)。可能不需要读取I/O,这是因为页面存根足以更新成功。根据本文中讨论的示例技术,这些增量记录可以最终使用“递增页面冲刷”来被冲刷到存储装置,其中页面的未冲刷部分被复制到更大的冲刷缓冲器,该冲刷缓冲器可以使用单个写入I/O(例如,使用LLAMA)被附加至在存储装置上的“数据日志”的结尾,因此利用整个存储写入带宽。在本上下文中,“冲刷”操作可以指代通过将页面复制到输出缓冲器来将页面从主存储器(例如,高速缓存存储装置)传送给辅助存储装置。根据本文中讨论的示例技术,在其中读取I/O可以是可接受的查找(查询)路径上,整个页面可以从存储装置中读取,并且键的值的不同片段可以被提供给“用户定义的合并功能”以获取最终值;合并功能的用户定义的属性可以使得键值储存库能够在没有任何应用知识本文档来自技高网...
使用盲更新操作的高吞吐量数据修改

【技术保护点】
一种系统,包括:至少一个处理器;存储可执行指令的计算机可读存储介质,所述可执行指令由所述至少一个处理器可执行,以用于实现包括页面更新管理器,所述页面更新管理器包括:更新获取模块,所述更新获取模块访问规定对于与键值储存库相关联的逻辑页面的更新的多个更新请求;以及更新发布引擎,所述更新发布引擎使用所访问的多个更新请求来控制所述更新的发布,所述发布在没有经由读取操作访问所述逻辑页面的情况下发生。

【技术特征摘要】
【国外来华专利技术】2014.07.20 US 14/335,9271.一种系统,包括:至少一个处理器;存储可执行指令的计算机可读存储介质,所述可执行指令由所述至少一个处理器可执行,以用于实现包括页面更新管理器,所述页面更新管理器包括:更新获取模块,所述更新获取模块访问规定对于与键值储存库相关联的逻辑页面的更新的多个更新请求;以及更新发布引擎,所述更新发布引擎使用所访问的多个更新请求来控制所述更新的发布,所述发布在没有经由读取操作访问所述逻辑页面的情况下发生。2.根据权利要求1所述的系统,还包括:页面存根管理器,所述页面存根管理器经由表示页面存根的页面存根增量记录来控制所述页面存根到所述逻辑页面的当前状态的前置,所述页面存根包括所述逻辑页面的当前状态的地址的指示以及规定所述逻辑页面的属性的元数据,所述页面存根到所述当前状态的所述前置经由原子操作通过在映射表中安装表示所述页面存根的所述页面存根增量记录的地址被控制。3.根据权利要求2所述的系统,其中:所述更新获取模块访问规定对所述逻辑页面的记录更新的多个更新请求;以及所述更新发布引擎使用所获得的多个更新请求来控制所访问的记录更新的发布,所述发布在没有经由读取操作访问所述逻辑页面的情况下发生。4.根据权利要求3所述的系统,其中:所述更新发布引擎通过向所述页面存根前置多个相应增量记录来控制所访问的记录更新的发布,其中所述多个相应增量记录包括规定对在所述相应多个更新请求中规定的所述逻辑页面的相应更新的记录更新信息。5.根据权利要求4所述的系统,还包括:整合引擎,所述整合引擎使用被前置于所述页面存根的所述多个相应增量记录经由预定义的整合功能来控制所访问的记录更新的整合。6.根据权利要求2所述的系统,其中:所述更新获取模块访问规定对所述逻辑页面中的记录的递增更新的多个更新请求;以及所述更新发布引擎使用所访问的多个更新请求来控制所访问的所规定的递增更新的递增发布,所述递增发布在没有经由读取操作访问所述逻辑页面的情况下发生。7.根据权利要求6所述的系统,其中:所述更新发布引擎通过控制多个相应增量记录到所述页面存根的递增前置来控制所访问的所规定的递增更新的递增发布,其中所述多个相应增量记录包括规...

【专利技术属性】
技术研发人员:S·森古普塔D·B·洛梅特J·J·勒范多斯基
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1