apache / gravitino

World's most powerful open data catalog for building a high-performance, geo-distributed and federated metadata lake.
https://gravitino.apache.org
Apache License 2.0
1.09k stars 343 forks source link

[Improvement] Remove `RocksDBKvBackend` and related code & dependencies from code base. #5633

Open yuqi1129 opened 1 day ago

yuqi1129 commented 1 day ago

What would you like to be improved?

RocksDBKvBackend is NOT maintained by the community, so we'd better to remove the related code. the whole things could included

How should we improve?

No response

pithecuse527 commented 22 hours ago

May I take this?

yuqi1129 commented 22 hours ago

May I take this?

Sure,please go on and I will assign it to you.

JunpingDu commented 22 hours ago

@pithecuse527 just assigned, thanks for help here.

pithecuse527 commented 12 hours ago

I have a few questions as I go through the code.

  1. Is this issue related to https://github.com/apache/gravitino/issues/2290? (Is this why we need to remove the RocksDB-related code?)

  2. Should I remove the entire org.apache.gravitino.storage.kv package, or just the parts related to RocksDB?

  3. If you're considering using a different key-value storage backend in the future, wouldn’t it be better to keep the other classes in the package to support that?

Thank you.

yuqi1129 commented 11 hours ago

@yuqi1129

Is this issue related to [EPIC] Support another KV storage except RocksDB #2290? (Is this why we need to remove the RocksDB-related code?)

Kv Storage backend will not be supported, so we are going to remove all kv storage backend including RocksDBKvBackend.

Should I remove the entire org.apache.gravitino.storage.kv package, or just the parts related to RocksDB?

Remove all Kv Storage backend and related kv storage backend interface and correspondingly implementation.

If you're considering using a different key-value storage backend in the future, wouldn’t it be better to keep the other classes in the package to support that?

We will not support KV storage backend storage in the near future, so I believe we can remove it temporarily. If we plan to support it again in the future, I think we can add back or design a better one.