本文完全为应付期末考试所写,参考自往届学长的博客/Github
Bruce-Jay
Bruce-Jay的分布式系统习题讲解
HERODING23
HERODING23的分布式系统笔记
# 绪论
# 讲述分布式系统的概念
标答:分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是一个单机的系统。为了使用户在体验上觉得这是一个单机的系统,分布式系统常通过一个“软件层”组织而成。该软件层逻辑上位于由应用层组成的高层和于本地系统组成的低层之间,有时候被称为***“中间件”***
# 分布式系统可以分为哪些类型
标答:
- 依赖硬件的不同,分为基于计算机构建的分布式系统和基于微型设备构建的分布式系统
- 其中,基于计算机构建的分布式系统可根据用途的不同,进一步分为分布式计算系统和分布式信息系统
- 分布式计算系统支持高性能计算与大规模信息处理,一组计算机通过局域网构建的集群可以提供强大的计算能力,云计算的日益成熟让传统网格计算退出历史舞台
- 分布式信息系统主要利用分布式技术构建信息管理系统,包括用于实现事务处理、企业应用的集成等
- 基于微型设备构建的分布式系统又可称为分布式普适系统,包括智能家庭系统,电子健康系统,传感网络系统
# 简述数据管理系统的发展历史
简答:
- 第一代:层次网状数据库系统
- 数据的存储访问从应用程序中分离(文件系统)
- 第二代:关系数据库系统
- OLTP联机事务处理
- 第三代:数据仓库系统
- OLAP联机分析处理
- 第四代:大数据管理系统
- 分布式、可扩展、高可用
标答:
- 第一代数据管理系统,以层次网状模型为主,偏重数据的组织和存取,将数据存储访问从应用程序中分离
- 第二代数据管理系统,以关系型数据库为主,功能围绕于OLTP联机事务处理,重点发展事务处理子系统,查询优化子系统
- 第三代数据管理系统,以数据仓库为主,主要功能是OLAP联机分析处理
- 第四代数据管理系统,主要围绕大数据应用展开,即大数据管理系统,重点发展分布式、可扩展、异地多备份高可用性架构、多模型数据支持、多应用负载类型支持
# 简述大数据的特征
简答:5V:Velocity 速度、Value 价值、Volume 数量、Veracity 质量、Variety 种类、
标答:
- Velocity,产生速度快,要求大数据管理系统能够在数据产生的过程中实时多线程批处理数据流
- Value,潜在价值高,要求大数据系统能够支持使用机器学习、数据挖掘、数据分析
- Volume,数据量大,要求大数据系统能够储存管理TB甚至PB级别数据
- Veracity,数据质量低,要求大数据管理系统能够支持更复杂的数据治理,数据分析和机器学习技术
- Variety,数据种类多,要求大数据管理系统能够在同一平台处理多种类型的数据
# 数据库系统包含哪些主要的功能模块
简答:数据存储,数据组织模型与访问,查询处理,事务管理
标答:
- 数据存储,分布式存储系统,如HDFS
- 数据组织模型与访问,分布式NoSQL系统,如BigTable
- 查询处理,分布式计算系统,如MapReduce,Flink,Spark
- 事务管理,分布式NewSQL系统,如OceanBase,TiDB
# 数据密集型应用和计算密集型应用的定义,以及有何区别
标答:
- 计算密集型应用:CPU 处理能力成为了首要限制因素。定义:计算密集型应用是指主要受CPU计算能力限制的应用系统,其性能瓶颈在于大量复杂的数学运算和算法处理。
- 数据密集型应用:I/O 带宽成为了首要限制性因素(关键)。定义:数据密集型应用是指主要受数据处理能力限制的应用系统,其性能瓶颈主要在于数据的存储、读取、传输和I/O操作,而不是CPU计算能力。
# 通用数据处理系统可以分为哪些类别?其分别适用于何种场景?
自答:通用数据管理系统可以分为,批处理系统,流处理系统,批流结合处理系统,批处理适合静态数据,数据吞吐量大,实时性不高,流处理系统适合动态数据,数据吞吐量大但实时性低,批流结合处理系统同时有两者优点,会根据任务类型自动调整
简答/标答:
- 批处理系统,适用于静态数据,其数据吞吐量高,对于实时性要求低,如Mapreduce,Spark
- 流处理系统,适用于动态数据,其数据吞吐量低,对于实时性要求高,如Storm,Spark Streaming
- 批流融合系统,可用于上述两类场景,也可用于同一场景不同模块的数据特征和计算需求不同的场景,如Flink,Structured Streaming
# 分布式计算系统本身并无数据存储功能,则其数据从何而来,输出结果又走向何方?
简答/标答:
- 数据来自分布式存储系统
- 资源管理交给分布式资源管理系统
- 高可用性保交给分布式协调服务系统
- 输出结果给程序员复用或者直接交给用户
- 分布式存储系统:
- 属于分布式计算系统下的子类
- 特别是云计算架构中的重要组成部分
- 为分布式计算提供数据存储功能
- 分布式资源管理系统:
- 属于分布式计算系统的支撑系统
- 在集群计算和网格计算中尤为重要
- 云计算平台中的资源调度核心组件
- 分布式协调服务系统:
- 属于分布式信息系统范畴
- 特别对应"事务处理"类别
- 为分布式应用提供一致性、选举、锁等服务
- 常见的分布式协调服务包括Chubby和ZooKeeper
# Hadoop是由Apache的Lucence项目创始人道格·卡廷创建的
Hadoop是由Apache的Lucence项目创始人道格·卡廷创建的,Lucence是一个应用广泛的文本搜索系统库。Hadoop起源于开源的网络搜索引擎Nutch,Nutch本身也是Lucence项目的一部分。
补充:
HDFS,全称为Hadoop Distributed File System,是Apache Hadoop项目的一部分,是一个分布式文件系统。
即Lucence > Apache Hadoop > HDFS