南宁建站有哪些公司,北京网页模板建站,阿里云官网,域名申请注意事项2019独角兽企业重金招聘Python工程师标准 1. 如何理解“分布式”#xff1f; 经常听到”分布式系统“#xff0c;”分布式计算“#xff0c;”分布式算法“。分布式的具体含义是什么#xff1f;狭义的分布是指#xff0c;指多台PC在地理位置上分布在不同的… 2019独角兽企业重金招聘Python工程师标准 1. 如何理解“分布式” 经常听到”分布式系统“”分布式计算“”分布式算法“。分布式的具体含义是什么狭义的分布是指指多台PC在地理位置上分布在不同的地方。 2. 分布式系统 分布式系统多个能独立运行的计算机称为结点组成。各个结点利用计算机网络进行信息传递从而实现共同的“目标或者任务”。 分布式程序 运行在分布式系统上的计算机程序。 分布式计算利用分布式系统解决来计算问题。在分布式计算里一个问题被细化成多个任务每个任务可以被一个或者多个计算机来完成。 区分分布式计算和并行计算共同点都是大任务划分为小任务。不同点 分布式计算基于多台PC每台PC完成同一任务中的不同部分。分布式的计算被分解后的小任务互相之间有独立性节点之间的结果几乎不互相影响实时性要求不高。并行计算基于同一个台PC利用CPU的多核共同完成一个任务。 1分布式操作系统 分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。 2分布式文件系统 分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。 3分布式程序设计和编译解释系统 分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点分布性、通信性和稳健性。 分层应用程序可以按层数进行划分信息可以从数据层(通常存储在数据库)传送到表现层(显示在客户端上)。通常每层相对于其他层来说都运行在不同的系统中或者在同一系统中的不同进程空间里。分层好处减小整个应用程序的复杂性使应用程序能够更好的扩展跟得上企业发展的需要。 两层应用程序 典型的结构一个客户端的用户PC机(前端)一个包含数据库的网络服务器(后端)。逻辑上根据两者的物理位置划分。通常客户端包含大部分业务逻辑随着数据库及存储过程的发展SQL语言允许业务逻辑在数据库服务器中存储并执行。 三层应用程序目前最常用的是三层应用程序结构包含一个用户服务层(表现层)一个业务服务层和一个数据服务层。业务逻辑层从用户界面和数据源中分离出来。 由于两层应用程序即客户端/服务器端结构的功能限制分布式应用程序通常分为三层或者更多层。每层的组件都执行一个特定类型的处理。 3分布式数据库 之我见分布式数据库由分布在不同地方地理位置上的分布的多个数据库称为站点连接基于计算机网络来连接而成。利用分布式DBMS对各个站点统一管理各个站点逻辑上统一起来。基于数据分布的透明性仿佛在管理单个站点上的数据。其优点在于容错提高访问速度。 wiki官方解释 分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或结点。分布式数据库有一个统一的数据库管理系统来进行管理称为分布式数据库管理系统。 分布式数据库的基本特点包括物理分布性、逻辑整体性和站点自治性。从这三个基本特点还可以导出的其它特点有数据分布透明性、集中与自治相结合的控制机制、适当的数据冗余度和事务管理的分布性。分布式数据库按照各站点中数据库管理系统的数据模型的异同分为异构型分布式数据库和同构型分布式数据库按照控制系统的类型分为全局控制集中性、全局控制分散型和全局控制可变型 3. Hadoop , HDFS, HBase, Hive 之我见 Hadoop是一个分布式系统基础框架基于这个框架开发分布式应用程序利用集群的高速运算和存储的威力。类似于基于NVIDIA 的 CUDA并行架构开发并行程序发挥GPU的并行计算能力。 HDFS是Hadoop的文件系统。基于HDFS你可以对文件进行操作例如新建删除编辑重命名等。 HBase: 基于Hadoop架构的数据库系统。不是关系型数据库基于列的模式。 Hive: 基于HBase的高层语言。类似于SQL --- 访问和处理关系型数据库的计算机语言。 官方解释 Hadoop是一个分布式系统基础架构由Apache基金会开发。用户可以在不了解分布式底层细节的情况下开发分布式程序。充分利用集群的威力高速运算和存储。 HDFSHadoop Distributed File System是Hadoop实现的一个分布式文件系统。它存储 Hadoop 集群中所有存储节点上的文件。对外部客户机而言HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件等等。但是 HDFS 的架构是基于一组特定的节点构建的存储在 HDFS 中的文件被分成块然后将这些块复制到多个计算机中DataNode。这与传统的 RAID 架构大不相同。块的大小通常为 64MB和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。 HBase – Hadoop Database是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。Hadoop HDFS为HBase提供了高可靠性的底层存储支持Hadoop MapReduce为HBase提供了高性能的计算能力Zookeeper为HBase提供了稳定服务和failover机制。此外Pig和Hive还为HBase提供了高层语言支持使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能使得传统数据库数据向HBase中迁移变的非常方便。HBase的数据模型和存储结构参考 http://www.searchtb.com/2011/01/understanding-hbase.html Hive是基于Hadoop的一个数据仓库工具可以将结构化的数据文件例如xml映射为一张数据库表并提供完整的sql查询功能可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低可以通过类SQL语句快速实现简单的MapReduce统计不必开发专门的MapReduce应用十分适合数据仓库的统计分析。 转载于:https://my.oschina.net/moooofly/blog/115070