[发明专利]用于对数据库进行分区的方法和系统有效
申请号: | 201210387802.3 | 申请日: | 2012-09-29 |
公开(公告)号: | CN103714098B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 曹逾;郭小燕;陈继东 | 申请(专利权)人: | 伊姆西公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国马*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据库 进行 分区 方法 系统 | ||
本发明涉及一种用于对数据库进行分区的方法和系统。其中,对数据库进行分区的方法,包括:将所述数据库中的多个条目分组成一个或多个条目组,以使同一个所述条目组中的条目总是被一个或多个事务同时访问;以及将所述一个或多个条目组划分为设定数目个分区,以使跨多于一个分区进行访问的事务总数最小化。通过本发明,可以获得有效、灵活、便利的数据库分区方法,极大地提高了系统性能。
技术领域
本发明涉及数据库分区领域,更具体地,涉及面向事务型工作负载的数据库分区。
背景技术
随着计算机和网络技术的不断发展,对数据库技术的要求也日益提升。随着在线事务处理应用(例如在线交易应用)的规模的不断扩大和用户量的不断提升,这些应用产生了越来越多的数据和越来越多高度并发的事务,从而扩展性成为影响这些系统发展的主要障碍。系统的扩展性不好,会对系统的性能和吞吐量产生严重的影响。
为了解决扩展性的问题,许多基于Web的公司采用了经济有效的、并行的数据库管理系统(以下简称为DBMS)(例如Greenplum数据库),将数据和工作负载跨大量不共享任何内容的节点(例如商品服务器)进行分区。然而,在这些DBMS上的在线事务(transaction)处理(online transaction process,简称为OLTP)应用的可扩展性取决于最理想的数据库分区设计的存在:最理想的数据库分区设计限定了应用的数据和工作负载如何跨集群中的多个节点进行分区,以及对这些数据的查询和各项事务如何路由到多个节点。这转而确定了访问存储在各个节点上的事务的数量尤其是分布式事务的数量以及负载跨集群的分布的不均衡(skew)程度。对这两个因素进行优化对衡量复杂系统而言非常关键,如果没有恰当的设计,由于阻塞(blocking)、节点间通信以及负载平衡问题所引起的开销,DBMS的性能很可能并不好于单节点系统。
发明内容
针对上述问题,本发明提供一种用于对数据库进行分区的方法和系统。
根据本发明的一个方面,提供一种对数据库进行分区的方法,包括:将所述数据库中的多个条目分组成一个或多个条目组,以使同一个所述条目组中的条目总是被一个或多个事务同时访问;以及将所述一个或多个条目组划分为设定数目个分区,以使跨多于一个分区进行访问的事务总数最小化。
根据本发明的另一方面,提供一种对数据库进行分区的系统,包括:分组装置,被配置为将所述数据库中的多个条目分组成一个或多个条目组,以使同一个所述条目组中的条目总是被一个或多个事务同时访问;以及分区装置,被配置为将所述一个或多个条目组划分为设定数目个分区,以使跨多于一个分区进行访问的事务总数最小化
附图说明
通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得明显。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中相同的参考标号表示相同或相似的元素。
图1图示了本发明的实施方式可以实现于其中的示例性环境100。
图2图示了根据本发明一个示例性实施方式的用于对数据库进行分区的方法200的流程图。
图3图示了根据本发明示例性实施方式的用于对数据库进行分区的系统300的框图。
图4图示了根据本发明一个示例性实施方式的用于对数据库进行分区的系统的示例界面。
图5图示了适合用来实践本发明实施方式的计算机系统500的框图。
具体实施方式
下面将参考附图中示出的若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
首先参考图1,其图示了本发明的实施方式可以实现于其中的示例性环境100。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于伊姆西公司,未经伊姆西公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210387802.3/2.html,转载请声明来源钻瓜专利网。