发明名称 |
用于主存储器数据库的存储器紧缩机制 |
摘要 |
本发明涉及用于主存储器数据库中执行存储器紧缩的方法、系统和计算机程序产品。主存储器数据库将记录存储在页内,页以双向链表组织在分区堆中。存储器紧缩过程使用准更新来将来自要被清空的页的记录移动到分区堆中的活动页。准更新在活动页中创建记录的新版本,该新版本具有与记录的旧版本相同的数据内容。创建新版本可以使用一事务来执行,该事务采用针对依赖性的等待以在该事务创建新版本的同时允许记录的旧版本被读取,藉此最小化存储器紧缩过程对主存储器数据库中的其它事务的影响。 |
申请公布号 |
CN104412241A |
申请公布日期 |
2015.03.11 |
申请号 |
CN201380032838.2 |
申请日期 |
2013.06.13 |
申请人 |
微软公司 |
发明人 |
D·兹罗继安尼斯;P-A·拉森 |
分类号 |
G06F12/02(2006.01)I;G06F17/30(2006.01)I;G06F12/08(2006.01)I |
主分类号 |
G06F12/02(2006.01)I |
代理机构 |
上海专利商标事务所有限公司 31100 |
代理人 |
陈斌 |
主权项 |
一种由存储主存储器数据库的计算机系统执行的用于在所述主存储器数据库内执行存储器紧缩的方法,所述方法包括:扫描存储器中的页的双向链表,所述页用于存储所述主存储器数据库的记录,扫描包括确定每一页的存储器利用(401);基于每一页的存储器利用来确定哪些页具有低于指定阈值的存储器利用(402);对于具有低于所述阈值的存储器利用的每一页,执行存储器紧缩过程,所述存储器紧缩过程包括(403):标识所述页中的每一有效记录(403a);对于每一有效记录,在活动页中创建所述记录的新版本(403b);对于为其创建新版本的每一有效记录,将所述记录标记为无效(403c);以及在将所述页中的每一有效记录标记为无效之后,将所述页清空并且从所述双向链表中移除(403d)。 |
地址 |
美国华盛顿州 |