We are currently in situation Q1) we need to serve + 50 000 documents ( 750 000 rows in pretty JSON ) in reactive mode for the client, Q2) store them locally for offline use in both cordova device and browser, because customer must be able to use application and it’s data in offiline, Q3) run and store methods in offline mode and invoke the methods and subscribes when the client-side reconnects with the server, even application or device restarted while offline.
a) Is it even possible to serve this many documents via Meteor DDP and Pub/Sub?
b) What is the max amount of the objects/data you have been able serve via Meteor Pub/Sub?
c) How much Minimongo can handle at client-side?
d) Is all subscribes and their collection data stored in server within client session? Does that mean that if client subscribes for 5mb of JSON that data is also stored within client session in server?
e) How much server resources is required to publish 1mb of JSON. Somebody tested?
We have tried to serve 20 000 documents (to give an idea 300 000 rows of pretty JSON or around 5,5mb) via Meteor Pub/Sub and it takes 2 minutes to finish the subscribe, after that it works very well, but unsubcribing the data takes also 2 minutes (maybe due to how pub/sub works), all this in Galaxy towards Mongo Atlas collection. We have also tried to fetch the same data via Meteor.call and it takes 2 seconds, but using Meteor.call would require some extra logic at client-side to maintain the reactivity.
a) What is the best way to store collections offline? Are we still talking about GroundDB? What version is recommended?
b) What is the max amount of objects/data you have able to store in GroundDB?
c) What is your way to store collections in the device and browser?
a) Looks like GroundDB has depreciated resuming methods in version 2 (which is required to have IndexedDB support) and looks like we need to build “resume methods” -package by ourself, or is there some package that we are not aware?