分布式存储的元数据设计

概要
从 2003 年 Google 公布 GFS 论文开始,已经过去了 12年,这中间出现了很多有影响力的存储解决方案,比如模仿GFS的HDFS, 支持 POSIX 兼容的glusterfs, 性能优先的lustre, 轻量的 mogilefs, 国人的 FastDFS等。 GFS和HDFS是为了大文件存储而设计的,所以在元数据层面通过牺牲伸缩性来保证了一致性和性能,glusterfs 的设计思路跟前者有很大的不同,他的设计目标是POSIX兼容以及完美的伸缩性,所以舍弃了中心节点的概念,同时也带来了一系列的问题,比如对称部署导致修复时间失控,元数据层级过长导致小文件性能低下。 每一个存储设计都是为了解决当时的一些问题,本文想通过比较各个分布式存储系统的设计,特别是元数据部分设计,来帮助大家了解各个存储的设计目标,优劣点。希望能给大家设计自己的存储系统时能有所启发。

个人简介

李道兵,七牛首席架构师. 化学专业毕业,喜欢开源软件和开源世界。前维基百科中文管理员,前Debian Developer,协助维护 iso-codes 等开源软件。 2007年加入金山实验室,主要研究分布式文件系统glusterfs。2010年加入盛大创新院,先参与了盛大网盘项目,后转到盛大云项目,主要负责存储组的质量保障工作。2012年加入 gigabase.org, 2013年加入七牛云存储,担任首席架构师。 喜欢算法,在topcoder 平台上分数到过红色。喜欢架构,参与了不少高压力项目的结构设计。比较推崇高可用,可伸缩,低耦合的架构设计。推崇基于单元测试、集成测试和持续集成的质量保证体系,以及基于日志和监控的反馈改善系统。擅长 bug 定位,推崇用系统地方式来定位bug。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。

你可能感兴趣的:(分布式存储的元数据设计)