Asynchronous variant of MongoDB C Driver
Add async API on the C Driver.
We have started a formal investigation on adding async APIs in MongoDB C Driver.
If you have any suggestions or willing to test our prototypes and share feedback, please comment here or reach out to me (rishabh dot bisht at mongodb.com).
-
Kirubakaran commented
This is great. Is there a way to understand how this is implemented ?
Mainly Is this fearure is crash consistent.?
If multiple threads parallel inserting document to a collection, can this be consolidated automatically and do a bulk update by the mongo-router to the corresponding shards ? -
Hi all, just wanted to share an update with you. Our development team is hard at work, and I'm excited to announce that we plan to release a prototype in the coming months. Stay tuned for more updates!
-
Oded commented
Great news, any update on this?
-
Ibrahim commented
That's a great news. Any timeline you would like to share with us?
-
Arran commented
Excellent news!
-
Here's the related forum thread for reference - https://www.mongodb.com/community/forums/t/why-not-supply-async-api-in-mongo-c-driver/16260.
-
Arran commented
Just to mirror my comments from the original forum post. For us, this is less about pure performance, and more about fitting MongoDB into our event driven framework. With FreeRADIUS each operating system thread processes thousands of requests in "parallel", with each request having its own call stack, and yielding back to the interpreter for any I/O. For FreeRADIUS v4 (the upcoming release), modules with blocking I/O are either being removed from the codebase (Firebird, DB2, FreeTDS), or moved out from the main worker threads to run in their own thread pools. These separate thread pools add a large performance penalty and increases code complexity.