Layr-Labs / eigenda

Secure, high-throughput, and decentralized Data Availability
https://www.eigenlayer.xyz/
Other
220 stars 168 forks source link

[Enhancement]: Consider supporting multiple data storage engines #773

Open aimxhaisse opened 2 weeks ago

aimxhaisse commented 2 weeks ago

Use case and current behavior

There are limitations with using LevelDB:

Other engines like RocksDb support those modes which would help in some setups. In overall, it would improve the performances of EigenDA and also add more supports in term of tooling (i.e: be able to open the database read-only from the outside for example, to have hot-backups from a sidecar).

Support burst of writes while storing on colder devices

The idea is simple, have 2 devices/disks/volumes attached to the machine/vm/pod running EigenDA:

This would:

Hot-snapshot

Some engines support multiple opens to the database if they are read-only (LevelDb doesn't), this means it'd be possible to simply add a hot-snapshot feature with a sidecar process, which could upload the database to some remote storage (s3 or similar) wihout having to start/stop the EigenDA process, and without having to worry about corruptions.

Enhancement

Solution proposal

This could be a one-off opt-in when you spin up EigenDA: you select your engine.

Once selected, you can't move at runtime between an engine to another, there could be guides to do this operations though (i.e: via tooling).

Additional Information

No response