ostafen/clover

distributed?

amery opened this issue · 8 comments

amery commented

any suggestion on how to run a distributed clover db?

cloverdb is an embedded library and it doesn't support multiple machines

Yup guys think it would be feasible to implement with etcd store? I could be keen to work on that. Been enjoying clover a lot and that would allow me to use my system in both single binary and in a more Microservices way.

Hey, @MaxThom, yes, it could be feasible if etc provides sorted iteration.
I would love to see clover running in a distributed environment, so if you want to contribute I can support with reviewing code.

An alternative is to use hashicorps's raft library, which already supports badgers /boltdb: https://github.com/hashicorp/raft-boltdb

Hoo nice. I will check it out. I might look on integrating it with NatsIO key value store

@ostafen, i'm quite keen to invest some time and work on that. I'm currently building a pretty big system and I want to use Clover for it and replace the db I currently use. I might try to integrate it in etcd or natsio or both, but not in the near future, I need to finish a few months of work on my project before circling back and changing db.

Hey, @MaxThom, honored to know you are enjoying clover. If I can ask, could you share why you decided to switch completely to clover and how it suits better your use case?
Regarding the etcd driver, feel free to ping me when you are redy

Actually, I havent tried it yet. I'm currently building a IoT Hub system that can be both a single binary and split where every module is its own services and they can scale individually.

My current db and other alternatives are dedicated db and just feel really overkill for my use case. I dont have many things to store and no relationship between objects. They i'm building my stores is similar to Kubernetes and I will eventually build my system on top of it. Moreover, I already use InfluxDB for timeseries data which is where most of the data will be.

In single binary, I'm trying to reduce the number of dependencies to a minimum by using embeded natsio and an embeded db. I dont want to go with SQLite so, I was thinking of badger or natsiokv, and then I was thinking of building my own custom index system and then need to access individual json fields. I guess you can now see why I want to use Clover! And looking at the examples, the SDK looks really nice to use.

In distributed mode, I want to use etcd or again natsio kv. So that's why I was asking about it.