大规模高性能分布式存储系统设计与实现_第一课_大规模高性能分布式存储系统概述@孙玄

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MongoDB实战 第一版 讲师 孙玄
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第十课《大规模高性能分布式存储设计与实现 之实践篇》
– 分布式存储系统 » 根据所学习知识,带领大家动手设计分布式存储系统 » 理论+实践
• 第十一课《大规模高性能分布式存储系统发展与展望》
» 移动互联时代到来 » 如何满足新时代数据存储需求 » 大规模分布式存储系统何去何从 » 本课大家一起探讨 » ……
– 首先讲述单机、多机存储原理 – FLP定理 – SMC定理 – CAP定理 – 重点讲述上述定理在大规模分布式存储如何设计体现
• 第三课《典型分布式存储系统分析对比》
– 重点分析目前典型的分布式存储系统 – GFS、HDFS、MongoDB、Hbase、Dynamo、Redis等 – 这些典型分布式存储系统的特点
• 结合实践讲述知识点落地
– 结合案例讲述存储知识点
• 最后带领带领同学们动手做个简单的分布式存储系统
– 基于我们自主研发的分布式存储系统
– 目标
• 熟练掌握分布式存储系统关键知识原理 • 掌握分布式存储系统如何设计实现 • 对线上使用的存储系统选型、运维、问题分析解决等,学完本课后可以独立完成
DATAGURU专业数据分析社区 MongoDB实战 第一版 讲师 孙玄
– 分布式存储系统 » 稳定性是分布式存储追求的核心指标 之一 » 通过监控可以发现分布式存储系统的问题 » 及时报警处理
– 分布式存储系统如何做到稳定性、如何监控 » 代码层面 » 质量保证层面 » 进程监控 » 语义监控 » 错误日志监控 » 监控工具 » 性能评估方案&扩容扩展 DATAGURU专业数据分析社区
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
关于我
– 58同城系统架构师
– 即时通讯、C2C技术负责人
– 技术委员会架构组主任
– 前百度高级工程师
– 代表58同城多次对外嘉宾演讲
• Qcon(全球软件开发大会) • SDCC(中国软件开发大会)
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第八课《大规模高性能分布式存储之高性能篇》
– 分布式存储系统
» 高性能是分布式存储追求的核心指标 之一 » QPS
» TPS
» 吞吐量
– 分布式存储系统如何实现高性能
MongoDB实战 第一版
» 80年代->90年代->20世纪末->现在 – 讲述分布式存储系统知识原理
» 分布式系统、分布式存储、分布式知识原理等 » 同学们掌握这些知识点 DATAGURU专业数据分析社区 讲师 孙玄
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第二课《大规模高性能分布式存储原理与设计》
– …… MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 20世纪末
• SAN、NAS、GFS、HDFS、GPFS… • 背景
– 到了二十世纪末,计算机技术和网络技术得到了飞速发展,磁盘存储成本不断降低 – 磁盘容量和数据总线带宽的增长速度无法满足应用需求 – 海量数据的存储逐渐成为互联网技术发展急需解决的问题 – 对于分布式存储系统技术的研究越来越成熟 – 基于光纤通道的存储区域网络(Storage Area Network)技术和网络附连存储(Network Attached Storage)技术
• xFS
– UC Berkeley参照当时高性能多处理器领域的设计思想开发了xFS文件系统
– xFS克服了以往分布式文件系统只适用局域网,而不适用于广域网和大数据存储问题 – 提出广域网进行缓存较少网络流量设计思想 – 采用层次命名结构,减少Cache一致性状态和无效写回Cache一致性协议,从而减少了网络负载
– 《MongoDB实战》
• 已开课 • 欢迎大家报名交流
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
本课课程简介
– 授课形式
• 总体方向理论结合实践 • 过循序渐进、步步深入的方式讲解 • 分析分布式存储知识点
– 分布式系统、高可用性、高可靠性、高扩展性、数据一致性、高安全性、稳定性等等
本课课程简介
– 具体课程内容
• 第六课《大规模高性能分布式存储之安全篇》
– 分布式存储系统 » 数据安全重要性 » 窃取数据门槛高 » 即使窃取数据,内容无法破解
– 分布式存储系统如何做到高的数据安全性 » 鉴权方式 » 集中控制方式 » 数据加密存储方式 » ……
MongoDB实战 第一版 讲师 孙玄
– 分布式存储系统 » 高可用重要性 » 高可靠重要性 » 没有这两点,分布式存储系统形同摆设
– 分布式存储系统如何做到高可用、高可靠 » 副本集 » 日志 » 复制 » 容易 » 机器硬件 » ……
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
• Top100(全球软件案例研究峰会)
• UPYUN、 • TINGYUN
• 《程序员》撰稿
– ……
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
关于我
– 2007年开始接触存储
• 涉及自主研发分布式存储系统 • MongoDB • MySQL • Mecached • Redis • ……
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 90年代
• xFS、Tiger Shark 、SFS…
• 背景
– 进入九十年代,随着Windows的问世,极大促进了微处理器的发展和PC的广泛普及 – 互联网和多媒体技术也犹如雨后春笋般发展起来 – 一方面:对多媒体数据的实时传输需和应用越来越流行 – 另一方面:大规模并行计算技术的发展和数据挖掘技术应用,迫切需要能支持大容量和高速的分布式存储系统
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 20世纪末
• SAN、NAS、GFS、HDFS、GPFS… • NAS
– 通过基于TCP/IP协议的各种上层应用(NFS等)在各工作站和服务器之间进行文件访问 – 直接在工作站客户端和NAS文件共享设备之间建立连接 – NAS隐藏了文件系统的底层实现,注重上层的文件服务实现,具有良好扩展性 – 网络阻塞,NAS性能受影响
• NFS
– 1985年Sun公司基于UDP开发了网络共享文件系统(Network File System, NFS) – 由一系列NFS命令和进程组成的客户机/服务器(C/S)模式 – NFS第三版,加入了基于TCP传输 – 第三版发布六年后,NFS成为Linux中的稳定版本
MongoDB实战 第一版 讲师 孙玄
» 架构层面如何做
» 设计层面如何做
» 代码层面如何做
» 高扩展性层面如何做
» 能否支持Scale Up、Scale Out扩展
» …… MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第九课《大规模高性能分布式存储之ห้องสมุดไป่ตู้控&稳定性篇》
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第七课《大规模高性能分布式存储之负载均衡篇》
– 分布式存储系统 » 各个节点负载均衡非常 重要 » 客户端请求调度的负载均衡 » 存储服务调度的负载均衡
– 分布式存储系统如何实现负载均衡 » 多种负载均衡算法设计 » 这些负载均衡算的优缺点 » 如何在分布式存储系统中选择合适的负载均衡算法 » 选择原则、依据 » ……
» 每个分布式存储系统的适应场景、特点 » 如何设计与实现
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第四课《大规模高性能分布式存储系统之一致性篇》
– 一致性的几个等级 » 强一致性 » 弱一致性 » 最终一致性
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 80年代
• AFS、NFS、Coda • Coda
– 1987年 Carnegine Mellon大学在基于AFS的基础上开发了Coda文件系统 – 它为Linux工作站组成的大规模分布式计算环境设计的文件系统 – 通过两种互补机制为服务器和网络故障提供了容错机制 – 服务器复制机制,一个文件拷贝到多个服务器上 – 无连接操作机制,将缓存端暂时作为服务端的执行模式 – Coda注重可靠性和性能优化 – 它提供了高度的一致性
大规模高性能分布式存储系统概述
本课课程简介
– 课程内容概述
• 11个课时 • 涉及大规模高性能分布式存储的“方方面面”
– 原理、一致性、高可用、高可靠、高性能、负载均衡、监控、实战等等
• 理论+实践+动手设计 • 相信同学们收获满满
– 具体课程内容
• 第一课《大规模高性能分布式存储系统概述》
– 分布式存储发展历史
– 分布式存储系统如何做到一致性 » 二阶段提交 » 分布式锁 » 分布式事务 » 消息队列等
– 分布式存储系统一致性保证案例 » 线上案例情况
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
本课课程简介
– 具体课程内容
• 第五课《大规模高性能分布式存储之高可用高可靠篇》
得到了广泛应用
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 20世纪末
• SAN、NAS、GFS、HDFS、GPFS… • SAN
– 设计目标是通过将磁盘存储系统或者磁带机和服务器直接相连的方式提供一个易扩展、高可靠的存储环境 – 高可靠的光纤通道交换机和光纤通道网络协议保证各个设备间链接的可靠性和高效性 – 设备间的连接接口主要是采用FC或者SCSI – 光纤通道交换机主要是为服务器和存储设备的链接提供一个称为 – “SAN fabric”的网状拓扑结构
AFS、NFS、Coda…
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 80年代
• AFS、NFS、Coda • AFS
– 1983年 Carnegine Mellon大学和IBM共同合作开发Andrew文件系统(Andrew File System, AFS) – AFS设计目标是将至少7000个工作站连接起来,为每个用户提供一个共享的文件系统 – 高扩展性、网络安全性放在首位 – 客户端高速缓存,即使网络断开,可以对部分数据缓存
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式文件系统发展
– 20世纪末
• SAN、NAS、GFS、HDFS、GPFS… • GFS
– Google为大规模分布式数据密集型应用设计的可扩展的分布式文件系统 – Google将一万多台廉价PC机连接成一个大规模的Linux集群 – 它具有高性能,高可靠性,易扩展性,超大存储容量等优点 – Google文件系统采用单Master多Chunk Server来实现系统间的交互 – Master中主要保存命名空间到文件映射、文件到文件块的映射、文件块 – 到Chunk Server的映射 – 每个文件块对应到3个Chunk Server
MongoDB实战 第一版 讲师 孙玄
DATAGURU专业数据分析社区
大规模高性能分布式存储系统概述
分布式存储系统发展
现在 二十世纪末
Storage Tank、蓝鲸
HBase、MongoDB、 DynamoDB…
GFS、GPFS、 DiFFS…
90年代 80年代
xFS、Tiger Shark 、 SFS…
大规模高性能分布式存储系统设计与实现 第1课
大规模高性能分布式存储系统设计与实现 第一版 讲师 孙玄
DATAGURU专业数据分析社区
法律声明
【声明】本视频和幻灯片为炼数成金网络课程的教学资料 ,所有资料只能在课程内使用,不得在课程以外范围散 播,违者将可能被追究法律和经济责任。
课程详情访问炼数成金培训网站 http://edu.dataguru.cn
相关文档
最新文档