云 存 储 ACM HONORED CLASS 柏钧文
云 云的定义 网络、互联网的比喻说法 资源的整合利用 通过云平台,按需服务 云计算、云阅读、云搜索、云引擎、云服务、云网站、云盘
云计算 云技术的核心 计算能力成为了商品 通俗解释:利用接入网络计算机的空余能力 Distributed computing Parallel computing Grid computing
云计算 将庞大的计算机处理程序拆成小的子程序 经由多部服务器组成的庞大系统分析处理结果后反馈给用户
云计算 历史 1960s john提出计算能力可作为公共事业 21世纪 信息爆炸时代 IDC 2006 Amazon & google 2010 各大IT公司进军云计算
云存储 云计算最直接应用 诞生比云计算早, 伴随e-mail的诞生 以数据存储和管理为核心的云计算
云存储的架构
云存储的优势 成本优势 管理优势 访问优势
存储 大量数据 物理磁盘的组合 1988 UCB Peterson RAID 0-6以及一些组合
RAID 0 优点 充分利用带宽 磁盘存储效率高 访问速度快 缺点 无冗余保护
RAID 0
RAID 1 优点 数据保护好 缺点 空间利用率低 存储缓慢
RAID 1
RAID 5 优点 存储性能、数据安全、存储成本兼顾 缺点 空间利用率<RAID0 数据安全性<RAID1,不能保证绝对能还原
RAID 10 优点 数据安全 读写快捷 缺点 磁盘利用率只有50%
RAID 10
存储方案 元数据方案 Key->pos 数据库 一致性哈希 并不直接存储key->value
一致性哈希 用算法算出对应key的逻辑位置 逻辑位置到物理位置的转换无法直接得到 扫描效率不令人满意 系统维护hash区间->节点的映射 本质上也是一种元数据
一致性哈希 根据key的哈希值寻找对应的区间(而不是一个结点) Key的哈希值落在某个区间后,对这个区间进行扫描 多级存储(Dynamo)
举个例子
环形hash空间 通常来说元数据的key值在32位以内,也就是0~2^32-1,映射如下: (目前这个空间里啥也没)
映射对象 假设我们映射了4个对象object1-4,如下
放cache 我们假设当前有3台cache,A、B、C,我们放置它们如下:
存储 Obj1就存在了cacheA上,obj4存在了cacheB上,obj2 & obj3 存在了cacheC上
优化 为了进一步提升效率,方便管理,还可以建立层级存储结构
移除一个cache 有时存储单位会不可避免地挂掉,但这种环形hash结构能够非常快捷地解决问题
云存储系统的扩展 原始的hash表一旦要扩容,就需要rehash,在基于hash的分布式存储系统中,所有的数据都要重新迁移一遍,这简直是一场灾难。 但在一致性hash中,我们在扩展时优先选择增加一台cache(或类似的)。加入节点时将其映射到hash环中,原来的区段会被截断,截断部分的数据重新移到新cache中,这种移动的数据量相对整体rehash是小很多的。
数据修复 利用云存储的冗余保护 修复时间的问题 修复节点的hash映射
总结 还是有许多东西没有提及 存储虚拟化、云存储标准 云存储的结构和内容大致介绍 希望对大家有所帮助
References 《元数据归来》 《云存储解析》 张继平 《中国云存储发展报告》 刘鹏 《解读云计算》 【英】Barnatt 《云服务器与传统服务器的比较》 《Amazon’s Dynamo》Vogels http://baike.baidu.com/view/107838.htm?fr=aladdin http://baike.baidu.com/subview/2982765/10950438.htm#viewPageContent http://www.jiacheo.org/blog/174 http://blog.sina.com.cn/s/blog_3fde8252010147j5.html
Q & A
谢谢大家!