当前位置: 首页 > 专利查询>伊姆西公司专利>正文

用于评估数据库的分区方案的方法和装置制造方法及图纸

技术编号:9276481 阅读:105 留言:0更新日期:2013-10-24 23:30
本发明专利技术的各实施方式涉及用于评估数据库的分区方案的方法和装置。具体地,提供了一种用于评估数据库的分区方案的方法,包括:加载描述数据库的数据文件以及定义针对数据库执行的操作的工作负载;解译数据库的分区方案以形成分区信息;基于分区信息,对数据库执行工作负载中定义的至少一部分操作以获得统计日志;以及基于统计日志,根据评估标准来评估分区方案。在另一实施方式中,提供了一种用于评估数据库的分区方案的装置。

【技术实现步骤摘要】
用于评估数据库的分区方案的方法和装置
本专利技术的各实施方式涉及数据库系统,更具体地,涉及用于评估数据库的分区方案的方法、装置和相关计算机程序产品。
技术介绍
计算机技术的发展为人们的工作和生活提供了诸多便利,越来越多的数据采用数字化方式在数据库中存储和管理。在提供方便的同时,长期以来如何以更有效的方式存储和管理这些数据一直是数据库领域的研究重点。为了改进数据库应用的性能,在需要管理的数据规模越来越大并且数据库应用越来越复杂的情况下,为了提高数据库系统的扩展性、可用性和可管理性、并提高数据库应用的性能,目前已经针对事务型(transactional)应用和分析型(analytical)应用开发了数据库分区(databasepartitioning)技术。多数主要的数据库提供商(诸如,和等)已经提出了支持数据库分区的解决方案。并且目前已经提出了多种数据库分区算法,例如,round-robin算法、基于范围的算法以及哈希算法等,这些算法已经广泛应用于数据库的各种分区方案。另外,已经提出了针对特殊需求而定制的更加灵活的数据库分区方案,例如Dynamo系统的一致性哈希方案,针对社交网络的OneHop方案等。面临各种可供选择的数据库分区方案,数据库管理员(DBA)难以辨别应当选择何种分区方案。在选择数据库分区方案时,数据库管理员通常需要考虑多项因素,例如分区键的选择、数据分区算法、数据放置策略、数据库的重分区、实现复杂性,等等。面临大量备选分区方案,数据库管理员如何选择适当的分区方案以实现性能优良的数据库,这成为一项亟待解决的问题。尽管目前某些数据库的提供商开发了用于评估数据库分区方案的辅助工具,然而这些工具普遍存在诸多缺陷。例如,现有辅助工具通常仅向用户推荐单一的分区方案,然而并不描述使用该分区方案的优势或者效果;在比较各个分区方案的性能时,现有辅助工具通常基于计划开销估计来进行预测,难以保障准确性;并且现有辅助工具仅仅考虑数量有限的数据库分区方案,用户并不能利用辅助工具来评估自定义的分区方案;另外现有工具普遍是针对特定的数据库管理系统开发的,不具备兼容性。
技术实现思路
因而,期望提供一种能够对数据库分区方案进行评估、并能够清晰地比较不同数据库分区方案在不同方面性能优劣的方法,以便降低选择分区方案时的大量人力和物力投入;并且,还期望提供一种可以跨越不同数据库管理系统使用的兼容的评估工具。为此,本专利技术的各个实施方式提供了一种于评估数据库的分区方案的方法、装置和计算机程序产品。在本专利技术的一个实施方式中,提供了一种用于评估数据库的分区方案的方法。该方法包括:加载描述数据库的数据文件以及定义针对数据库执行的操作的工作负载;解译数据库的分区方案以形成分区信息;基于分区信息,对数据库执行工作负载中定义的至少一部分操作以获得统计日志;以及基于统计日志,根据评估标准来评估分区方案。在本专利技术的一个实施方式中,分区信息至少包括:分区键、查找表以及系统配置。在本专利技术的一个实施方式中,在加载描述数据库的数据文件以及定义针对数据库执行的操作的工作负载之前还包括:针对数据文件和/或工作负载进行压缩。在本专利技术的一个实施方式中,提供了一种用于评估数据库的分区方案的装置,包括:加载装置,配置用于加载描述数据库的数据文件以及定义针对数据库执行的操作的工作负载;解译装置,配置用于解译数据库的分区方案以形成分区信息;执行装置,配置用于基于分区信息,对数据库执行工作负载中定义的至少一部分操作以获得统计日志;以及评估装置,配置用于基于统计日志,根据评估标准来评估分区方案。在本专利技术的一个实施方式中,分区信息至少包括:分区键、查找表以及系统配置。在本专利技术的一个实施方式中,还包括:压缩装置,配置用于针对数据文件和/或工作负载进行压缩。采用根据本专利技术的各实施方式,用户仅需要提供数据库数据以及针对数据库数据执行的操作,利用预存的数据库的分区方案或者自定义数据库的分区方案,即可针对各项数据库分区方案的多个方面进行评估;进而选择适当的数据库的分区方案或者针对特定数据库的分区方案进行进一步调整和评估。附图说明结合附图并参考以下详细说明,本专利技术各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本专利技术的若干实施方式。在附图中:图1示意性示出了分布式数据库的架构图;图2示意性示出了根据本专利技术一个实施方式的用于评估数据库分区方案的方法的流程图;图3示意性示出了根据本专利技术一个实施方式的模拟执行中所构造伪表的数据结构;图4示意性示出了根据本专利技术一个实施方式的用于评估数据库分区方案的架构图;图5A示意性示出了根据本专利技术一个实施方式的显示分区后数据库中数据分布的界面,图5B示意性示出了根据本专利技术一个实施方式利用不同分区方案时产生分布式事务数量的界面;图6示意性示出了根据本专利技术一个实施方式的用于评估数据库分区方案的装置的框图;以及图7示意性示出了适于实现本专利技术实施方式的示例性计算系统的框图。具体实施方式下面参考附图详细描述本专利技术的各实施方式。附图中的流程图和框图,图示了按照本专利技术各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。图1示意性示出了分布式数据库的架构图100。应当注意,随着数据库中数据量的增长,数据库应用中越来越多地采用了分布式数据库的存储方式。也即,将数据库中的数据分别存储在多个物理节点上。这些物理节点可以位于相同或者不同的物理位置,并且作为一个整体向外提供数据服务。应当注意,将数据放置在多个物理节点上,可以使得多个物理节点并行处理查询操作进而提高性能。另外每个操作可以只在一个物理节点或者几个物理节点上进行。当每个操作所要处理的数据集合更小,诸如只在全部数据的一部分上进行操作时,可以实现更加快速的查询处理。通过合理地设计分布式数据库中各个节点中的数据分布,可以提高数据库整体的运行效率。例如,在图1所示的数据库100中,数据可以分布于节点1110、节点2120、...、以及节点N130。对于某些小型数据库而言,尽管可以仅将数据存储在一个节点上,出于通用性考虑,在本专利技术采用分布于多个节点的分布式数据库作为描述本专利技术所述的方法和装置的应用环境。应当注意,在本文中所指的“用户”可以是数据库管理员,也可以是期望对数据库的分区方案进行评估的其他人员。目前,为了选择适当的数据库分区方案,通常需要数据库管理员具备关于数据库分区技术的本文档来自技高网
...

