为什么数据库系统要采用并发控制?
4个回答
推荐于2017-11-29
展开全部
并发(concurrent)和并行(parallel)这两个概念,在数据库系统的资料中经常出现,然而有关它们的定义和区别却没有明确的说法。这里,我们根据这两个概念在资料中的使用,对它们的不同做一个说知或明。
并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。
并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统慧厅中,如果要执行一个大的数据查询,为了提高速度、降低响应时间搭碧伍,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。
需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。
数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。
并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统慧厅中,如果要执行一个大的数据查询,为了提高速度、降低响应时间搭碧伍,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。
需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。
数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
展开全部
世界是矛盾的。串行方式工作效率低,所以人们想到了并发方式,但是所有的并发都会在某种情况下带来问题。也就是所谓的并发问题。例如,在数据库中有第一类丢失更新问题,脏读问题、不可重复读问题、虚读问题、第二类丢失更新问题。所以,需要慧卜我们在开发程序的时候需要处孝拿理某些并发带来的问题。也就是说使用并发操作,但是不能有问题。通常采用巧碧搭总体并发,局部串行的方式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-15
展开全部
采用并发控制只是为首竖了防止同时对一个目标发起操作而引起冲突
就好象线程访问前岩资源时为什么要锁定被访者悔大问的资源一样,都是为了防止发生冲突
就好象线程访问前岩资源时为什么要锁定被访者悔大问的资源一样,都是为了防止发生冲突
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-15
展开全部
不并发的话 你买的飞机票很有可能在同时也给别人卖了~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询