标签归档: 一致性hash技术

一致哈希(Consistent Hashing)简介

一致哈希 是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K/n个关键字重新映射,其中 K是关键字的数量n是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。一致哈希的算法最早在如下论文中被提出:

一致哈希在分布式计存储架构中无处不在。是被证明的可以解决经典哈希视图发生变化时,数据搬迁尽可能少的算法。最早是在分布式缓存中提出,参考如下文档,这里提供原文的下载链接:《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 3票) Loading ... Loading ... | 归档目录:存储技术, 架构设计, 算法数据结构 | 同时打有标签:, |

OpenStack Swift源码导读之——业务整体架构和Proxy进程

OpenStack的源码分析在网上已经非常多了,针对各个部分的解读亦是非常详尽。这里我根据自己的理解把之前读过的Swift源码的一些要点记录一下,希望给需要的同学能带来一些帮助。

一、Swift的整体框架图

Swift代码树

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.61- 23票) Loading ... Loading ... | 归档目录:Swift, 云计算/云存储, 架构设计 | 同时打有标签:, , , |

构建高可用和弹性伸缩的KV存储系统

作为常用的NoSQL存储系统之一,KV存储系统受到了开发者的关注。但常见的KV存储系统并不具备自动容灾和在线扩容功能,这给系统运营造成了不少麻烦。本文提出了一种构建高可用和自动弹性伸缩的KV存储系统的方法。

常见KV存储系统

与互联网时代不同,社交时代和移动互联网时代的互联网产品,拥有海量的读写请求和爆发式增长的数据和用户。传统关系型数据库的性能、可扩展性和数据结构的灵活性逐渐成为瓶颈。NoSQL型数据库在近些年风生水起,越来越受到开发者的关注。NoSQL无须遵循关系型数据库的ACID理论,简单灵活的数据结构和操作使其具备与生俱来的高性能和可扩展性。常见的NoSQL产品有KV(key-value)型、文档型、列存储型、图存储型、对象存储型、XML数据库型等,图1为各种类型NoSQL数据库的代表产品和介绍。

阅读全文 »

| 1 分2 分3 分4 分5 分 (3.60- 5票) Loading ... Loading ... | 归档目录:云计算/云存储, 架构设计 | 同时打有标签:, |

Openstack Swift简介

背景与概览

Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务。Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题。

此项目是基于 Python 开发的,采用 Apache 2.0 许可协议,可用来开发商用系统。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 7票) Loading ... Loading ... | 归档目录:Swift, 云计算/云存储, 存储技术 | 同时打有标签:, , |
返回顶部