主要观点:
- S3 是原始的云技术,被称为“对象存储”但实际更像云文件系统,其接口与 Unix 文件 API 有差异,是“深模块”。
- Unix 文件 API 简单直接,五个基本函数处理多种文件相关事务,是“深模块”,而以 YAML 为接口的模块通常较“浅”。
- S3 接口比 Unix 文件 API 更简单,功能比例更好,但缺少部分功能,如不能部分覆盖写、无重命名或移动操作、列表文件慢等。
- 各类数据库依赖部分覆盖写功能,将数据存储在文件中,不能很好地移植到 S3 上,与 S3 结合会出现问题。
- 模块深度在组织间交互中更重要,SAP 因接口不深导致集成成本高、项目易失败,S3 虽被称为“简单存储服务”但实际并不简单。
关键信息:
- S3 2006 年推出,可高速读写,带宽极高。
- Unix 文件 API 的五个基本函数及所处理事务。
- S3 的基本调用与 Unix 文件 API 基本调用的对比。
- 数据库依赖部分覆盖写及在 S3 上的存储问题。
- 模块深度对组织间交互的影响及 SAP 的案例。
重要细节:
- S3 存储文件时每次写都是整个文件覆盖,舍弃了数据库的事务完整性。
- 重命名在 S3 中需先复制再删除,耗时线性于文件大小。
- 列表文件在 S3 中比在本地文件系统慢。
- S3 接口仅为 XML,未发布 JSON 版本,且放弃维护 XSD 模式,无本地测试环境,默认不开启校验和,曾有最终一致性问题等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。