在云互联网时代, 数据存储依然是最基础的平台之一, 那么云时代的存储有些什么变化呢?

1. 数据存储

所谓数据存储, 即是应用程序产生的数据, 能够从某处进行正常的读取操作.
传统方式是将所有数据存放在某以集中式存储设备上, 通过协议(如nas)在多个应用程序之间进行数据共享读取.
虽说集中式存储有着高额的价格, 但能够提供简洁稳定可靠高效的服务, 并在各种应用中得到验证.

从各种渠道, 我们能获取到对集中式存储重大缺点的归结, 集中于可扩展性差和不菲的价格.
但是少年们, 对于中小特别是创业型公司来说, 几个T的集中式存储空间, 真的限制了公司未来的扩展性? 搭建一套分布式云存储真的价格低廉了?
个人认为, 云分布式存储, 应该称为云分布式大数据存储较为恰当, 更适合大数据公司.
搭建一套分布式云存储并不便宜, 从设备到研发及运维人员都需要一定的成本(facebook/google均定制设备以降低各种成本). 对大数据公司来说, 批量部署分布式系统则将成本大大降低.

言归正题, 本文将只讨论分布式系统gluster的一些相关技术问题.
方便叙述简单, 这里狭义的将分布式云定义为无单点故障的一种架构系统.

2. 集中式存储

采取集中存储方式的架构, 由于存储是个单点, 只能实现不完备的分布式应用程序.
若要实现完备的分布式应用程序, 则有以下几种方式:

  1. 需要多个集中式存储, 且各个存储之间实现实时数据共享.
  2. 需要多个集中式存储, 需要应用程序自身拥有分布式特性.

第一种, 在传统大型应用中也存在不少, 成本高昂.
第二种, 要求各应用程序支持分布式特性, 在近几年涌现的各种服务软件中得到极大的支持, 如各种nosql服务. 从原理上分析, 最简单的实现即在各个服务实例之间进行数据同步保持一致性.

3. 分布式存储

集中式存储的第二种方式虽然得到了极大的发展, 但我们无法兼容利用已有的各种服务.
如此, 我们急需统一并提供一致的存储接口来支持各种服务, 这中需求由来已久, 并非云时代的产物.
其所催发的各种分布式文件系统(Distributed File System)也早先云时代之前应运而生, 但却在大数据的云时代大放光彩.

当前存在很多成熟的DFS框架, 主流的如moosefs, glusterfs, fastdfs(国内刚开始在chinaunix论坛上首发),tfs(taobao dfs),和大红大紫的openstack swift和ceph.

已有不少资料对这几种系统做过比较, 下一篇将对glusterfs进行基本的叙述.