主流分布式存储系统解析:HDFS、OpenStack Swift与云存储

8 下载量 90 浏览量 更新于2024-08-31 收藏 315KB PDF 举报
本文主要介绍了几个主流的分布式存储系统,包括Hadoop HDFS、OpenStack Swift以及公有云对象存储,如谷歌云存储和Amazon S3,并提到了Facebook的Haystack和f4存储系统。 Hadoop HDFS是针对大数据处理的分布式文件系统,它的设计目标是容错、可扩展性、高效性和可靠性。HDFS借鉴了谷歌文件系统GFS的设计,通过数据复制在同一节点上存储,便于数据的本地化计算,降低网络I/O。MapReduce是HDFS的重要组件,它将处理任务移动到数据所在的节点,进一步优化性能。HDFS是Apache Hadoop项目的一部分,通常与Hadoop一起部署。 OpenStack Swift是一种类似Amazon S3的对象存储服务。它的特点是每个存储对象都有元数据和URL,对象在不同区域复制三次,确保数据冗余和可用性。用户通过RESTful HTTP API与Swift交互,数据可以在集群的任何位置存放,而无需迁移。Swift支持在线扩展,通过添加节点提升存储容量,同时保持服务的不间断运行,故障节点和磁盘可以热替换,运行在标准硬件之上。 公有云对象存储,如谷歌云存储和Amazon S3,提供了高度可扩展和高可用的对象存储解决方案。它们不需要特定的数据模式,适合存储大量非结构化数据,如图像和视频。 Facebook的Haystack是一个专为图片存储优化的对象存储系统,强调元数据处理,适用于大规模图片服务。Haystack设计考虑了长尾服务,与传统的缓存和CDN相比,表现更优。随着时间的发展,Facebook还开发了f4作为暖性BLOB存储系统,进行了更多优化,如减少磁盘读取次数和通过复制实现容错。 这些分布式存储系统各有特色,满足不同场景下的数据存储和访问需求,如大数据分析、云计算服务和社交媒体平台的高并发访问。它们通过复制、分布式计算和智能的元数据管理等方式,确保数据的安全性、可用性和高性能。
2019-07-19 上传
HustStore- 高性能分布式存储服务huststore 是一个高性能的分布式存储服务,不但提供了 10w QPS 级别的 kv 存储的功能,还提供了 hash、set 等一系列数据结构的支持,并且支持 二进制 的 kv 存储,可以完全取代 Redis 的功能。此外,huststore 还结合特有的 HA 模块实现了分布式消息队列的功能,包括消息的流式推送,以及消息的 发布-订阅 等功能,可以完全取代 RabbitMQ 的功能。特性huststore 分为 hustdb 以及 HA 模块两大部分。hustdb (存储引擎)的底层设计采用了自主开发的 fastdb,通过一套独特的 md5 db 将QPS 提升至 10w 级别的水准(含网络层的开销)。HA 以 nginx 模块的方式开发。nginx 是工业级的 http server 标准,得益于此,huststore 具备以下特性:高吞吐量hustdb 的网络层采用了开源的 libevhtp 来实现,结合自主研发的高性能 fastdb 存储引擎,性能测试 QPS 在 10w 以上。高并发参考 nginx 的并发能力。高可用性huststore 整体架构支持 Replication (master-master),支持 load balance 。HA 的可用性由nginx 的 master-worker 架构所保证。当某一个 worker 意外挂掉时, master 会自动再启动一个 worker 进程,而且多个 worker 之间是相互独立的,从而保证了 HA 的高可用性。huststore 的高可用性由其整体架构特点保证。由于 hustdb 的存储节点采用了 master-master 的结构,当某一个存储节点挂掉时,HA 会自动将请求打到另外一台 master,同时 HA 会按照自动进行负载均衡,将数据分布存储在多个 hustdb节点上,因此存储引擎不存在单点限制。同时 HA 集群本身也是分布式的设计,而且每个 HA 节点都是独立的,当某一台 HA 挂掉时, LVS 会自动将请求打到其他可用的 HA 节点,从而解决了 HA 得单点限制。通用性的接口huststore 使用 http 作为通用协议,因此客户端的实现不限制于语言。支持二进制的 key-value架构设计运维架构存储引擎设计依赖leveldblibcurllibevhtpzlog 标签:360  分布式存储