AIGC 应用、数据分析等企业 10+ 热门专题课,就在极客时间企业版>>> 了解详情
写点什么

S3QL:一个用 Python 写成的在线存储系统

  • 2015-09-07
  • 本文字数:1299 字

    阅读完需:约 4 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

S3QL 是一个在线存储系统,使用诸如 Google Storage Amazon S3 OpenStack 这样的服务存储数据。它提供了一个动态的、容量无限的硬盘,任何运行 Linux、FreeBSD 或 OS X 的计算机都可以通过互联网访问。

S3QL 是一个符合标准的全功能 Unix 文件系统。它有一些额外的特性,使它特别适应于在线备份和归档。相比性能和功能而言,它更注重简洁与优雅。项目创建者 Nikolaus Rath 一直致力于确保源代码的可读性和可维护性。以下是 S3QL 的特性:

  • 透明性——从概念上讲,S3QL 与本地文件系统很难区分,例如,它支持硬连接、符号连接、标准 Unix 权限等;
  • 动态大小——S3QL 文件系统的大小可以根据需求动态增长和缩小;
  • 压缩——所有数据在存储之前都可以使用 LZMA、bzip2 或 Deflate(gzip)算法压缩;
  • 加密——在压缩之后上传之前,所有数据都可以使用一个 256 位的密钥进行 AES 加密,它还使用 SHA256 HMAC 校验和保护数据不被篡改;
  • 数据去重——如果多个文件有相同的内容,那么冗余数据只存储一次;
  • 不可变树——目录树可以设置为不可变的,这一特性有利于确保备份不会被修改;
  • 写入时复制\快照——S3QL 可以复制整个目录树,而不使用任何额外的存储空间,只有当其中一个副本被修改了时,被修改的数据会占用额外的空间;
  • 高性能——所有不读写文件内容的操作都非常快,因为 S3QL 将整个文件和目录结构存储在一个数据库中,而后者会在本地缓存,且远程副本为异步更新;
  • 支持低带宽连接——S3QL 将文件内容分成多个小块并缓存在本地。

近日,该项目在Hacker News 上引发了激烈的讨论,并登上了HN 的首页。不过,虽然讨论的内容很多,但关于S3QL 的内容相对较少,大多数讨论是围绕类似的解决方案,比如 Duplicity Attic Tarsnap ObjectiveFS 等。网友 indiv0 根据 S3QL 的文档断定,S3QL 使用的加密算法为 MAC-then-encrypt 算法。他认为这种算法不好。也有其他网友持类似观点,其中 dlitz 就认为这种算法太老。但网友 JoachimSchipper 并不认为 S3QL 采用了 MAC-then-encrypt 算法。另外,网友 witten 使用过 S3QL 和 Tarsnap,他认为:

S3QL 使用了远程加载文件系统,从根本上讲,这不适合无人值守的备份。在许多情况下,S3QL 加载的文件系统会在备份过程中因为网络问题中断……

另外,S3QL 会周期性地发布不支持旧版本文件格式的新版本,或者仅仅向前支持一定的版本数量。因此,如果你升级不够经常,那么你会发现自己用了一个拒绝读取现有的 GB 级数据的版本。

关于第二点, S3QL 开源页面也提到了:

S3QL 已经稳定,可以用于生产环境。不过从一个小版本升级到下一个可能会改变公共接口,或者需要升级文件系统结构。因此,强烈建议在升级前阅读变更日志。

按照该页的说法,如果用户系统支持 Python 3.3 及以上版本,则建议下载最新的 2.x 版本。但 maint-1.x 分支也可以用于生产环境,只是不再进行积极的开发,只会修复影响较大的 Bug。更多信息,请查看 S3QL Wiki


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-07 19:004256
用户头像

发布了 1008 篇内容, 共 379.1 次阅读, 收获喜欢 342 次。

关注

评论

发布
暂无评论
发现更多内容

Mac电脑硬件信息查看 EtreCheckpro 激活最新版

胖墩儿不胖y

Mac软件推荐 硬件信息检查工具

服务器 突然断电有什么危害

Geek_f19a80

聚力未来!云起无垠成为光合组织成员单位

云起无垠

阿里云全球性故障引发技术圈热议,企业IT应急应该怎么办?

轶天下事

亲身体验告诉你:亚马逊云科技海外服务器是否值得一试?

热爱编程的小K

服务器 亚马逊 #科技 Amazon EC2 云服务器

MacOS系统的硬件信息扫描工具:EtreCheck pro for Mac

加油,小妞!

etrecheckpro 硬件信息扫描工具

强大好用的shell:shell命令

小齐写代码

阿里云严重故障,全线产品受影响(已恢复)

轶天下事

Amazon EC2使用测评

i查拉图斯特拉如是说

服务器 亚马逊云科技 EC2

Xmind for Mac(思维导图软件) 24.01中文激活版

mac

XMind 思维导图软件 苹果mac Windows软件

Xmind for Mac(思维导图软件) 24.01中文版

展初云

Mac 思维导图 XMind

MouseBoost Pro for Mac(右键助手)

展初云

Mac软件 鼠标辅助

Console LDAP 配置解密

极限实验室

console ldap

阿里云全球大崩溃是意外?盘点那些自称安全的云厂商

轶天下事

从“浮云”到“冰山”:华为云安全的绝世“五功”

轶天下事

轻松理解 Transformers (4) :Decoder 和 Output 部分

Baihai IDP

人工智能 深度学习 AI Transformer 白海科技

环境变量配置无效?

矩视智能

深度学习 机器视觉

低代码观点分享文,邀您来讨论

inBuilder低代码平台

低代码平台

mac上好用的图像清晰处理工具:Perfectly Clear Workbench 激活中文版

mac大玩家j

Mac软件 图像处理工具 图像清晰度处理

利用uni-app 开发的iOS app 发布到App Store全流程

雪奈椰子

数据流图:一篇文章教你如何轻松画出来

职场工具箱

流程图 教程分享 绘图工具

一起学Elasticsearch系列-Query DSL

Java随想录

Java 大数据 ES

为什么说Kstry是业务架构首选框架

lykan

微服务 后端 并发 规则引擎 流程编排

KK 架构训练营 - Week3

jjn0703

架构

阿里云全球宕机:从阿里云故障看企业IT挑战

轶天下事

AWS云服务器EC2实例进行操作系统迁移

乌龟哥哥

AWS Amazon EC2

Perfectly Clear Workbench for mac 智能图像清晰处理工具推荐

加油,小妞!

图像处理

2.4.0 Milky Way 强势登场!新功能大爆炸,让你High翻全场!

CnosDB

开源 时序数据库 CnosDB

阿里云的故障是一次意外还是一次危机?

轶天下事

AI应用新时代的起点,亚马逊云科技加速大模型应用

不叫猫先生

人工智能 大语言模型 Amazon CodeWhisperer

华大北斗荣获2023年度卫星导航定位科技进步奖特等奖

江湖老铁

S3QL:一个用Python写成的在线存储系统_Python_谢丽_InfoQ精选文章