[Feature] Support S3-compatible object storage (S3/MinIO) filesystem
- 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