Skip to content

feat: Add Tencent Cloud COS (Cloud Object Storage) support #6125

@XuQianJin-Stars

Description

@XuQianJin-Stars

Is your feature request related to a problem?

Currently, Daft supports multiple cloud storage backends including AWS S3, Azure Blob Storage, Google Cloud Storage, and Tencent TOS (火山引擎 TOS). However, there is no native support for Tencent Cloud COS (Cloud Object Storage / 腾讯云对象存储), which is one of the most widely used object storage services in China.

Users who want to use Daft with data stored in Tencent Cloud COS currently have to either:

  1. Use the S3-compatible API endpoint (which may have limitations and requires manual endpoint configuration)
  2. Copy data to a supported storage backend (inefficient and costly)

Describe the solution you'd like

Add native support for Tencent Cloud COS using OpenDAL as the underlying implementation, similar to how Lance implemented COS support.

Why OpenDAL?

  • No official Rust SDK: Tencent Cloud COS does not have an official Rust SDK
  • Proven implementation: OpenDAL has mature COS support with authentication, retry logic, and multipart upload
  • Active community: OpenDAL is an Apache project with active maintenance
  • Future extensibility: OpenDAL supports 70+ storage backends, making it easier to add more providers in the future

Implementation Architecture

Since Daft uses a custom ObjectSource trait (not the object_store crate), we need to create an adapter layer:

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedThis issue has been accepted as a known bug, or important feature to includeenhancementNew feature or requestneeds triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions