alibaba / alibaba/paimon-cpp

[Feature] Support S3-compatible object storage (S3/MinIO) filesystem

Aperta
#357 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
131
Fork
48
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## Description

Add support for S3-compatible object storage as a filesystem backend in paimon-cpp, including:

- **AWS S3** — native S3 access
- **MinIO** — S3-compatible self-hosted object storage
- Other S3-compatible services (e.g. Alibaba OSS, Ceph RGW, etc.)

## Motivation

Many data lakehouse deployments use object storage (S3, MinIO, OSS) as the underlying storage layer. Currently paimon-cpp appears to support only local filesystem, with HDFS support also in progress (#33). S3/MinIO support would significantly broaden the adoption scenarios for paimon-cpp, especially:

1. Cloud-native deployments on AWS / Alibaba Cloud / other cloud providers
2. On-premise environments using MinIO as the storage backend
3. Hybrid setups where data lives on object storage

## Possible Implementation

- Implement a `S3FileSystem` class conforming to the existing `FileSystem` interface
- Use the AWS C++ SDK (`aws-sdk-cpp`) with S3 module, or a lightweight alternative like `aws-c-s3`
- Support configurable endpoint, region, access key, secret key, and path-style access (for MinIO compatibility)
- The Java version of Paimon already has S3 filesystem support, which can serve as a reference

## Additional Context

Related: #33 (HDFS filesystem support) — once the filesystem abstraction is mature, adding new backends like S3 should be straightforward.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo l’interfaccia FileSystem esistente e il lavoro sul filesystem a cui si fa riferimento in #33, per comprendere l’astrazione attuale. Usa il filesystem Java Paimon S3 come riferimento, quindi definisci come un backend C++ coprirebbe AWS S3, MinIO e altri servizi compatibili. Il lavoro è completato quando sono supportati endpoint, region, credentials e path-style access configurabili.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
cloud, infrastructure
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.