提供并发的能力是数据库所特有的。电子表格或其他平面文件存储方式通常与数据库进行比较,但它们在这一重要方面有所不同。电子表格无法为多个用户提供查看和处理同一文件中不同数据的功能,因为一旦第一个用户打开文件,它就会锁定到其他用户。其他用户可以读取该文件,但可能无法编辑数据。
可能影响,并可能影响。这就是所谓的“一个老鼠屎坏了一锅汤。”许多DBA都遇到类似的问题,即一台服务器上,在服务器上的所有应用程序的应用程序编程问题,导致多个应用程序的数据都受到牵连。但是,根据你的描述,如果唯一的A1死锁,然后A2是不是一个问题。但是,如果的A1表扫描或复杂的计算,导致太多的资源,这将影响到A2的压力。
数据库的并发性通常指的是整个服务器的并发性,无论数据库服务器的几个库
并发(concurrent)和并行(parallel)这两个概念,在数据库系统的资料中经常出现,然而有关它们的定义和区别却没有明确的说法。这里,我们根据这两个概念在资料中的使用,对它们的不同做一个说明。并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。
并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统中,如果要执行一个大的数据查询,为了提高速度、降低响应时间,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。
需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。
数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)