对象存储之SeaweedFS简介及与MinIO的对比

2023-05-16

什么是SeaweedFS?

  • SeaweedFS架构:

    • master service【主服务】和Volume service【卷服务】一起提供分布式对象存储服务,支持用户配置数据的复制和冗余策略。
    • 可选的Filer service【过滤器】和S3 service【S3服务】是对象存储之上的附加层,可以根据需要进行部署
    • 可选的Filer可以支持目录和POSIX属性。Filer是一个独立的线性可扩展的无状态服务器,具有可定制的元数据存储,例如MySql, Postgres, Redis, Cassandra, HBase, Mongodb, Elastic Search, LevelDB, RocksDB, Sqlite, MemSql, TiDB, Etcd, CockroachDB, YDB等。
    • 这些服务中的每一个都可以作为一个或单独的实例在各种实际服务器上运行。
  • SeaweedFS主要组件功能

    • master:负责管理所有的卷服务器(volume servers),分配文件ID,维护集群的元数据和状态。
    • volume:负责存储实际的文件内容,以及文件的大小,修改时间等属性。
    • filer:负责提供一个类似POSIX的文件层次结构,以及支持多种接口,如WebDAV,Hadoop等。
    • S3:负责提供一个兼容S3 API的网关,以及支持云端备份和分层存储等功能

在这里插入图片描述

与minio的区别

SeaweedFS和minio都是开源的分布式对象存储系统,它们都支持S3 API,并且可以用于存储和处理大量的数据。但是它们也有一些区别,主要有以下几点:

  • SeaweedFS使用了一个独特的文件ID机制,将文件元数据和文件内容分开存储,从而避免了元数据瓶颈,并且可以实现O(1)的磁盘寻址minio则使用了传统的文件名和目录结构来组织文件,但是也提供了一些高级功能,如加密,压缩,版本控制等。
  • SeaweedFS提供了一个filer组件,它可以在master和卷服务器之间提供一个类似POSIX的文件层次结构,以及支持WebDAV,Hadoop等多种接口。minio则主要依赖于S3 API来访问和管理文件,但是也提供了一些其他工具,如mc命令行客户端,minio console web界面等。
  • SeaweedFS支持云端备份和分层存储,可以将冷数据迁移到云端存储服务,如AWS S3,Google Cloud Storage等。minio则支持多云复制和联邦模式,可以将数据在不同的云端存储服务之间同步和迁移。
  • SeaweedFS支持纠删码(Erasure Coding),可以在卷级别提高数据的可靠性和容错性。minio则支持分布式纠删码(Distributed Erasure Coding),可以在集群级别提高数据的可靠性和容错性。
  • MinIO没有针对大量小文件进行优化。文件只是按原样存储在本地磁盘上。再加上用于擦除编码的额外元文件和碎片,它只会放大LOSF问题。
  • MinIO读取一个文件需要多次磁盘IO,而SeaweedFS是O(1),即使对于擦除编码的文件也是如此。
  • MinIO具有全时擦除编码。SeaweedFS在热数据上使用复制以获得更快的速度,并可选择在热数据上应用擦除编码。
  • MinIO没有类似posix的API支持。
  • MinIO对存储布局【存储布局】有特定的要求导致不能灵活调整,在SeaweedFS中,调整只需启动一个指向主卷的卷服务器即可。
  • MinIO的缺点:仅支持EC,会存在io放大的问题,特别是在大量小文件的场景下 - 扩容不太友好,对等扩容时需要全集群停止服务 - 支持的文件数量有限,基于本地文件系统设计,在对象数变多以后,inode的查找都会变得很耗时
  • SeaweedFS的缺点:S3的适配不完全: 实现了大部分的常用接口,部分非常用接口未实现,比如Canned ACL等

总的来说,SeaweedFS和minio都是优秀的分布式对象存储系统,它们各有各的优势和特点,选择哪一个取决于你的具体需求和场景。

参考

