Offline database - for wish list

I recently attended a presentation about at Google Montreal.
The speaker (from Couchbase) was saying MongoDB is not scalable like their DB.
But many features (like for Angular) sound like natural stuff for Meteor. : )
But what was looking like what I am looking for is:

  • A full offline client-side persistent application and DB
    (even if you turn off the device)
  • Both client-side (from server) and server side (from client) filtered subscriptions according to some conditions
  • A delete local content when x time old.

There is a client side and server side product.
It is open source. So, would be nice if Meteor and Mongo people take a look at it so it could be incorporated in the stack.

The practical case I shared is a kind of Point of Sales where one needs to continue invoice (from a limited product list) while internet or server are down. Then, we need to synchronize the server with data that was kept secure on client’s mass storage, not only in Browser’s RAM.

1 Like

second this! The requirements described are imho “standard requirements” for many apps. Think about a chat application: When clients are offline the should still be able to see their chat history. When they have no network at the time of inserting a message or photo, changes should be persistent offline and synced as soon as a network connection is established.

1 Like

This is in fact possible using available packages for meteor. See ground:db for more details.

1 Like

Isn’t grounddb project abandoned?

Progress may have slowed but I don’t think it’s abandoned. It still works fine anyway.
It could be nice to have as an official package though, but maybe it’s not a common enough feature request for that?

I was intrigued by CouchDB as well, but I’ve come to see that its very limited compared to MongoDB.

However, it works over REST and probably has an NPM package, so there’s no reason why you couldn’t use it with Meteor today.

For the client, there is a library called PouchDB, which is like an in-app database that you can use standalone or sync with CouchDB. As I recall, there is even a package for it on Atmosphere.

1 Like

I believe offline data storage is one of the crucial needs of app development. I appreciate Meteor’s reactivity and optimistic UI etc. but especially for mobile apps offline data storage functionality is a kind of deal breaker. Therefore, this function should be implemented in the core libraries. Relying on a 3rd party solution that has not a clear roadmap might be too risky in an enterprise grade implementation.