Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Suggestions: Additional local data stores, e.g. MongitaStore, FerretDB #828

Open
Andrew-S-Rosen opened this issue Jul 25, 2023 · 3 comments

Comments

@Andrew-S-Rosen
Copy link
Member

Andrew-S-Rosen commented Jul 25, 2023

https://github.com/scottrogowski/mongita

It would be great to have more file-based DB options in maggma. One such option (which I think @rkingsbury first told me about) is mongita. This is mostly a note to myself that it would be nice to implement this one day. Perhaps I'll come back to this.

One general concern I have is whether the existing MontyStore or a potential MongitaStore would be suitable for high-throughput calculations. It'd be worth knowing if either package prevents a race condition where multiple jobs try to read/write to the database at the same time. The README for mongita at least mentions that it has (experimental) lock support for multithreading behavior, which is promising.

@Andrew-S-Rosen
Copy link
Member Author

Andrew-S-Rosen commented Jul 25, 2023

Edit: Looks like we are out of luck there for Mongita.

Mongita is an embedded database. It is not process-safe. When you have multiple clients, a traditional server/client database is the correct choice.

Same for MontyDB, as noted here.

There's nothing in maggma specifically to resolve this, right @munrojm?

@rkingsbury
Copy link
Collaborator

Yeah, thanks for the suggestion @arosen93 . Definitely no objections to implementing a MongitaStore someday. I looked briefly at mongita as a substitute for mongomock to power MemoryStore, but I noted the following limitations:

mongitadoes not support many query operations including$regexor$exists. It also doesn't support bulk_writeorestimated_document_count` although those can be worked around.

@Andrew-S-Rosen Andrew-S-Rosen changed the title Feature Suggestions: MongitaStore Feature Suggestions: Additional local data stores, e.g. MongitaStore Nov 14, 2023
@Andrew-S-Rosen
Copy link
Member Author

Andrew-S-Rosen commented Nov 14, 2023

openjournals/joss-reviews#5995 (comment)

Worth jotting down FerretDB here, as highlighted by @utf above. This one seems particularly promising!

@Andrew-S-Rosen Andrew-S-Rosen changed the title Feature Suggestions: Additional local data stores, e.g. MongitaStore Feature Suggestions: Additional local data stores, e.g. MongitaStore, FerretDB Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants