数据库并行
1. 分布式数据库与并行数据库有什么区别
(1) 应用目标不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行完成数据库任务,提高数据库系统的整体性能。分布式数据库系统主要目的在于实现场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统处理性能。
(2) 实现方式不同。在具体实现方法上,并行数据库系统与分布式数据库系统也有着较大的不同。在并行数据库系统中,为了充分利用各个结点的处理能力,各结点间可以采用高速网络连接。结点键的数据传输代价相对较低,当某些结点处于空闲状态时,可以将工作负载过大的结点上的部分任务通过高速网传送给空闲结点处理,从而实现系统的负载平衡。
但是在分布式数据库系统中,为了适应应用的需要,满足部门分布特点的需要,各结点间一般采用局域网或广域网相连,网络带宽较低,颠倒点的通信开销较大。因此,在查询处理时一般应尽量减少结点间的数据传输量。
(3) 各结点的地位不同。在并行数据库系统中,各结点是完全非独立的,不存在全局应用和局部应用的概念,在数据处理中只能发挥协同作用,而不能有局部应用。在分布式数据库系统中,各结点除了能通过网络协同完成全局事务外,各结点具有场地自治性,每个场地使独立的数据库系统。每个场地有自己的数据库、客户、CPU等资源,运行自己的DBMS,执行局部应用,具有高度的自治性。
2. 为什么数据库系统要采用并发控制
并发(concurrent)和并行(parallel)这两个概念,在数据库系统的资料中经常出现,然而有关它们的定义和区别却没有明确的说法。这里,我们根据这两个概念在资料中的使用,对它们的不同做一个说明。
并发是指多个任务的同时执行,任务与任务之间没有联系。由于数据库系统要同时为许多用户提供服务,每个用户都可以发出自己的访问请求,一个请求就是一个任务。在一个时间点,数据库系统可能要同时处理多个任务。因此,数据库系统一定要具备并发处理能力。
并行是指将一个任务划分为多个子任务,这些子任务同时执行。在所有子任务处理完成后,将它们的结果进行合并,就得到该任务的最终处理结果。在数据库系统中,如果要执行一个大的数据查询,为了提高速度、降低响应时间,用户可以通过系统配置或者在命令中,要求对该大数据量查询进行并行处理,将该查询划分成多个子查询。这些子查询同时执行,最后系统将所有子查询的处理结果进行合并,作为该查询处理的最终结果。现有的大型数据库系统都支持并行处理。
需要说明的是,并发和并行与数据库系统采用多进程还是多线程体系结构无关。对采用多进程结构的数据库系统,所有的任务、子任务通过进程来处理;而对采用多线程结构的数据库系统,这些工作是由线程来完成。
数据库系统的并发控制,涉及到任务的调度、数据的一致性及可靠性等,而数据库系统的并行处理,主要涉及任务的处理速度、系统性能等方面。
3. 数据库未来的发展趋势有并行化吗
数据库的未来发展趋势可以总结为以下四点:
1.产品架构与技术创新:云原生 + 分布式 ( 弹性、高可用 )。架构上分布式共享 存储、存储计算分离,云原生架构 +Shared Nothing 分布式架构,满足弹性、 高可用、水平拓展的能力。
2.数据挑战:多模,结构化与非结构化数据 ( 多源异构数据 )。结构化与非结构化 数据如何融合异构处理,比如数据湖的概念、ADB 里面用向量处理引擎把非 结构化数据变成结构化数据,高维向量、多源异构数据处理的技术。
3.数据处理与分析:海量数据分析在线化 ( 实时在线交互式分析 )。如何对海量数 据进行在线分析和计算,支持实时在线交互式分析,需要做并行处理(DSP 模 型、MPP 模型等等),对并行调度计算进行优化。
4.系统能力提升:智能化 + 安全 ( 使用方便可靠、运维简易 )。如在管控平台的 层面如何做智能化的调度、监控以及自动修复,怎样去做数据的安全处理、隐 私保护、加密处理等等,使得整个数据库的使用更加方便可靠、运维简易。
4. 想问并行数据库有哪些
并行数据库分为分布式并行数据库和集群式并行数据库,是在MPP和集群并行计算环境的基础上建立的数据库系统。
并行数据库系统(ParallelDatabaseSystem)是新一代高性能的数据库系统,并行数据库系统的目标是高性能(HighPerformance)和高可用性(HighAvailability),通过多个处理节点并行执行数据库任务,提高整个数据库系统的性能和可用性。