Also the better array handling. Update multiple documents in an array is now simply not possible. This is something that I’ve been waiting for, for a long long time.
Meteor needs to be updated to 64 bit before Mongo 3.6 support can be added? Is there a spot where we can get updates on this effort?
Also, what changes need to be made to Meteor for it to take advantage and utilize the new Mongo 3.6 feature set? And is there a spot where we can track this effort too?
Approach or implementation? Because rethinking the approach is already done in the Apollo work. But for those (like me) who like the existing approach, I am more interested in improving the implementation of the existing approach, and not rethinking it.
memory footprint (more control over control box caching could solve this)
limitation to MongoDB (Apollo is working on that)
some people want deep-field diffing (that is mostly just a question of trade-offs and somebody proposing a good implementation)
resolving of conflicts with something like operation transform (I have never really seen that this would be needed on a database level, but maybe having something out of the box to support collaborative fields might be interesting)
IMO, the first 3 points are the key. And change notifications addresses the first one directly, and will enable more effective horizontal scaling of Meteor server (which will indirectly help with the second point). Together with the retryable writes expected benefits and the better array handling targeted for Mongo 3.6, that will mean that Mongodb will be better suited for more use cases than currently, also helping with the third point. Address the first point with notifications API and provided Mongodb delivers as expected, that will take Meteor/Mongo apps well into the twenties…
@aadams Mongo 3.4 is held up by meteor/meteor-feature-requests#152. We’ve been working out the best approach for removing 32-bit Meteor support, and have a plan of attack in place (based mostly on these items). That work will be done off of the 1.6 release branch, but it’s a bit early to tell if it will be included in 1.6. Release 1.6 already includes a significant amount of changes, so Mongo 3.4 support will likely come in a future 1.6.x point release.
Oh my, this is lovely. I remember how Kadira used a separate Mongo cluster just for realtime metrics, because Node.js wouldn’t be able to keep up with a massive oplog. The notification API would be a great way of scaling Meteor without such painful architectural choices.