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.1k stars 348 forks source link

[Epic] Decoupled entity key encoding from detailed key-value store #201

Closed yuqi1129 closed 1 year ago

yuqi1129 commented 1 year ago

What would you like to be improved?

Currently, Entity key encoding implementation heavily depends on a specific key-value storage backend. For example. CustomEntityKeyEncoder relies on kvbackend to get auto incremental ID, which is not very elegant. The ideal way is that encoding implement only do entity coding and all things related to storage should be left to key-value storage.

How should we improve?

No response

Subtask

yuqi1129 commented 1 year ago

@jerryshao I have thought about this issue for a while, It seems that it's not possible or necessary to separate entity key encoding from backend storage implementation for the following reasons:

What's your opinion on this issue? Please let me know if you have any suggestions.

jerryshao commented 1 year ago

https://github.com/datastrato/graviton/issues/203#issuecomment-1672431550

Please carefully think about the issues I mentioned here and give me a thorough design doc when ready.

yuqi1129 commented 1 year ago

@jerryshao please help to view this doc. I haven't come up with a solution to some problems, please give me some advice if you can. thanks

https://docs.google.com/document/d/1CdnZ-UHoiA4ZgHUz2KJ7WsXci4ArxFISUv686NfAHrk/edit