分布式对象存储-原理、架构及Go语言实现

admin 2022年11月13日 164次浏览

分布式对象存储-原理、架构及Go语言实现

(副标题):无 ;

(作者): 胡世杰 ;

内容简介:

​ 第1章  对象存储简介

1.1 和传统网络存储的区别
要理解对象存储,我们首先要来谈谈传统的网络存储。传统的网络存储主要有两类,分别是NAS和SAN。
NAS是Network Attached Storage的简称,是一个提供了存储功能和文件系统的网络服务器。客户端可以访问NAS上的文件系统,还可以上传和下载文件。NAS客户端和服务端之间使用的协议有SMB、NFS以及AFS等网络文件系统协议。对于客户端来说,NAS就是一个网络上的文件服务器。
SAN是Storage Area Network的简称。它和NAS的区别是SAN只提供了块存储,而把文件系统的抽象交给客户端来管理。SAN的客户端和服务端之间的协议有Fibre Channel、iSCSI、ATA over Ethernet(AoE)和HyperSCSI。对于客户端来说,SAN就是一块磁盘,可以对其格式化、创建文件系统并挂载。
NAS和SAN并不是完全对立的,现代的网络存储通常都是两者混合使用,可以同时提供文件级别的协议和块级别的协议。
介绍完传统的网络存储,那么对象存储跟它们又有什么区别呢?首先是对数据的管理方式不同。
1.1.1 数据的管理方式
对于网络文件系统来说,数据是以一个个文件的形式来管理的;对于块存储来说,数据是以数据块的形式来管理的,每个数据块有它自己的地址,但是没有额外的背景信息;对象存储则是以对象的方式来管理数据的,一个对象通常包含了3个部分:对象的数据、对象的元数据以及一个全局唯一的标识符(即对象的ID)。
对象的数据就是该对象中存储的数据本身。一个对象可以用来保存大量无结构的数据,比如一首歌、一张照片或是一个在线文档。
对象的元数据是对象的描述信息,为了和对象的数据本身区分开来,我们称其为元数据。比如某首歌的歌名、某张照片拍摄的时间、某个文档的大小等都属于描述信息,也

目录预览:

​ 分布式对象存储——原理、架构及Go语言实现
第1章 对象存储简介
第2章 可扩展的分布式系统
第3章 元数据服务
第4章 数据校验和去重
第5章 数据冗余和即时修复
第6章 断点续传
第7章 数据压缩
第8章 数据维护


[EPUB下载]