DBMS 中的并发控制是什么?
并发控制概念属于数据库管理系统(DBMS)中的事务。它是DBMS中的一个过程,它帮助我们管理两个同时执行的进程,而不会相互冲突,这些冲突发生在多用户系统中。
并发可以简单地说是一次执行多个事务。需要提高时间效率。如果许多事务尝试访问相同的数据,就会出现不一致。维护一致性数据所需的并发控制。
比如我们拿ATM机,不使用并发,多人不能同时异地取钱。这就是我们需要并发的地方。
优点
并发控制的优点如下-
等待时间会减少。
响应时间会减少。
资源利用率将提高。
系统性能和效率得到提高。
控制并发
在共享数据库上同时执行事务会产生多个数据完整性和一致性问题。
例如,如果太多人在ATM机上登录,那么每当交易完成时银行服务器中的串行更新和同步就会发生,否则它会在数据库中提供错误的信息和错误的数据。
使用并发的主要问题
使用并发时出现的问题如下-
更新将丢失-一个事务进行一些更改,另一个事务删除该更改。一个事务使另一事务的更新无效。
未提交的依赖或脏读问题-在一个事务中更新了变量,同时另一个事务已经启动并删除了变量的值,变量没有在第一个事务中完成更新或提交,这给了我们假值或变量的先前值这是一个主要问题。
不一致的检索-一个事务正在更新多个不同的变量,另一个事务正在更新这些变量,出现的问题是同一变量在不同实例中的不一致。
并发控制技术
并发控制技术如下-
锁定
锁定保证对当前事务的数据项的独占使用。它首先通过获取锁来访问数据项,在事务完成后释放锁。
锁的种类
锁的类型如下-
共享锁【事务只能读取数据项值】
排他锁[用于读取和写入数据项值]
时间戳
时间戳是DBMS创建的唯一标识符,用于指示事务的相对开始时间。无论我们在做什么交易,它都会存储交易的开始时间并表示一个特定的时间。
这可以使用系统时钟或逻辑计数器生成。这可以在事务开始时启动。这里,逻辑计数器在分配了新的时间戳后递增。
乐观的
它基于这样一种假设:冲突很少见,并且允许事务在不施加延迟的情况下进行以确保可序列化更有效。