分布式存储系统概述

云计算、大数据,这些热点词汇,后台的基础设施离开不了分布式存储系统,它的两个特点,一是规模大,二是成本低。其实分布式系统的设计是根据需求来变化的,那么我们接下来就看,我们需要存储哪些数据,以及,分布式存储系统有哪些分类。


1. 分布式存储的数据

大致可以分为三类:

  • 非结构化数据:文档、图片、视频等;
  • 结构化数据:这个最容易理解,关系数据库中存的表(比如员工名称、信息等等),模式(schema,包括属性、数据类型、数据关系等)与内容是分开的;
  • 半结构化数据:介于上述两者之间,比如HTML网页,schema和内容混杂在一起。

2. 分布式存储的分类
四种类别,我们逐一来说,最后举例。

(1)分布式文件系统
存储Binary Large Object(Blob),定长块,以及大文件,如下图:

当然,分布式文件系统将这些数据块分散到存储集群,需要处理数据复制、一致性、负载均衡、容错等分布式系统难题,并将blob、定长块、大文件的操作映射为对底层数据块的操作。
Google File System(GFS)为分布式文件系统。

(2)分布式键值系统(key-value)
存储关系较简单的半结构化数据,只提供基于主键的CRUD操作(create,read,update,delete),我们可以想象为,经过key-value映射,数据被映射到不同的集群中。一般它使用一致性哈希算法,这个后面我们会介绍。

(3)分布式表格系统
存储关系较复杂的半结构化数据,与key-value系统相比,key-value系统可以看成表格系统的一种简化实现,key-value系统一般用作缓存。
分布式表格系统借鉴了很多关系数据库的功能,比如说事物。
Google Bigtable是分布式表格系统,它的底层为Google File System。

(4)分布式数据库
一般从单机关系数据库扩展而来,用于存储结构化数据,所以分布式数据库也支持SQL(structured query language)。
Google Spanner系统是一个支持多数据中心的分布式数据库。

下面说说关系数据库,因为我们常见的Oracle,Microsoft SQL Server,IBM DB2,MySQL都是商业的关系数据库软件,但是,传统的关系数据库在高并发性和可扩展性上面优化空间较大。
所以,为了解决关系数据库面临的高并发、可扩展性以及性能方面的问题,各种非关系型数据库风起云涌,统称为NoSQL(Not Only SQL)系统。

概述就那么多,可能看完这些并不能直观地区分开各种分布式存储,但是,以上只是给出大概得分类,当你去探究内部细节时,便豁然开朗了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值