论文首页
代写论文
代发论文
论文搜索:
www
热门:代写论文 |代写职称论文|期刊导航|代写留学生论文
 
当前位置:论文首页 >> 文学论文 >> 现代文学 >> 锁机制在数据库并发访问中的研究与应用

锁机制在数据库并发访问中的研究与应用 (1)

2014-01-14 08:38:07  作者:  来源:互联网  文字大小:【】【】【
简介:摘要:理想状态是数据库应用程序能够根据用户数量和数据容量线性地伸缩,但性能往往随用户的增加和数据量的增长而降低。以火车票售票为实例,详细介绍了在MS SQL 中如何利用锁及事务隔离机制实现并发访问控制下 ...
定制论文   发表论文

摘要:理想状态是数据库应用程序能够根据用户数量和数据容量线性地伸缩,但性能往往随用户的增加和数据量的增长而降低。以火车票售票为实例,详细介绍了在MS SQL 中如何利用锁及事务隔离机制实现并发访问控制下的数据一致性维护。
  关键词:数据库锁;并发控制;信息阻塞
  中图分类号:TP399文献标识码:A文章编号文章编号:1672-7800(2013)012-0126-03
  作者简介:涵(1979-),女,南京化工职业技术学院讲师,研究方向为计算机语言、数据库;
  林玫(1979-),女,江苏联合职业技术学院扬州商务分校工程师,研究方向为信息管理系统设计、开发与运用。
  0引言
  数据库管理系统每一时刻要面对成千上万次的用户请求,在理想世界里,多个查询请求应能并发执行,但在现实世界里,查询往往会互相阻塞,这与十字路口上一辆车通过绿灯而其它车等待的情况类似。在MSSQLServer中,这种交通管理采用锁管理的方式,它控制数据库资源的并发访问并以此来维护库中数据的一致性。
  通常情况下SQLServer 会自动实行锁机制管理,在用户有SQL 请求时,系统分析请求,在满足锁定条件和系统性能之间自动为数据库加上适当的锁,同时系统在运行期间常常自动进行优化处理,实行动态加锁。对于一般的用户而言,通过系统的自动锁定管理机制基本可以满足使用要求,但对于数据安全、数据库完整性和一致性有特殊要求的高级用户,就必须自己控制数据库的锁定和解锁[1],这就需要了解锁机制,掌握数据库锁定方法。
  1锁机制
  1.1锁相关概念
  锁是数据库中的一个非常重要的概念,主要用于多用户环境下数据库完整性和一致性的维护。为了改善并发性,MS SQL Server中实现如下资源级别上的锁粒度:
  ①行级锁(RID):指在一个表的单独行上维护,是数据库表最低级别的锁;
  ②键级锁(KEY):指索引中的行级锁;
  ③页级锁(PAG):在表或索引的单一页面中维护;
  ④区级锁(EXTENT),指一组连续的8个数据页面或索引页面;
  ⑤表级锁(TABLE),包括整个表的所有数据和索引,是表上最高级别的锁;
  ⑥数据库级锁(DB),在数据库上维护。
  1.2锁模式
  除了可以对不同的资源加锁之外,还可以使用不同程度的加锁方式,即锁有多种模式:
  (1)共享(S)锁。
  用于只读查询,允许多个并发事务对资源锁定进行读取,但禁止其它事务对锁定资源的修改操作,因此数据的完整性不会被并发读破坏。
  (2)更新锁(U)。
  U锁与UPDADE语句有关,在修改操作的初始化阶段用于锁定可能被修改的资源,在数据上不允许超过一个(U)锁,一次只有一个事务可以获得更新锁,之后当需要继续修改数据时,将更新锁转换为排它锁,否则将更新锁转换为共享锁。
  (3)排他模式(X)。
  用于数据操纵查询如INSERT\\UPDATE\\DELETE在数据库资源上修改的排他权力。它阻止其它事务访问修改之下的资源。
  (4)意向共享(IS)、意向排他(IX),意向共享排他(SIX)。
  表示如果获得一个对象的锁,说明该结点的下层对象正在被加锁,意向锁可以提高性能,因为系统仅在表级上检查意向锁而无须检查下层。
  (5) 架构锁。
  架构锁分为架构修改锁和架构稳定性锁。执行表的数据定义语言(DDL) 操作时使用架构修改锁,阻止所有事务锁。当编译查询时,使用架构稳定性锁,不阻塞所有事务锁,包括排他锁。
  (6) 大容量更新锁(BU)。
  当数据大容量复制到表的时候使用,BU允许进程将数据并发地大容量复制到同一表,同时防止其它不进行大容量复制数据的进程访问该表。
  在实际应用中,有时为了应用程序正确运行和保持数据的一致性,必须人为地给数据库的某个表加锁,这就是表提示[2]。在使用SQL语句中指定表级锁定提示的范围,以引导 DBMS使用所需的锁类型,语法为(以SELECT为例):
  SELECT FROM | WITH
  其中table_hint所指定的锁的类型主要有:NOLOCK(不加锁)、ROWLOCK(行级锁)、PAGLOCK(页级锁)、TABLOCK(表级锁)、TABLOCKX(表级排他锁)、HOLDLOCK(共享锁
[1] [2]

责任编辑:admin1

定制论文   发表论文


 

最新论文

更多

· 锁机制在数据库并发访问...
· 无缝学习环境下基于片段...
· 新课改理念下的小学数学...
· 如何提升高中物理习题教...
· 高考前的生物复习点滴想法
· 高中作文评改方法初探
· 教师精心引导创条件 学生...
· 海岛植被生态分析
· 生态文明建设背景下的林...
· 灵宝市林业产业发展的思...

推荐论文

更多

· 锁机制在数据库并发访问...
· 无缝学习环境下基于片段...
· 新课改理念下的小学数学...
· 如何提升高中物理习题教...
· 高考前的生物复习点滴想法
· 高中作文评改方法初探
· 教师精心引导创条件 学生...
· 海岛植被生态分析
· 生态文明建设背景下的林...
· 灵宝市林业产业发展的思...

热门论文

更多

· 浅析中国石油石化数字化...
· 护理心理学在临床护理工...
· 新课标下小学数学课堂教...
· 需求不确定条件下批量规...
· 浅析路桥施工企业内部审...
· 基层央行财政存款的缴存...
· 探讨初中语文素质教育的...
· 加强安全生产管理为经济...
· 不同角度数字化X线摄影在...
· 血小板单核细胞聚集体对...