分布式学习——基础概念篇

概述

最近这段时间一直在看分布式有关的东西,但是关于分布式自己还是不能很好的理解,所以本文对分布式基础概念进行下学习.

分布式处理

首先先了解一下分布式处理,分布式处理和集中式处理正好是相反的的体系架构,集中传输集中到式处理顾名思义就是将所有的信息都一个统一的信息中心进行处理;分布式处理就是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机利用通信网络连接起来,让各个计算机各自承担同一个工作任务的不同部分,在控制中心的管理下,同时运行,共同完成同一个工作任务。

提到分布式处理就不能不提到并行处理,并行处理就是多个计算机同时工作,让计算机并行的来工作。
进一步说,集中在同一个机柜内或同一个地点的紧密耦合地点多处理机系统或大规模处理系统是并行处理系统,而用局域网或广域网连接的计算机系统是分布式处理系统。所以广义上的说,分布式处理也可以认为是一种并行处理的形式。

分布式系统

分布式处理介绍完以后,分布式系统也就应运而生了,分布式软件系统定义很好理解,就是跟该软件系统有关的某些内容可以用分布式处理,这样的软件系统就是分布式软件系统.

上面提到的跟该软件系统有关的某些内容,这个某些内容都包括了什么了呢,如分布式计算机系统、分布式程序设计、分布式文件系统和分布式数据库系统等。

分布式计算机系统

分布式计算机系统是由多个分散的计算机经互连网络构成的一个统一的计算机系统,即由物理上的多个分散的计算机经过互联网络组成逻辑上的一个计算机,每个物理上的计算机就相当于一个结点,而互联网就起将多个结点进行联通,让各个结点间可以做到相互通信,也就构成了一个统一的逻辑上的计算机了。

逻辑上的计算机统一管理多个分散的物理计算机,来动态的管理资料、实现任务分配或者功能分配,即强调资源、任务、功能和控制的全面分布。

分布式程序设计

可在分布计算机系统的几台计算机上同时协调执行的程序设计方法就是分布式程序设计语言。分布式程序设计语言与常用的程序设计语言主要区别就是,分布式程序设计语言具有程序分布和通信的功能。

采用分布式程序设计方法设计程序时,一个程序由若干个可独立执行的程序模块组成,这些程序模块分布于在不同的计算机同时执行,分布在各台计算机上的程序模块是相互关联的,它们在执行中需要交换数据,即通信,只有通过通信,各程序模块才能协调的完成一个共同的计算任务。

分布式文件系统

了解了分布式计算机系统以后,学习分布式文件系统就简单多了,分布式文件系统就是将固定于某个地点的某个文件系统,扩展到任意多个地点,众多的的物理上的分散的计算机结点组成一个文件系统网络。每个结点可以分布在不同的地点,通过网络进行结点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。所以分布式文件系统有效的解决了数据的存储和管理难题,分布式文件系统除了改变了数据的存储和管理方式,也拥有了本地文件系统所无法具备的数据备份、数据安全等优点。

分布式数据库系统

分布式数据库系统就是物理上是分布的,但逻辑上却是集中的。应用程序使用时,对数据库的操作都是透明的也就是当做一个数据库来操作就可以,实际上数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接的。

从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好像那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用户并没有什么感觉不一样。

最后

关于分布式的一些基本概念,本篇文章就先介绍这么多,后续会继续介绍关于分布式的深入的学习。

时间: 2024-11-03 22:00:24

分布式学习——基础概念篇的相关文章

分布式强化学习基础概念(Distributional RL )

分布式强化学习基础概念(Distributional RL) from: https://mtomassoli.github.io/2017/12/08/distributional_rl/ 1. Q-learning 在 Q-learning 中,我们想要优化如下的 loss: Distributional RL 的主要思想是:to work directly with the full distribution of the return rather than with its expec

WCF分布式开发步步为赢(1):WCF分布式框架基础概念

众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则.SOA如此炙手可热,各大厂商都推出了自己的中间件产品,比如Oracle Fusion和 SAP NetWeaver,IBM.BEA等企业也推出了自己基于SOA的解决方案.基于J2EE平台的SOA架构设计中的一个重要概念就是EJB企业服务总线,作用是实现各个系统的数据交互.而.NET平台上,WCF就是微软为各个系统的数据交互提供通讯

Ext学习-基础概念,核心思想介绍

1.目标   本阶段的目标是通过学习一些基础知识来对EXTJS有个整体的了解,知道EXTJS的基础语法,核心设计思想等等 2.内容   1.基础部分学习   2.EXTJS类系统介绍   3.EXTJSMVC结构介绍   4.EXTJS数据模型介绍 3.学习流程           1.在学习之前,首先要对javaScript的基础要有个基础了解,如果不熟悉,请参考:javaScript基础之闭包   2[可选]学习了解一下EXTJS的一些常用功能:http://ziren.org/extjs/

数据集成之主数据管理(一)基础概念篇

数据集成是当下比較热门的话题,相关的产品和平台也越来越多.非常多CIO都在各种数据集成平台和产品之间犹豫不决.因此对数据集成平台的框架体系有全面的理解,对各个厂家产品所提供的功能有深入的认识才干为数据平台选型的决策提供可靠的保证. 我有幸參与了国内一个知名企业的集成平台的设计工作,并主导了数据集成平台的需求分析和产品选型工作.这次工作中,研究了非常多新的技术方向和产品,以下我主要讲一下数据集成领域的一种新兴的产品平台主数据管理平台MDM(Master Data Management). 主数据的

前端基础知识学习:概念篇

MVC: MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.它是用一种业务逻辑.数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间. MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器. 使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用

【转】深度学习基础概念理解

原文链接 神经网络基础 1)神经元(Neuron)--就像形成我们大脑基本元素的神经元一样,神经元形成神经网络的基本结构.想象一下,当我们得到新信息时我们该怎么做.当我们获取信息时,我们一般会处理它,然后生成一个输出.类似地,在神经网络的情况下,神经元接收输入,处理它并产生输出,而这个输出被发送到其他神经元用于进一步处理,或者作为最终输出进行输出.  2)权重(Weights)--当输入进入神经元时,它会乘以一个权重.例如,如果一个神经元有两个输入,则每个输入将具有分配给它的一个关联权重.我们随

Dagger学习 -- 基础概念

目标 了解 Dagger 基本概念 官方定义 Google 对 Dagger 的定义如下: Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier version created by Square and now maintained by Google. Dagger 是一个为 Java

EF基础概念篇

EF自己包括看视频,看MSDN零零散散的学了一点皮毛,这次打算系统学习一下EF.我将会使用VS2012来学习这个EF基础系列. 现在看看EF的历史吧: EF版本 相关版本特性介绍 EF3.5 基本的对象关系映射,支持DB First 方式(Basic O/RM support with Database First approach.) EF4.0 支持简单传统CLR对象(Plain old CLR Object),懒加载,可测试的改进,可以自定义代码的生成,支持ModeFirst: (POCO

python学习:基础概念

Python 包管理工具解惑 python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? * distutils * setuptools * distribute * disutils2 * distlib * pip 2. 什么时候该用pip,什么时候该用 setup.py ,它们有关系么? 3. easy_install . ez_setup.py . setup.py . se