SpeckleServer
SpeckleServer copied to clipboard
map coupling with MongoDB
Context
I'm thinking about proposing we abstract the DB layer at some point in the future, so SpeckleServer would work with a number of databases. This would address some of the limitations we've encountered with MongoDB's max sizes, etc.
This would obviously be quite a bit of work and a major change, so this issue is a sort of feasibility study.
What's required
- list where SpeckleServer is coupled to MongoDB
- list secondary interfaces/dependencies to MongoDB
I'd kindly like to ask for some help & input from those more familiar with the codebase ( :hugs: @didimitrie) Also anyone feel free to tell me off if you think it's not a worthwhile exercise :nerd_face:
Hey @radumg , there's no "secondary" deps. All clients talk only to the server, no exposed db over the webs.
I agree with the sentiment, though i think for short term (1 year or so!) we should keep things as they are. A new database would mean
- more (complicated) deployment instructions
- more bugs to handle specific to various dbs
- potential headaches
list where SpeckleServer is coupled to MongoDB
These are the core api routes: https://github.com/speckleworks/SpeckleServer/blob/Dimitrie/dev/patch-endpoints/app/api/root.js#L24-L116 (note: different branch, with a lot less of them, this will be the next release)
I think though more importantly this (just opened it based on your input): https://github.com/speckleworks/SpeckleOpenApi/issues/6 as it would allow for a transparent generic client generation both server & client side
I'm going to leave this here as reference: https://www.npmjs.com/package/pkgcloud
We shouldn't get too excited, this is a long way from getting sorted :)
That's the kind of thing that had inspired the original question btw 😁