当前位置:首页 » 服务存储 » 苏州大规模分布式存储架构实战
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

苏州大规模分布式存储架构实战

发布时间: 2022-04-27 05:43:25

A. 什么是分布式存储系统

分布式存储系统

定义

分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务

特性

  • 可扩展

  • 低成本

  • 高性能

  • 易用

挑战

分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库


  • 数据分布

  • 一致性

  • 容错

  • 负载均衡

  • 事务与并发控制

  • 易用性

  • 压缩/解压缩

分类

非结构化数据,一般的文档

结构化数据, 存储在关系数据库中

半结构化数据,HTML文档

不同的分布式存储系统适合处理不同类型的数据:


分布式文件系统

非结构化数据,这类数据以对象的形式组织,不同对象之间没有关联,这样的数据一般称为Blob(二进制大对象)数据

典型的有Facebook Haystack 以及 Taobao File System

另外,分布式文件系统也常作为分布式表格系统以及分布式数据库的底层存储,如谷歌的GFS可以作为分布式表格系统Google Bigtable 的底层存储,Amazon的EBS(弹性存储块)系统可以作为分布式数据库(Amazon RDS)的底层存储

总体上看,分布式文件系统存储三种类型的数据:Blob对象、定长块以及大文件

分布式键值系统

较简单的半结构化数据,只提供主键的CRUD(创建、读取、更新、删除)

典型的有Amazon Dynamo 以及 Taobao Tair

分布式表格系统

较复杂的半结构化数据,不仅支持CRUD,而且支持扫描某个主键范围

以表格为单位组织数据,每个表格包括很多行,通过主键标识一行,支持根据主键的CRUD功能以及范围查找功能

典型的有Google Bigtable 以及 Megastore,Microsoft Azure Table Storage,Amazon DynamoDB等

分布式数据库

存储结构化数据,一般是由单机关系数据库扩展而来

典型的包括MySQL数据库分片集群、Amazon RDS以及Microsoft SQL Azure

B. 谁有《大规模分布式系统架构与设计实战-彭渊》电子书百度网盘资源下载

大规模分布式系统架构与设计实战-彭渊链接:https://pan..com/s/1vOtKfez0HEZ__DnJQ0_DbA

提取码:XQFL

C. 想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍

What are some good resources for learning about distributed computing? Why? 今天在quora上看到这个问题,感觉特别全面,质量也都A+级别的,贴在这里供大家参考。

课程:
MIT 6.824: Distributed Computer Systems Engineering——经典和详细的介绍了分布式系统的技术和工程实现经验,值得每个做分布式系统的人去看一遍,继续锤炼和提高自己的眼界和技术。

补充三篇论文:
1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文。
2. The Chubby lock service for loosely-coupled distributed systems,http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/chubby-osdi06.pdf,这篇论文详细介绍了Google的分布式锁实现机制Chubby。Chubby是一个基于文件实现的分布式锁,Google的Bigtable、Maprece和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础,具有非常高的参考价值。另外,着名的zookeeper就是基于Chubby的开源实现,但是根据在Google工作的朋友讲,zookeeper跟Chubby在性能和功能上都还有差距。
3. Spanner: Google's Globally-Distributed Database,这个是第一个全球意义上的分布式数据库,也是Google的作品。其中介绍了很多一致性方面的设计考虑,为了简单的逻辑设计,还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义。

另外,还有一本书:
刚出的,读了一下样章,感觉还不错,一起推荐给大家——《大规模分布式存储系统:原理解析与架构实战》华章图书 - 大规模分布式存储系统:原理解析与架构实战

D. 谁有《大规模分布式存储系统:原理解析与架构实战-杨传辉》电子书百度网盘资源下载

大规模分布式存储系统:原理解析与架构实战-杨传辉链接:

提取码:RFZW

E. 大规模分布式存储系统的作品目录

