维护数据库系统中用于联机分析处理的数据的方法和装置制造方法及图纸

技术编号:13461266 阅读:67 留言:0更新日期:2016-08-04 12:19
本发明专利技术的实施例公开了一种维护数据库系统中用于联机分析处理的数据的方法和装置。所述方法包括:跟踪主进程中修改的页面;以及同步所述修改的页面到子进程用于联机分析处理在所述维护用于联机分析处理的数据的方法和装置中,跟踪所述修改的页面并随后将所述子进程与所述修改的页面同步。因此,避免了定期创建子进程,从而减去了现有技术中的定期创建子进程产生的开销,由于仅同步了所述修改的页面,因此同步速度更快,并且联机数据处理的性能得到提高。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本专利技术的实施例公开了一种维护数据库系统中用于联机分析处理的数据的方法和装置。所述方法包括:跟踪主进程中修改的页面;以及同步所述修改的页面到子进程用于联机分析处理在所述维护用于联机分析处理的数据的方法和装置中,跟踪所述修改的页面并随后将所述子进程与所述修改的页面同步。因此,避免了定期创建子进程,从而减去了现有技术中的定期创建子进程产生的开销,由于仅同步了所述修改的页面,因此同步速度更快,并且联机数据处理的性能得到提高。【专利说明】维护数据库系统中用于联机分析处理的数据的方法和装置
本专利技术涉及数据处理
,尤其涉及一种维护用于联机分析处理的数据的方法和装置。
技术介绍
联机事务处理(OLTP)和联机分析处理(OLAP)是两种类型的数据库系统应用。OLTP系统用于管理和处理事务。此类事务处理系统的典型示例为销售订单录入或银行事务处理。OLAP系统用于分析数据,为业务分析师生成报告。典型报告包括按地理区域、产品类别或客户分类等划分的汇总销售统计资料。因为OLAP查询处理产生了资源竞争并严重损害了关键事务处理,所以最初就没有考虑尝试在运行的OLTP数据库上执行OLAP查询。因此,设计出了数据分级架构,在该架构中,事务处理在专用OLTP数据系统上进行。此外,安装了一个单独的数据仓库系统用于OLAP查询处理。定期(例如,在夜间)将OLTP数据库修改进行提取、转换为数据仓库架构的布局并且加载到数据仓库中。由于只能定期执行ETL(提取-转换-加载)过程,所以数据周转及其关联ETL明显会导致数据过期失效的问题。实时/运营商业智能要求对事务型OLTP数据的当前最新状态执行OLAP查询。作为一种解决方案,现有的具有主内存数据库的混合系统通过使用硬件辅助拷贝机制同时处理OLTP和OLAP以维护事务型数据的一致性快照。该系统在相同的、任意当前的、和一致性的快照上执行OLAP查询会话。通过在OLTP进程上创建一个子进程(forking)来创建这些快照,从而创建了一致的虚拟内存快照。该系统通过定期创建新快照并因此开始新的OLAP查询会话过程来支持创建任意当前快照。尽管现有混合系统看起来很有前景,但会产生以下技术问题。在多数进程上创建子进程通常要消耗以毫秒计的时间。这是因为要拷贝大量的页表项(PTE)。由于每384M数据的包含约100K个页面。因此周期性创建子进程将影响联机数据处理的性能。此外,创建子进程进行了大量的PET拷贝且未将该拷贝优化为可能被修改的增量部分。
技术实现思路
本专利技术的实施例提供一种维护数据库系统中用于联机分析处理的数据的方法和装置以避免定期创建子进程并提高联机数据处理的性能。根据第一方面,一种维护数据库系统中用于联机分析处理的数据的方法包括:操作系统内核跟踪主进程修改的页面,所述主进程在数据库系统中运行并执行联机事务;以及所述操作系统内核将所述修改的页面同步到子进程,所述子进程在数据库系统中运行并执行联机分析处理。在根据第一方面的维护数据库系统中用于联机分析处理的数据的方法的第一可能实施形式中,跟踪所述修改的页面包括:跟踪写时拷贝页面和/或新页面。在根据第一方面的维护数据库系统中用于联机分析处理的数据的方法的第二可能实施形式中,所述方法还包括存储待跟踪的内存的地址范围;其中跟踪所述修改的页面包括如果将数据写入到页面导致了页面错误,确定所述页面为所述修改的页面,如果所述修改的页面的物理页面地址在所述地址范围内,那么将所述物理页面地址存储在第一数据结构中。在根据第一方面的第二可能实施形式的维护数据库系统中用于联机分析处理的数据的方法的第三可能实施形式中,将所述修改的页面同步到所述子进程包括:从所述主进程获取所述存储的物理页面地址;在所述子进程中查找指向所述存储的物理页面地址的虚拟页面地址;如果所述虚拟页面地址存在,那么使用所述存储的物理页面地址更新所述虚拟页面地址的页表项;如果所述对应虚拟页面地址不存在,那么创建用于将新虚拟页面地址映射到所述存储的物理页面地址的新页表项;增加共享页面数并且将与所述存储的物理页面地址对应的页面标志设置为可写。在根据第一方面的所述维护数据库系统中用于联机分析处理的数据的方法的第四可能实施形式中,将所述修改的页面同步到所述子进程包括在预定同步时间点将所述修改的页面同步到所述子进程。在根据第一方面的所述维护数据库系统中用于联机分析处理的数据的方法的第五可能实施形式中,在跟踪所述修改的页面之前所述方法还包括:创建所述主进程的所述子进程。在根据第一方面的第五可能实施形式的所述维护数据库系统中用于联机分析处理的数据的方法的第六可能实施形式中,创建所述子进程包括:创建中间进程,所述中间进程为主进程的子进程;以及创建所述中间进程的子进程;将所述修改的页面同步到所述子进程包括将所述修改的页面同步到所述中间进程;以及将所述子进程与所述中间进程同步。在根据第一方面的所述维护数据库系统中用于联机分析处理的数据的方法的第七可能实施形式中,存在多个子进程,将所述修改的页面同步到所述多个子进程中的至少一个子进程;以及所述多个子进程的其它子进程与所述已同步所述修改的页面的所述至少一个子进程同步。在根据所述第一方面的所述维护数据库系统中用于联机分析处理的数据的方法的第八可能实施形式中,当到达同步时间时,阻塞联机事务处理直到同步所述子进程被同步;以及将所述修改的页面设置为对所述子进程共享和可写。在根据第一方面的第二可能实施形式的所述维护数据库系统中用于联机分析处理的数据的方法的第九可能实施形式中,当到达同步时间时,将所述修改的页面设置为可写,所述子进程根据所述第一数据结构与所述修改的页面同步;跟踪新的修改的页面并将所述新的修改的页面的页面地址存储在第二数据结构中。根据第二方面,一种维护用于联机分析处理的数据的装置包括:跟踪单元,用于跟踪主进程修改的页面,所述主进程在所述数据库系统中运行并执行联机事务处理;以及同步单元,用于将所述修改的页面同步到子进程,所述子进程在所述数据库系统中运行并执行联机分析处理。在根据所述第二方面的所述维护数据库系统中用于联机分析处理的数据的装置的第一可能实施形式中,所述跟踪单元具体用于跟踪写时拷贝页面和/或新页面。在根据第二方面的所述维护数据库系统中用于联机分析处理的数据的装置的第二可能实施形式中,所述装置还包括:第一存储单元,同于存储待跟踪的内存的地址范围;第二存储单元,用于存储所述修改的页面的物理页面地址;所述跟踪单元具体用于,如果将数据写入页面导致了页面错误并且所述页面的物理页面地址在所述地址范围内,将所述物理页面地址存储在所述第二存储单元中。在根据第二方面的第二可能实施形式的所述维护数据库系统中用于联机分析处理的数据的装置的第三可能实施形式中,所述同步单元具体用于:从所述第二存储单元获取所述物理页面地址;在所述子进程中查找指向所述物理页面地址的虚拟页面地址;如果存在所述虚拟页面地址,使用从所述第二存储单元获取的所述物理页面地址更新所述虚拟页面地址的页表项;否则,创建新页表项,以用于将所述子进程中的新虚拟页面地址映射到从所述第二存储单元获取的所述物理页面地址;增加共享页面数并且将与所述获取的物理页面地址对应的页面标志设置为可写。在根据第二方面的所述维护数据本文档来自技高网
...

【技术保护点】
一种维护数据库系统中用于在线分析处理的数据的方法,其特征在于,包括:操作系统内核跟踪主进程修改的页面,所述主进程在数据库系统中运行并执行联机事务处理;以及所述操作系统内核将所述修改的页面同步到子进程,所述子进程在数据库系统中运行并执行联机分析处理。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:威诺斯·韦拉拉格哈文普拉森纳·文卡特斯·拉玛穆尔蒂陈志标
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1