[发明专利]联机事务处理中的数据处理方法和装置无效
申请号: | 200810090487.1 | 申请日: | 2008-04-21 |
公开(公告)号: | CN101566986A | 公开(公告)日: | 2009-10-28 |
发明(设计)人: | 赵林 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 联机 事务处理 中的 数据处理 方法 装置 | ||
技术领域
本发明涉及联机事务处理领域,尤其涉及一种联机事务处理中的数据处理方法及装置,以及,一种联机事务处理中的数据查询方法及装置。
背景技术
联机事务处理(On-Line Transaction Processing,OLTP)是指利用计算机网络,将分布于不同地理位置的业务处理计算机设备或网络与业务管理中心网络连接,以便于在任何一个网络节点上都可以进行统一、实时的业务处理活动或客户服务。OLTP是传统的关系型数据库的主要应用,在OLTP环境下,由于业务的高速发展,在数据库中,有一些业务核心数据表的数据量极大,达到亿级以上的数目,并且由于OLTP的并发事务处理特征,导致这些大数据量数据表的并发访问量极高,因而当维护这些数据表时,通常都要选择在业务低峰期,如在深夜进行维护操作,操作的内容包括:添加字段,创建索引,重建索引等等。尽管已经选择了一个业务低峰的窗口,但还是会发生一些问题,例如,在ORACLE数据库中,引起相关结构化查询语言(Structured Quevy Language,SQL)的语句执行计划发生变更;创建索引或重建索引时占用大量的临时表空间(temporary tablespace);或者进行数据库定义语言(Data DefinitionLanguage,DDL)操作时阻塞大量的会话,而这些风险都会给核心数据库带来灾难性问题,如数据库响应应用服务器请求缓慢,进而导致应用服务器响应客户的请求缓慢,无法为客户提供稳定的服务。
现有技术中,另一个很客观的现实是:随着企业OLTP业务的高速发展,高并发访问的一些业务核心数据表集中在单台数据库上,这些单台数据库通常都是使用一台存储的,即使是高端存储,所能承受的每秒输入/输出操作(Input/Output Per Second,IOPS)的峰值也极其有限,因此存储很容易成为整个数据库系统的瓶颈(bottleneck),造成数据库读写数据变慢的结果;而且在实际使用高端存储的过程中,随着IOPS的增长,存储内部的缓存(Cache)命中率也会越来越低,进一步加重了存储的磁盘读写压力,数据库响应应用服务器的请求时间越来越长,进而影响到企业业务的正常运行。
当前在OLTP的应用中,一般存在两种数据处理方法,第一种为把业务核心数据全部放在一张普通表里,第二种为把业务核心数据全部放在ORACLE分区表里。
采用第一种方法时,因为业务核心数据都放在一张普通表里,所以在进行DDL操作,比如添加字段时,将引起所有与此张普通表相关的SQL语句产生硬解析,在高并发的OLTP应用中,导致发生大面积的librarycache pin,library cache load lock等待,影响到所有会话对这张表数据的访问;同时,如果统计数据不准确,硬解析产生错误的SQL执行计划,那么所有运行此SQL的会话都将受到此影响,导致系统不可承受的高压力;另外,在创建或重建索引时,因为数据量庞大,导致DDL操作时间过长,有较高的风险性,而且在操作的过程中,通常会占用大量临时表空间用于排序,对数据库性能影响较大。
采用第二种方法时,在现有的hash(哈希)分区方式中,Oracle为每个数据表都进行了分区,其中每一个分区(Partition)就是一个段(segment),在这些段中可以创建本地索引(local index);当外界查询数据时,Oracle首先根据分区条件进行hash运算,从而可以确定要访问的分区,进而在这些分区中使用本地索引以查询数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810090487.1/2.html,转载请声明来源钻瓜专利网。