前言第1章概述1.1分布式存储概念1.2分布式存储分类第一篇基础篇第2章单机存储系统2.1硬件基础2.1.1CPU架构2.1.2IO总线2.1.3网络拓扑2.1.4性能参数2.1.5存储层次架构2.2单机存储引擎2.2.1哈希存储引擎2.2.2B树存储引擎2.2.3LSM树存储引擎2.3数据模型2.3.1文件模型2.3.2关系模型2.3.3键值模型2.3.4SQL与NoSQL2.4事务与并发控制2.4.1事务2.4.2并发控制2.5故障恢复2.5.1操作日志2.5.2重做日志2.5.3优化手段2.6数据压缩2.6.1压缩算法2.6.2列式存储第3章分布式系统3.1基本概念3.1.1异常3.1.2一致性3.1.3衡量指标3.2性能分析3.3数据分布3.3.1哈希分布3.3.2顺序分布3.3.3负载均衡3.4复制3.4.1复制的概述3.4.2一致性与可用性3.5容错3.5.1常见故障3.5.2故障检测3.5.3故障恢复3.6可扩展性3.6.1总控节点3.6.2数据库扩容3.6.3异构系统3.7分布式协议3.7.1两阶段提交协议3.7.2Paxos协议3.7.3Paxos与2PC3.8跨机房部署第二篇范型篇第4章分布式文件系统4.1Google文件系统4.1.1系统架构4.1.2关键问题4.1.3Master设计4.1.4ChunkServer设计4.1.5讨论4.2Taobao File System4.2.1系统架构4.2.2讨论4.3Facebook Haystack4.3.1系统架构4.3.2讨论4.4内容分发网络4.4.1CDN架构4.4.2讨论第5章分布式键值系统5.1Amazon Dynamo5.1.1数据分布5.1.2一致性与复制5.1.3容错5.1.4负载均衡5.1.5读写流程5.1.6单机实现5.1.7讨论5.2淘宝Tair5.2.1系统架构5.2.2关键问题5.2.3讨论第6章分布式表格系统6.1Google Bigtable6.1.1架构6.1.2数据分布6.1.3复制与一致性6.1.4容错6.1.5负载均衡6.1.6分裂与合并6.1.7单机存储6.1.8垃圾回收6.1.9讨论6.2Google Megastore6.2.1系统架构6.2.2实体组6.2.3并发控制6.2.4复制6.2.5索引6.2.6协调者6.2.7读取流程6.2.8写入流程6.2.9讨论6.3Windows Azure Storage6.3.1整体架构6.3.2文件流层6.3.3分区层6.3.4讨论第7章分布式数据库7.1数据库中间层7.1.1架构7.1.2扩容7.1.3讨论7.2Microsoft SQL Azure7.2.1数据模型7.2.2架构7.2.3复制与一致性7.2.4容错7.2.5负载均衡7.2.6多租户7.2.7讨论7.3Google Spanner7.3.1数据模型7.3.2架构7.3.3复制与一致性7.3.4TrueTime7.3.5并发控制7.3.6数据迁移7.3.7讨论第三篇实践篇第8章OceanBase架构初探8.1背景简介8.2设计思路8.3系统架构8.3.1整体架构图8.3.2客户端8.3.3RootServer8.3.4MergeServer8.3.5ChunkServer8.3.6UpdateServer8.3.7定期合并&数据分发8.4架构剖析8.4.1一致性选择8.4.2数据结构8.4.3可靠性与可用性8.4.4读写事务8.4.5单点性能8.4.6SSD支持8.4.7数据正确性8.4.8分层结构第9章分布式存储引擎9.1公共模块9.1.1内存管理9.1.2基础数据结构9.1.3锁9.1.4任务队列9.1.5网络框架9.1.6压缩与解压缩9.2RootServer实现机制9.2.1数据结构9.2.2子表复制与负载均衡9.2.3子表分裂与合并9.2.4UpdateServer选主9.2.5RootServer主备9.3UpdateServer实现机制9.3.1存储引擎9.3.2任务模型9.3.3主备同步9.4ChunkServer实现机制9.4.1子表管理9.4.2SSTable9.4.3缓存实现9.4.4IO实现9.4.5定期合并&数据分发9.4.6定期合并限速9.5消除更新瓶颈9.5.1读写优化回顾9.5.2数据旁路导入9.5.3数据分区第10章数据库功能10.1整体结构10.2只读事务10.2.1物理操作符接口10.2.2单表操作10.2.3多表操作10.2.4SQL执行本地化10.3写事务10.3.1写事务执行流程10.3.2多版本并发控制10.4OLAP业务支持10.4.1并发查询10.4.2列式存储10.5特色功能10.5.1大表左连接10.5.2数据过期与批量删除第11章质量保证、运维及实践11.1质量保证11.1.1RD开发11.1.2QA测试11.1.3试运行11.2使用与运维11.2.1使用11.2.2运维11.3应用11.3.1收藏夹11.3.2天猫评价11.3.3直通车报表11.4最佳实践11.4.1系统发展路径11.4.2人员成长11.4.3系统设计11.4.4系统实现11.4.5使用与运维11.4.6工程现象11.4.7经验法则第四篇专题篇第12章云存储12.1云存储的概念12.2云存储的产品形态12.3云存储技术12.4云存储的核心优势12.5云平台整体架构12.5.1Amazon云平台12.5.2Google云平台12.5.3Microsoft云平台12.5.4云平台架构12.6云存储技术体系12.7云存储安全第13章大数据13.1大数据的概念13.2MapRece13.3MapRece扩展13.3.1Google Tenzing13.3.2Microsoft Dryad13.3.3Google Pregel13.4流式计算13.4.1原理13.4.2Yahoo S413.4.3Twitter Storm13.5实时分析13.5.1MPP架构13.5.2EMC Greenplum13.5.3HP Vertica13.5.4Google Dremel参考资料

F. 《大规模分布式系统架构与设计实战(含光盘)》epub下载在线阅读,求百度网盘云资源

《大规模分布式系统架构与设计实战(含光盘)》(彭渊)电子书网盘下载免费在线阅读

资源链接:

链接:https://pan..com/s/1XoxJB0i2HGGsmPJtONFSUA

提取码:sgzm

书名:大规模分布式系统架构与设计实战(含光盘)

作者:彭渊