源码地址 seaweedfs
SeaweedFS 高可用方案最佳实践
SeaweedFS Download Binaries for different platforms
对象存储篇-SeaweedFS在同程旅行的使用实践

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对象存储之SeaweedFS简介及与MinIO的对比 的相关文章

  • Jenkins安装过程

    一 什么是自动化测试平台 前言 xff1a 在一些做嵌入式产品的公司里 xff0c 为了确保开发主线代码的稳定 xff0c 在做版本升级的时候要考虑到代码改动对主线功能造成的影响 xff0c 避免造成严重的版本问题 xff0c 需要在每次代
  • ldd nm strip strings readelf file查看信息

    ldd lt 可执行文件名 gt 查看可执行文件链接了哪些 系统动态链接库 nm lt 可执行文件名 gt 查看可执行文件里面有哪些符号 strip lt 可执行文件名 gt 去除符号表可以给可执行文件瘦身 strip后使用nm查看不到符号
  • linux console输出重定向到串口ttyS0

    在linux系统中使用virsh创建和管理虚拟机时 xff0c 除了使用ssh 连接虚拟机 xff0c 还可以使用 virsh console 虚机名 的方式连接虚拟机 xff0c 不过需要在虚机镜像中开启将console重定向到串口的设置
  • 最新综述 | 图数据上的对抗攻击与防御

    Lichao Sun and Yingtong Dou and Carl Yang and Ji Wang and Philip S Yu and Bo Li Adversarial Attack and Defense on Graph
  • 记一次硬件调试经历

    产品信息 系统 xff1a SONiC系统 xff08 linux 4 9 110 xff09 xff0c ONIE xff08 4 1 38 xff09 项目背景 xff1a 此项目是一个网络流量设备 xff0c 作为流量转发器 xff0
  • VNC 的应用及灰屏鼠标变X问题

    Ubuntu中vnc服务器端的安装很简单 xff0c 运行如下命令 xff1a sudo apt get install vnc4server 第一次启动vncserver后 xff0c 在用户家目录中会生成 vnc 目录 xff0c 注意
  • 质量—弹簧—阻尼系统的建模分析

    质量 弹簧 阻尼系统的建模分析 本文介绍如何使用数轴建模法对质量 弹簧 阻尼系统进行建模分析 这里涉及的质量块 弹簧 阻尼均为理想器件 注 xff1a 实际弹簧还拥有阻尼器的效果 xff0c 即实际弹簧应该是一个弹簧 阻尼系统 在分析质量
  • ubuntu16.04上samba服务器的安装和配置

    大家好 xff0c 我是加摩斯 xff0c 觉得文章有帮助的小伙伴 xff0c 记得一键三连哟 xff5e 申明 xff1a 原创 xff0c 转载前请与我沟通 samba服务器的介绍可以查看鸟哥私房菜服务篇中的文件服务器之二 xff0c
  • 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对

    答 xff1a 不对 xff0c 有相同的 hash code 这是java语言的定义 xff1a 1 对象相等则hashCode一定相等 xff1b 2 hashCode相等对象未必相等 hashCode 的常规协定是 xff1a 1 在
  • 关于下载Keil5无法打开keil4文件的问题解决方案

    关于下载Keil5无法打开keil4文件的问题解决方案 1 拖拽工程文件到keil4中 xff0c 发现相应问题2 打开工程目录 xff0c 删除缓存文件3 将uvproj文件拖到keil4程序上 本人在下载完keil4后下载了keil5
  • linux: flameshot 快捷键设置

    如果有一次启动后 xff0c 系统说 flameshot 崩溃了 xff0c 然后你的 快捷键 xff0c 就会不好用了 xff0c 那么此时 重启flameshot 即可
  • latex, 两个图并排怎么弄

    想要这样 的效果 俩图并排 xff0c 底下还有 一个 图的caption 你使用 如下 latex begin figure h subfloat label picd includegraphics width 61 6 77cm pi
  • 【TouchGFX实战】中文打印与滚动文本框

    TouchGFX实战 中文打印与滚动文本框 本文涉及到的TouchGFX版本基于TouchGFX Designer 4 19 1 xff0c 已成功应用到实际项目 xff0c 如有疑问请向作者留言咨询 效果演示 xff1a 整体效果如下 x
  • 调整VMware虚拟机硬盘容量大小

    xfeff xfeff 使用在VMware安装目录下就有一个vmware vdiskmanager exe程序 xff0c 它是一个命令行工具 xff0c 可用来修改虚拟机硬盘的大小 命令格式如下 vmware vdiskmanager x
  • 人脸识别之损失函数Softmax

    这次我想和各位童鞋分享下人脸识别中的损失函数 xff0c 我认为根据损失函数的不同可以把人脸识别看做classification和metric learning两种或者两者的结合 下面我分享下我训练中踩的一些坑 xff0c 如有纰漏欢迎童鞋
  • 无线网卡MT7601U驱动的移植

    1 mt7601u无线网卡驱动 xff1a 官网 xff1a http www mediatek com zh CN downloads mt7601u usb 或者 xff1a http download csdn net detail
  • 树莓派安装中文输入法

    树莓派安装中文输入法 1 更新终端2 安装中文字库3 刷新字库缓存4 打开配置界面5 安装中文输入法 scim 首先安装树莓派官方系统 xff1a raspbian 1 更新终端 sudo apt get update 2 安装中文字库 由
  • 汤子瀛 操作系统整理[3]——第三章 处理机调度与死锁

    第三章 处理机调度与死锁 处理机调度的基本概念 高级 中级和低级调度 1 高级调度 High Scheduling 在每次执行作业调度时 xff0c 都须做出以下两个决定 1 接纳多少个作业 2 接纳哪些作业 2 低级调度 Low Leve
  • MATLink的使用

    MATLink的使用 MATLink Communicate with MATLAB from Mathematica MATLink可以理解为一个运行在Mathematica下的功能包 xff0c 其作用是实现MATLAB与Mathema
  • 中国移动GPRS与APN应用时cisco路由器配置参数

    中国移动的gprs网络 xff0c 使用APN方式连接gprs设备终端 xff0c 通过APN与服务器通讯 xff0c 客户买的是cisco 2811路由器 xff0c 移动公司的光纤拉过来需要用E1口 xff0c 又花了1000多RMB配

随机推荐