rosedblabs / rosedb

Lightweight, fast and reliable key/value storage engine based on Bitcask.
https://rosedblabs.github.io
Apache License 2.0
4.58k stars 632 forks source link

V2.3.1 release plan #261

Closed roseduan closed 1 year ago

roseduan commented 1 year ago
jieway commented 1 year ago

Have you considered supporting distribution, such as utilizing the raft module in etcd, to provide distributed functionality as an optional choice for users? If feasible, I could implement this aspect of the functionality.

roseduan commented 1 year ago

Have you considered supporting distribution, such as utilizing the raft module in etcd, to provide distributed functionality as an optional choice for users? If feasible, I could implement this aspect of the functionality.

This is a huge work, I think we can have a try, do you have any experience in distributed storage systems?

jieway commented 1 year ago

Have you considered supporting distribution, such as utilizing the raft module in etcd, to provide distributed functionality as an optional choice for users? If feasible, I could implement this aspect of the functionality.

This is a huge work, I think we can have a try, do you have any experience in distributed storage systems?

I think that etcd's Raft implementation is a more mature module and practically the de facto standard for Raft. If it's just a porting effort, it shouldn't be too substantial (though this is just speculation). Of course, if starting from scratch, that would involve a significantly larger amount of work. As a beginner in distributed systems, I've been recently studying the Raft module in tinykv, and I noticed that the Raft module in tinykv is also a port from etcd. Seeing this project not being implemented led me to this idea.

roseduan commented 1 year ago

Have you considered supporting distribution, such as utilizing the raft module in etcd, to provide distributed functionality as an optional choice for users? If feasible, I could implement this aspect of the functionality.

This is a huge work, I think we can have a try, do you have any experience in distributed storage systems?

I think that etcd's Raft implementation is a more mature module and practically the de facto standard for Raft. If it's just a porting effort, it shouldn't be too substantial (though this is just speculation). Of course, if starting from scratch, that would involve a significantly larger amount of work. As a beginner in distributed systems, I've been recently studying the Raft module in tinykv, and I noticed that the Raft module in tinykv is also a port from etcd. Seeing this project not being implemented led me to this idea.

Ok, I can create a new project for this(like RoseKV or some other names you can suggest)

You can list a complete design plan and split it into different modules, so that other interested people can participate in it.

This can be a long-term work, try to stick with it and don't quit halfway...

If you do this well, I can assign the project to you as a maintainer.

jieway commented 1 year ago

Have you considered supporting distribution, such as utilizing the raft module in etcd, to provide distributed functionality as an optional choice for users? If feasible, I could implement this aspect of the functionality.

This is a huge work, I think we can have a try, do you have any experience in distributed storage systems?

I think that etcd's Raft implementation is a more mature module and practically the de facto standard for Raft. If it's just a porting effort, it shouldn't be too substantial (though this is just speculation). Of course, if starting from scratch, that would involve a significantly larger amount of work. As a beginner in distributed systems, I've been recently studying the Raft module in tinykv, and I noticed that the Raft module in tinykv is also a port from etcd. Seeing this project not being implemented led me to this idea.

Ok, I can create a new project for this(like RoseKV or some other names you can suggest)

You can list a complete design plan and split it into different modules, so that other interested people can participate in it.

This can be a long-term work, try to stick with it and don't quit halfway...

If you do this well, I can assign the project to you as a maintainer.

Let me give it a try and make some local modifications. I'll make progress first, and then I'll follow your suggestions. After all, I'm just a beginner in distributed systems, and I haven't finished writing tinykv yet. 😭 I'm not too confident about it.