horaedb icon indicating copy to clipboard operation
horaedb copied to clipboard

Introducing Opendal as our new object_store dependency.

Open tanruixiang opened this issue 2 years ago • 5 comments

Describe This Problem

The introduction of opendal as our object_store dependency has been considered before. We would very much welcome someone from the community who can continue to push this forward.

Proposal

Replace our current object_store dependency with opendal.

Additional Context

No response

tanruixiang avatar Oct 21 '23 03:10 tanruixiang

cc @ShiKaiWi @Rachelint @tisonkun

tanruixiang avatar Oct 21 '23 03:10 tanruixiang

Some concerns:

  1. Will opendal add too many dependencies, if we only use one or two backend?
  2. How is its performance? especially s3-like backend.

jiacai2050 avatar Oct 24 '23 12:10 jiacai2050

Will opendal add too many dependencies, if we only use one or two backend?

Most of services (storage backend) is optional. I build the default crate (with s3 bundled) and the result is

$ cargo build --release
$ ls -l target/release/libopendal.d 
-rw-r--r--  1 tison  staff  11398 Oct 25 06:22 target/release/libopendal.d

How is its performance?

I remember @Xuanwo and @Zheaoli once did a performance test. Maybe they'll have more information.

tisonkun avatar Oct 24 '23 22:10 tisonkun

Most of services (storage backend) is optional.

👍

Then we will wait to see how opendal performed compared with object-store.

jiacai2050 avatar Oct 25 '23 03:10 jiacai2050

Then we will wait to see how opendal performed compared with object-store.

We have added a benchmark inside opendal which compared with aws-sdk-s3, welcome to take a look and bench on your env: https://github.com/apache/incubator-opendal/tree/main/core/benches/vs_s3

Despite potential variations in results, the conclusion is clear: we are all built on rust and powered by hyper, exhibiting similar performance.

Xuanwo avatar Nov 28 '23 04:11 Xuanwo