micromdm / micromdm

Mobile Device Management server
https://micromdm.io
MIT License
2.18k stars 348 forks source link

Optionally using a non-disk storage engine? #543

Open michaellee8 opened 5 years ago

michaellee8 commented 5 years ago

We are trying to migrate a current MDM system to base on micromdm's api. However, we found that the current boltdb implementation may not be reliable enough. We would like to make sure that our db layer is scalable, so we would like a client-server database model. Is there any existing plans of such migrations? We maybe contributing to a new implementation to the db layer if none of them exists. Could a Redis-compatible db be considered possible?

groob commented 5 years ago

However, we found that the current boltdb implementation may not be reliable enough.

I'm curious, did you find this through any sort of testing? What was the criteria for measuring performance? What broke with bolt? Can you file an issue with some concrete details, we would treat it as a bug.

Is there any existing plans of such migrations?

Postgres is on the roadmap. You can see a few PRs implementing Postgres. You're welcome to contribute.

michaellee8 commented 5 years ago

I guess I used the wrong words, maybe I shouldn't say unreliable. I would rather say it is just not suitable to our use cases. We are a service provider to schools that manage a good sum of devices. So we need to disturb loads between different instances of servers. Boltdb as a file storage db cannot suit our use cases since you cannot share 1 db file across instances.

I guess we are in the Postgres way. I should communicate with my managers. I hope that we can contribute to the development of this project as well. It is really a great and useful one.