首页 > 后端 > 知识 > 数据库并行计算模式有哪些,mapreduce的并行计算框架有哪些

数据库并行计算模式有哪些,mapreduce的并行计算框架有哪些

来源:整理 时间:2024-06-12 18:50:37 编辑:黑码技术 手机版

本文目录一览

1,mapreduce的并行计算框架有哪些

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(规约)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(规约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。了解更多开源相关,去LUPA社区看看吧

mapreduce的并行计算框架有哪些

2,并行算法有哪三种设计策略

(reduction)计算是指将一组数据(通常是一个数组)通过某种符合操作归约为一个简单的标量值。要消除这种依赖性,计算必须是可结合的和可交换的,如加法计算,乘法计算以及其他逻辑计算。在示例2-8代码中的循环将计算数组c中所有元素的总和,并找出数组中最大的元素(最大值)。
并行数据挖掘技术不同于其它并行算法的地方在于它需要处理的数据的规模很大。人们知道,对于并行而言,交互之间的消耗(即内存的使用)是比执行时间(计算阶段)重要得多的因素。串行数据挖掘算法对于规模很小的数据也需要大量的运行时间

并行算法有哪三种设计策略

3,用并行可实现的算法有哪些

首先,应用的场合和解决的问题不一样。分布式计算比较倾向于在计算寻找模式的东西,穷举暴力之类的计算。分布式的计算被分解后的小任务互相之间有独立性,节点之间的结果几乎不互相影响,实时性要求不高。而并行计算则比较倾向于一些海量数据进行分析处理的场合,每个节点的每一个任务块都是必要的,计算的结果相互影响,要求每个节点的计算结果要绝对正确,并且在时间上做到同步。举例来说,像MD5破解,就比较适合使用大规模的分布式计算来穷举,但对海量日志数据进行处理来分析用户行为就比较适合并行计算处理。 其次,实现方式区别比较大。分布式计算会是一个比较松散的结构,并行计算则是各节点之间通过高速网络或其它总线之类的东西连接。因此并行计算一般在企业内部进行,而分布式计算可能会跨越局域网,或者直接部署在互联网上,节点之间几乎不互相通信。很多公益性的项目,就是的使用分布式计算的方式在互联网上实现,比如以寻找外星人为目的的SETI项目。
dsp:英文原名叫digital signal processing,简称dsp。数字信号处理就是用数值计算的方式对信号进行加工的理论和技术。另外dsp也是digital signal processor的简称,即数字信号处理器数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。即将事物的运动变化转变为一串数字,并用计算的方法从中提取有用的信息,以满足我们实际应用的需求。

用并行可实现的算法有哪些

4,并行计算模型的PRAM模型

PRAM(Parallel Random Access Machine,随机存取并行机器)模型,也称为共享存储的SIMD模型,是一种抽象的并行计算模型,它是从串行的RAM模型直接发展起来的。在这种模型中,假定存在一个容量无限大的共享存储器,有有限个或无限个功能相同的处理器,且他们都具有简单的算术运算和逻辑判断功能,在任何时刻各处理器都可以通过共享存储单元相互交互数据。根据处理器对共享存储单元同时读、同时写的限制,PRAM模型可以分为下面几种:· 不允许同时读和同时写(Exclusive-Read and Exclusive-Write)的PRAM模型,简称为PRAM-EREW;· 允许同时读但不允许同时写(Concurrent-Read and Exclusive-Write)的PRAM模型,简称为PRAM-CREW;· 允许同时读和同时写(Concurrent-Read and Concurrent-Write)的PRAM模型,简称为PRAM-CRCW。显然,允许同时写是不现实的,于是又对PRAM-CRCW模型做了进一步约定,于是形成了下面几种模型:· 只允许所有的处理器同时写相同的数,此时称为公共(common)的PRAM-CRCW,简称为CPRAM-CRCW;· 只允许最优先的处理器先写,此时称为优先(Priority)的PRAM-CRCW,简称为PPRAM-CRCW;· 允许任意处理器自由写,此时称为任意(Arbitrary)的PRAM-CRCW,简称为APRAM-CRCW。· 往存储器中写的实际内容是所有处理器写的数的和,此时称为求和(Sum)的PRAM-CRCE,将称为SPRAM-CRCW。上面的模型中,PRAM-EREW是功能最弱的计算模型,而PRAM-CRCW则是最强的计算模型,令TM表示某一并行算法在并行计算模型M上的运行时间,则有其中,p为处理器的数目,它的含义是,一个具有时间复杂度为TCREW或者TCRCW的算法,在PRAM-EREW模型上要花费logp倍的时间去模拟实现。 (1)模型中使用了一个全局共享存储器,且局存容量较小,不足以描述分布主存多处理机的性能瓶颈,而且共享单一存储器的假定,显然不适合于分布存储结构的MIMD机器;(2)PRAM模型是同步的,这就意味着所有的指令都按照锁步的方式操作,用户虽然感觉不到同步的存在,但同步的存在的确很耗费时间,而且不能反映现实中很多系统的异步性;(3)PRAM模型假设了每个处理器可在单位时间访问共享存储器的任一单元,因此要求处理机间通信无延迟、无限带宽和无开销,假定每个处理器均可以在单位时间内访问任何存储单元而略去了实际存在的,合理的细节,比如资源竞争和有限带宽,这是不现实的;(4) PRAM模型假设处理机有限或无限,对并行任务的增大无开销;(5)未能描述所线程技术和流水线预取技术,而这两种技术又是当今并行体系结构用的最普遍的技术。

5,什么是并行数据库

并行数据库: 并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。并行数据库系统是数据库技术与并行计算技术相结合的产物。 并行计算技术利用多处理机并行处理产生的规模效益来提高系统的整体性能,为数据系统提供了一个良好的硬件平台。研究和开发适应于并行计算机系统的并行数据库系统成为数据学术界和工业界的研究热点,形成了并行处理技术与数据库技术相结合的并行数据库新技术。 并行处理技术与数据库技术的结合,具有潜在的可行性。因为关系数据库模型本身就有极大的并行可能性。关系数据模型中,数据库是元组的集合,数据库操作实际是集合操作,许多情况下可分解为一系列对子集的操作,许多子操作不具有数据相关性,因而具有潜在的并行性。 一个并行数据库系统应该实现如下目标: 1.高性能 并行数据库系统通过将数据库管理技术与并行处理技术有机结合,发挥多处理机结构的优势,从而提供比相应的大型机系统要高得多的性能价格比和可用性。例如,通过将数据库在多个磁盘上分布存储,利用多个处理机对磁盘数据进行并行处理,从而解决磁盘“I/O”瓶颈问题。通过开发查询间并行性(不同查询并行执行)、查询内并行性(同一查询内的操作并行执行)以及操作内并行性(子操作并行执行)大大提高查询效率。 2.高可用性 并行数据库系统可通过数据复制来增强数据库的可用性。这样,当一个磁盘损坏时,该盘上的数据在其他磁盘上的副本仍可供使用,且无需额外开销(与基于日志的恢复不同)。数据复制还应与数据划分技术相结合以保证当磁盘损坏时系统仍能并行访问数据。 3.可扩充性 这里,数据库系统的可扩充性指系统通过增加处理和存储能力而平滑地扩展性能的能力。理想情况下,并行数据库系统应具有两个方面的可扩充性优势:线性伸缩和线性加速。
并行数据库系统(Parallel Database System)是新一代高性能的数据库系统,是在MPP和集群并行计算环境的基础上建立的数据库系统。 并行数据库技术起源于20世纪70年代的数据库机(Database Machine)研究,,研究的内容主要集中在关系代数操作的并行化和实现关系操作的专用硬件设计上,希望通过硬件实现关系数据库操作的某些功能,该研究以失败而告终。80年代后期,并行数据库技术的研究方向逐步转到了通用并行机方面,研究的重点是并行数据库的物理组织、操作算法、优化和调度策络。从90年代至今,随着处理器、存储、网络等相关基础技术的发展,并行数据库技术的研究上升到一个新的水平,研究的重点也转移到数据操作的时间并行性和空间并行性上。 并行数据库系统的目标是高性能(High Performance)和高可用性(High Availability),通过多个处理节点并行执行数据库任务,提高整个数据库系统的性能和可用性。 性能指标关注的是并行数据库系统的处理能力,具体的表现可以统一总结为数据库系统处理事务的响应时间。并行数据库系统的高性能可以从两个方面理解,一个是速度提升(SpeedUp),一个是范围提升(ScaleUp)。速度提升是指,通过并行处理,可以使用更少的时间完成两样多的数据库事务。范围提升是指,通过并行处理,在相同的处理时间内,可以完成更多的数据库事务。并行数据库系统基于多处理节点的物理结构,将数据库管理技术与并行处理技术有机结合,来实现系统的高性能。 可用性指标关注的是并行数据库系统的健壮性,也就是当并行处理节点中的一个节点或多个节点部分失效或完全失效时,整个系统对外持续响应的能力。高可用性可以同时在硬件和软件两个方面提供保障。在硬件方面,通过冗余的处理节点、存储设备、网络链路等硬件措施,可以保证当系统中某节点部分或完全失效时,其它的硬件设备可以接手其处理,对外提供持续服务。在软件方面,通过状态监控与跟踪、互相备份、日志等技术手段,可以保证当前系统中某节点部分或完全失效时,由它所进行的处理或由它所掌控的资源可以无损失或基本无损失地转移到其它节点,并由其它节点继续对外提供服务。 为了实现和保证高性能和高可用性,可扩充性也成为并行数据库系统的一个重要指标。可扩充性是指,并行数据库系统通过增加处理节点或者硬件资源(处理器、内存等),使其可以平滑地或线性地扩展其整体处理能力的特性。 随着对并行计算技术研究的深入和SMP、MPP等处理机技术的发展,并行数据库的研究也进入了一个新的领域,集群已经成为了并行数据库系统中最受关注的热点。目前,并行数据库领域主要还有下列问题需要进一步地研究和解决。 (1)并行体系结构及其应用,这是并行数据库系统的基础问题。为了达到并行处理的目的,参与并行处理的各个处理节点之间是否要共享资源、共享哪些资源、需要多大程度的共享,这些就需要研究并行处理的体系结构及有关实现技术。 (2)并行数据库的物理设计,主要是在并行处理的环境下,数据分布的算法的研究、数据库设计工具与管理工具的研究。 (3)处理节点间通讯机制的研究。为了实现并行数据库的高性能,并行处理节点要最大程度地协同处理数据库事务,因此,节点间必不可少地存在通讯问题,如何支持大量节点之间消息和数据的高效通讯,也成为了并行数据库系统中一个重要的研究课题。 (4)并行操作算法,为提高并行处理的效率,需要在数据分布算法研究的基础上,深入研究联接、聚集、统计、排序等具体的数据操作在多节点上的并行操作算法。 (5)并行操作的优化和同步,为获得高性能,如何将一个数据库处理事务合理地分解成相对独立的并行操作步骤、如何将这些步骤以最优的方式在多个处理节点间进行分配、如何在多个处理节点的同一个步骤和不同步骤之间进行消息和数据的同步,这些问题都值得深入研究。 (6)并行数据库中数据的加载和再组织技术,为了保证高性能和高可用性,并行数据库系统中的处理节点可能需要进行扩充(或者调整),这就需要考虑如何对原有数据进行卸载、加载,以及如何合理地在各个节点是重新组织数据。
并行数据库系统(Parallel Database System)是新一代高性能的数据库系统,是在MPP和集群并行计算环境的基础上建立的数据库系统。  并行数据库系统的目标是高性能(High Performance)和高可用性(High Availability),通过多个处理节点并行执行数据库任务,提高整个数据库系统的性能和可用性。
文章TAG:数据数据库并行并行计算数据库并行计算模式有哪些

最近更新