为什么数据库系统要采用并发控制?

 我来答
匿名用户
推荐于2017-11-29
展开全部
并发(concurrent)和并行(parallel)这两个概念,在数据库系统的资料中经常出现,然而有关它们的定义和区别却没有明确的说法。这里,我们根据这两个概念在资料中的使用,对它们的不同做一个说明。

并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。

并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统中,如果要执行一个大的数据查询,为了提高速度、降低响应时间,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。

需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。

数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
闫玉巧盛妍
2019-03-09 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:26%
帮助的人:600万
展开全部
世界是矛盾的。串行方式工作效率低,所以人们想到了并发方式,但是所有的并发都会在某种情况下带来问题。也就是所谓的并发问题。例如,在数据库中有第一类丢失更新问题,脏读问题、不可重复读问题、虚读问题、第二类丢失更新问题。所以,需要我们在开发程序的时候需要处理某些并发带来的问题。也就是说使用并发操作,但是不能有问题。通常采用总体并发,局部串行的方式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-15
展开全部
采用并发控制只是为了防止同时对一个目标发起操作而引起冲突
就好象线程访问资源时为什么要锁定被访问的资源一样,都是为了防止发生冲突
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-15
展开全部
不并发的话 你买的飞机票很有可能在同时也给别人卖了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式