【技术保护点】
一种用于评估数据库的分区方案的方法,包括:加载描述数据库的数据文件以及定义针对数据库执行的操作的工作负载;解译所述数据库的分区方案以形成分区信息;基于所述分区信息,对所述数据库执行所述工作负载中定义的至少一部分操作以获得统计日志;以及基于所述统计日志,根据评估标准来评估所述分区方案。

【技术特征摘要】
1.一种用于评估数据库的分区方案的方法,包括:加载描述数据库的数据文件以及定义要针对所述数据库执行的操作的工作负载;解译所述数据库的分区方案以形成分区信息;基于所述分区信息,对所述数据库执行定义操作的所述工作负载中的至少一部分以获得统计日志,包括:基于所述数据库和所述分区信息,构建按照所述分区方案进行分区后的所述数据库的伪表,所述伪表存储描述按照所述数据库分区方案进行划分后的数据库的信息并提供在所述工作负载中的所述操作的估计的开销,所述伪表至少包括有关数据放置的信息、有关所述分区方案中的分区键的信息、以及所述数据库中主键;以及在不真正执行所述工作负载中的操作的情况下基于所述伪表获得估计的所述开销,以及基于估计的所述开销以获得所述统计日志;以及基于所述统计日志,按照评估标准来评估所述数据库分区方案。2.根据权利要求1所述的方法,其中所述分区信息包括以下至少任一项:分区键、查找表以及系统配置。3.根据权利要求1所述的方法,还包括:在加载所述数据文件以及定义操作的所述工作负载之前,针对所述数据文件和/或定义操作的所述工作负载进行压缩。4.根据权利要求1所述的方法,其中基于所述分区信息、对所述数据库执行所述工作负载中定义的至少一部分操作以获得统计日志还包括,通过实际执行来获得所述统计日志。5.根据权利要求4所述的方法,其中所述实际执行包括:将所述数据库部署至分区节点;将定义操作的所述工作负载中的操作路由至相应的分区节点并执行所述操作;以及在执行期间记录所述统计日志。6.根据权利要求1所述的方法,其中所述评估标准包括以下至少一项:数据分布、工作负载分布、分布式事务的数量以及重分区数据迁移、执行时间、响应时间、单位时间内执行的工作负载。7.根据权利要求1所述的方法,其中所述数据库分区方案包括预定义的分区方案以及自定义的分区方案。8.根据权利要求1所述的方法,其中描述所述数据库的所述数据文件是数据库实例和/或纯文本文件。9.根据权利要求1所述的方法,还包括:调整所述数据库分区方案的设置以获得新的分区方案。10.一种用于评估数据库的分区方案的装置,包括:加载装置,配置用于加载...

【专利技术属性】
技术研发人员:曹逾陈继东郭小燕
申请(专利权)人:伊姆西公司
类型:发明
国别省市:

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

1