豆瓣评分:4.8

出版社:机械工业出版社

出版年份:2014-3

页数:231

内容简介:

【编辑推荐】

 绝技源于江湖、将军发于卒伍,本书包含作者从程序员到首席架构师十多年职业生涯所积累的实战经验。

 这不是一本讲怎么使用Hadoop的书,而是一本讲实现Hadoop功能的书,本书系统讲解构建大规模分布式系统的核心技术和实现方法,包含开源的代码,手把手教你掌握分布式技术

【内容简介】

本书从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用,从而获取强大计算能力去解决复杂问题。一般互联网企业的分布式存储计算系统都是个大平台,系统复杂、代码庞大,而且只适合公司的业务,工程师很难下载安装到自己的电脑里学习和吃透。本书对分布式核心技术进行了大量归纳和总结,并从中抽取出一套简化的框架和编程API进行讲解,方便工程师了解分布式系统的主要技术实现。这不是一本空谈概念、四处摘抄的书,这本书包含了大量精炼示例,手把手教你掌握分布式核心技术。

本书主要内容

 分布式并行计算的基本原理解剖;

 分布式协调的实现,包括如何实现公共配置管理,如何实现分布式锁,如何实现集群管理等;

 分布式缓存的实现,包括如何提供完整的分布式缓存来利用多机内存能力;

 消息队列的实现,包括如何实现发送和接收模式;

 分布式文件系统的实现,包括如何像操作本地文件一样操作远程文件,并利用多机硬盘存储能力;

 分布式作业调度平台的实现,包括资源隔离、资源调度等。

【参考阅读】

978-7-111-43052-0 大规模分布式存储系统:原理解析与架构实战

978-7-111-40392-0 分布式系统:概念与设计(原书第5版)

978-7-111-45244-7 Hadoop应用开发技术详解

978-7-111-41766-8 Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理

978-7-111-42226-6 Hadoop技术内幕:深入解析MapRece架构设计与实现原理

978-7-111-44534-0 Hadoop技术内幕:深入解析YARN架构设计与实现原理

978-7-111-43514-3 网站数据分析:数据驱动的网站管理、优化和运营

978-7-111-42591-5 数据挖掘:实用案例分析

作者简介:

彭渊资深架构师,现任华为企业中间件首席架构师,主要负责中间件和大数据。前淘宝高级专家(花名:千峰),先后在淘宝交易、淘宝中间件、集团核心系统、阿里金融等部门工作。曾任金蝶总体架构部SOA架构师,负责设计ESB。曾艰苦创业,编写和销售财务软件。在Java技术领域从业十多年,撰写过多款开源软件,其中,淘宝分布式技术框架Fourinone为其代表作。他拥有软件着作权的代表作有:BS系列软件(包括财务进销存、OA产品、CRM等)、FMS视频会议、Flash网站生成软件(华军可下载),所有软件作品均贡献99%代码。

G. 系统架构 分布式 哪本书比较好

Distributed Computer Systems Engineering——经典和详细的介绍了分布式系统的技术和工程实现经验,值得每个做分布式系统的人去看一遍,继续锤炼和提高自己的眼界和技术。

补充三篇论文:
1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文。
2. The Chubby lock service for loosely-coupled distributed systems,这篇论文详细介绍了Google的分布式锁实现机制Chubby。Chubby是一个基于文件实现的分布式锁,Google的Bigtable、Maprece和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础,具有非常高的参考价值。另外,着名的zookeeper就是基于Chubby的开源实现,但是根据在Google工作的朋友讲,zookeeper跟Chubby在性能和功能上都还有差距。
3. Spanner: Google's Globally-Distributed Database,这个是第一个全球意义上的分布式数据库,也是Google的作品。其中介绍了很多一致性方面的设计考虑,为了简单的逻辑设计,还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义。

另外,还有一本书:
刚出的,读了一下样章,感觉还不错,一起推荐给大家——《大规模分布式存储系统:原理解析与架构实战》

H. 分布式存储是什么

分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
分布式和集中式存储
集中存储的优缺点是,物理介质集中布放;视频流上传到中心对机房环境要求高,要求机房空间大,承重、空调等都是需要考虑的问题。

分布存储,集中管理的优缺点是,物理介质分布到不同的地理位置;视频流就近上传,对骨干网带宽没有什么要求;可采用多套低端的小容量的存储设备分布部署,设备价格和维护成本较低;小容量设备分布部署,对机房环境要求低。

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

I. 分布式存储系统的简介

分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

J. 什么是分布式数据存储

什么是分布式存储

分布式存储是一种数据存储技术,它通过网络使用企业中每台机器上的磁盘空间,这些分散的存储资源构成了虚拟存储设备,数据分布存储在企业的各个角落。

分布式存储系统,可在多个独立设备上分发数据。传统的网络存储系统使用集中存储服务器来存储所有数据。存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,无法满足大规模存储应用的需求。分布式网络存储系统采用可扩展的系统结构,使用多个存储服务器共享存储负载,利用位置服务器定位存储信息,不仅提高了系统的可靠性,可用性和访问效率,而且易于扩展。