关于数据存储的相关知识,请大家关注“数据存储张”,各大平台同名。
通过《什么是云存储?从对象存储说起》我们对对象存储的历史、概念和基本使用有了一个大概的认识。而且我们以Minio为例,通过单机部署的模式实际操作了一下对象存储的GUI,感受了一下对象存储的用法。
在上例中,对象存储软件部署在一台服务器上,称为一个单机版的对象存储系统。单机版的对象存储系统其实可以非常简单,可以是如下图所示的架构,上层是协议层,用于解析客户端的请求;下层是存储层,用于对设备内的硬盘进行管理,并实现数据的存储。

在实际生产中并不会使用单机部署的对象存储,原因是如果服务器宕机,那么我们就无法访问其中的数据了,也就是所谓的单点故障问题。除了上面说的单点问题外,还有就是单台服务器的处理能力和存储能力有限,通常无法满足互联网大规模访问的性能和容量需求。
所以,对于企业级的对象存储,通常采用的是分布式的架构,也就是数据会被存储在多个节点上。而且对象存储的性能和容量可以与节点总数量有一个近似线性的关系,也就是节点越多,性能越高,容量也越大。
那么如何将数据放置到多个节点呢?这就涉及到两种不同的数据放置方法,一种是分片(Sharding),另外一种称为副本(Replication)。下面我们分别解释一下上面两个概念。
分片技术其实最早来源于数据库
本文介绍了对象存储从单机到分布式的发展,探讨了单点故障问题以及分布式架构的优势。分布式存储采用分片和副本技术,通过分片提高存储容量和性能,副本提供数据可靠性。纠删码作为进化版,提升了存储效率。OpenStack Swift作为例子展示了具体的分布式实现,其使用一致性哈希环进行数据分布。
订阅专栏 解锁全文

363

被折叠的 条评论
为什么被折叠?



