混合OLTP和OLAP高性能数据库系统技术方案

技术编号:8275246 阅读:265 留言:0更新日期:2013-01-31 12:28
提供了一种维护混合OLTP和OLAP数据库的方法,该方法包括:执行一个或多个OLTP业务;创建一个或多个虚拟存储器快照;并且使用虚拟存储器快照来执行一个或多个OLAP查询。优选地,该方法还包括:响应于对数据对象的更新复制存储有该数据对象的虚拟存储器页面,从而更新的数据对象可访问用于OLTP业务,而同时未更新的数据对象保持可访问用于OLAP查询。相应地,提供了一种混合系统,可以使用硬件辅助的复制机制来同时处理OLTP和OLAP,以维护业务数据的一致快照。

【技术实现步骤摘要】
【国外来华专利技术】混合OLTP和OLAP高性能数据库系统
技术介绍
在线业务处理(OLTP)和在线分析处理(OLAP)这两个领域对于数据库架构存在不同的挑战。在传统系统中,具有高关键任务业务率的消费者将他们的数据拆分成两个分离系统,一个数据库用于0LTP,一个数据库用于OLAP的所谓数据仓库。尽管允许合理的业务率,但是这种分离由许多缺点,包括由于仅周期性地发起精确转移负载数据分级而引起的延迟所导致的数据新鲜度问题以及由于维护两个分离的信息系统所导致过度资源消耗。在历史上,数据库系统主要用于在线业务处理。这种业务处理系统的典型示例是销售订单录入或银行业业务处理。这些业务访问和处理仅是整个数据的一小部分,内插可以非常快速地执行。根据标准化的TPC-C基准结果,当前最高的标度系统可以每秒处理多于100. 000个这种销售业务。 大约二十年前,开发了对数据库系统的新使用商业智能(BI)。BI应用依赖于长期运行的所谓在线分析处理(OLAP)查询,在线分析处理(OLAP)查询对数据的实质部分进行处理以便产生商业分析的报告。典型的报告包括根据地理区域、产品分类或消费者类别等分组的策略销售统计。取消了对可操作的OLTP数据库执行这些查询的首次尝试(例如,SAP的EIS项目),这是由于OLAP查询处理导致资源争夺并且严重地损害了关键任务业务处理。因此,设想了在图I中示例的数据分级架构。这里,对专用的OLTP数据库系统执行业务处理。此外,针对商业智能查询处理安装分离的数据仓库系统。周期性地,例如在夜晚期间,提取OLTP数据库变化,将OLTP数据库变化转移到数据仓库规划的布置中,并且加载到数据仓库中。这种数据分级及其关联的ETL处理展现了以下若干固有缺陷·过期数据由于ETL处理只能周期性地执行,因此数据仓库状态不会影响最新的商业业务。因此商业分析必须基于它们对过期(过时)数据的判断。 冗余两个系统的使用导致维护数据的两个冗余拷贝的成本。另一方面,冗余允许以应用特定方式对数据进行建模在针对OLTP处理的归一化表中并且作为针对OLAP查询的星形方案。·高费用维护两个分离的系统导致技术和经济惩罚,因为必须考虑两个系统(硬件、软件等)的费用和两个系统的维护成本以及复杂的ELT处理。本专利技术的目的是解决这些缺陷。
技术实现思路
根据本专利技术,提供了一种权利要求I中限定的方法。在其余权利要求中引述了有利实施例。本专利技术提供了一种混合系统,可以使用硬件辅助复制机制来同时处理OLTP和OLAP这二者,以维护业务数据的一致快照(consistent snapshot)。在一个实施例中,本专利技术提供了一种主存储器数据库系统,保证OLTP业务的ACID属性并且同时对任意当前和一致快照执行OLAP查询会话(多次查询)。使用对虚拟存储器管理(地址解译、高速缓存、更新拷贝)的处理器固有支持可以同时获得高业务率和低OLAP查询响应时间。根据本专利技术的实施例,放弃OLTP数据库与OLAT数据仓库系统的分离。可以通过主存储器数据库架构来实现在同一系统上集成这两个非常困难的工作量所需的处理性能。本专利技术实现了对业务OLTP数据的最新状态执行OLAP查询。这与传统系统相反,传统系统分开进行对OLTP数据库的业务处理和对数据仓库的查询处理,数据仓库仅周期性刷新,这导致基于过期(过时)数据的查询。在本专利技术的实施例中,业务数据库具备查询处理能力,从而(一部分)查询处理从数据仓库移至OLTP系统。为此,支持对相同数据库的OLTP业务处理和OLAP查询处理的混合工作量。这与最近针对不同应用情况构建专用系统的趋势略有不同。如果例如通过主存储器数据库架构提高了处理性能,则可以最佳地实现在相同系统上集成这两个非常不同的工作量。第一方面,(互联网可访问的)数据量的惊人激增与这种保持所有业务数据主存储器驻留的假设冲突。然而,较近的检查示出了商业关键业务数据库量具有支持主存储器数据管理的有限尺寸。为了证实这种假定,可以对Amazon的估计业务量进行分析。订单处理数据量具有大约150亿欧元的估计年度税收。假定单独订单线具有大约15欧元值,并且每个订单线导致大约54字节的存储数据(如针对TPC-C基准而指定的),对于作为这种销售应用中的主要仓库的订单线,总数据量应当是54GB每年。这种估计既不包括增加其他数据的量(消费者和产品数据),也不包括压缩数据以减小量的可能性。然而,安全地假定使年度销售数据适合大规模服务器的主存储器。此夕卜,推断过去开发,安全地预测日用品的主存储器容量,并且与最大商业消费者的要求相t匕,高端服务器更快速增长。附图说明图I示出了现有技术的分离的OLTB数据库和OLAP数据仓库。图2示出了根据本专利技术实施例的主存储器OLTP数据库架构。图3示出了根据本专利技术实施例的混合OLTP和OLAP数据库架构。图4示出了根据本专利技术实施例的新虚拟存储器快照的分岔。图5示出了在本专利技术实施例中使用的“更新拷贝”策略。图6示出了根据本专利技术实施例的针对OLAP查询使用虚拟存储器快照。图7示出了根据本专利技术实施例的不同时间点处多个OLAP会话。图8示出了根据本专利技术实施例的对分区数据的多线程OLTP处理。图9示出了根据本专利技术实施例的一致快照备份存储器。图10示出了根据本专利技术实施例的重做记录日志。图11示出了根据本专利技术实施例的用作OLTP处理器的备份以及活跃OLAP处理器的副服务器的使用。图12示出了根据本专利技术实施例的活跃业务的取消记录日志。图13示出了根据本专利技术实施例的恢复处理,包括⑴加载归档备份和⑵应用重做记录日志。具体实施方式在图2中示出了根据本专利技术实施例的用于业务处理的主存储器架构。在该实施例中,采用了单线程方法,其中,顺序地执行所有OLTP业务。该架构消除了以高成本锁定和锁存数据对象或索引结构的需要,这是由于仅活跃的更新业务“拥有”整个数据库。有利地,可以通过主存储器数据库来实现该串行执行方法,其中,不需要通过针对其他业务交错地利用CPU来代表一个业务从而掩蔽I/O操作。在主存储器架构中,典型的商业业务(例如,订单录入或支付处理)具有仅不到10毫秒的持续时间。然而,如果允许将复杂的OLAP型查询注入到工作量队列中,则会阻塞系统,这是由于所有的后续OLTP业务必须等待这种长运行查询的完成。即使这样的OLAP查询在30ms内完成,但是也会将系统锁定能够完成大约1000或更多OLTP业务的持续时间。然而,期望提供一种主存储器数据库系统,以每秒I万次的速率处理OLTP业务,同时能够处理对业务数据的最新快照的OLAP查询。根据本专利技术的实施例,提供了一种混合系统,能够使用硬件辅助复制机制同时处理OLTP和0LAP,以维护业务数据的一致快照。本专利技术可以通过保证OLTP业务的ACID属性的主存储器数据库系统来实现。具体 地,可以采用记录日志和备份归档用于持久性和快速恢复。与OLTP处理并行地,可以同样对任意当前和一致快照执行OLAP查询会话(多次查询)。使用对虚拟存储器管理(地址解译、缓存、更新拷贝)的处理器固有支持在相同系统中同时获得空前的高业务率和超低OLAP查询响应时间。系统架构根据本专利技术的实施例,可以对相同主存储器驻留数据库执行OLTP业务和OLAP查询。与老式基于磁盘的存储服务器相比,可以省略任何数据库特定缓冲器管理和页本文档来自技高网
...

【技术保护点】

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

【专利技术属性】
技术研发人员:阿尔方·坎佩托马斯·纽曼
申请(专利权)人:慕尼黑技术大学
类型:
国别省市:

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

1