Skip to content

A high-level S3 client built on AWS SDK for Rust for even better ease of use, reliability, and bandwidth saturation.

License

Notifications You must be signed in to change notification settings

clearviewai/sulfite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sulfite

Crates.io Docs.rs License

Overview

sulfite is a high-level S3 client built on AWS SDK for Rust for even better ease of use, reliability, and bandwidth saturation (>50 Gbps).

The name: SO3^2-, an anion, implying a companion to some other cation (application), is commonly used as a preservative in wines and dried fruits (preserve to S3). It's S3 with an O in the middle, a play on oxidization.

Motivation

The AWS SDK is a little low-level for users to take advantage of the concurrency & parallelism, with the following challenges:

  1. You need to orchestrate the parallel multipart download & upload for large files.
  2. The built-in retry settings are too low-level, and we allow installing higher-level retries.
  3. The async API doesn't agree well with the filesystem, especially for streaming small chunks from/to disk.

To address them, we provide implementations for the parallel multipart download & upload, and higher-level retries. We also make sure the on-disk file is adequately buffered to avoid task-threading overhead.

License

This project is licensed under the MIT license.

About

A high-level S3 client built on AWS SDK for Rust for even better ease of use, reliability, and bandwidth saturation.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages