物件儲存服務中物件業務的非標介面

jackieathome發表於2024-04-27

本文中討論的物件儲存服務及介面,主要和AWS S3對標。
AWS S3提供的物件儲存業務,與傳統的POSIX規範相比,捨棄了很多特性,比如:

  • 檔案型別
    • 硬連結
    • 軟連結
    • 目錄
  • 檔案相關的操作
    • 追加寫
    • 隨機寫
    • 截斷
    • 修改名稱
  • 目錄相關的操作
    • 建立目錄
    • 修改名稱
    • 刪除目錄
  • 後設資料
    • 時間
      • crtime即建立時間,AWS S3定義了Last-Modified
      • ctime即後設資料變更的時間,AWS S3定義了Last-Modified
      • mtime即資料變更的時間,AWS S3定義了Last-Modified
      • atime即最近的訪問時間,AWS S3完全不支援。
    • xattr
    • UGO
    • ACL

AWS S3定義了物件的後設資料,但不支援修改,使用時稍顯不方便。

各物件儲存的服務提供商,從支撐客戶業務訴求的角度出發,除對標AWS S3提供了必要的物件業務介面,同時提供了一些擴充套件類的介面,方便傳統的IT應用快速從檔案儲存切換至物件儲存,照顧存量IT應用的使用習慣。

實現非標介面時,需要考慮物件特性的相容性,比如:

  • 普通物件
  • 多段物件
  • ETag的計算策略
  • WORM
  • 加密儲存
  • 多版本
  • 生命週期
  • 分級
  • 後設資料
  • 併發操作下的一致性
  • 併發操作下的事務

其它方面可參見基於檔案語義實現S3介面語義的注意事項

阿里雲OSS

文件主頁見物件儲存 OSS

涉及的物件操作,如下:

  • AppendObject
  • Callback
  • SelectObject
  • PutSymlink
  • GetSymlink

華為雲OBS

文件主頁見物件儲存服務 OBS
涉及的物件操作,如下:

  • 追加寫物件
  • 修改物件後設資料
  • 修改寫物件
  • 截斷物件
  • 重新命名物件
  • 回撥

火山引擎

文件主頁見物件儲存TOS

涉及的物件操作,如下:

  • AppendObject
  • SetObjectMeta

騰訊雲

文件主頁見物件儲存 COS

涉及的物件操作,如下:

  • APPEND Object
  • SELECT Object Content

ECS

文件主頁見ECS Data Access Guide 3.5.0.2

涉及的物件操作,如下:

  • Updating a byte range within an object
  • Overwriting part of an object
  • Appending data to an object
  • Reading multiple byte ranges within an object

參考資料

  • Amazon S3 data consistency model
  • 華為雲 併發一致性說明

相關文章