2

I have a service running as a sidecar next to a variety of applications. This service needs to be extremely fast and do not make remote calls. It has to have in-memory database. The contents of this database have to be populated and kept up-to-date (although a lag is acceptable) with a central component. The service does not accept writes.

Of course this could be done through a mechanism of long pooling, for instance, but this brings the complexity of managing this solution and some intrinsic inefficiencies.

Is there a lightweight, ephemeral in-process and preferably in-memory database that can synchronise asynchronously with central replica preferably through regular HTTP so that no ports needs to be opened?

kboom
  • 2,279
  • 3
  • 28
  • 43

1 Answers1

1

Maybe Couchbase lite/mobile is what you are after. Atleast mobile is syncing over a web socket, not sure about which protocol lite is running (or if there is actually a difference between the products).

Seems like couchbase lite replaced touchDB which was a mobile version of CouchDB IIRC.

Another variant might be running pouchDB and using CouchDB as the master backend. You don't say which platform the application will run on, which is relevant if you want an in-process solution.

jishi
  • 24,126
  • 6
  • 49
  • 75
  • It will run as a sidecar so from that perspective it can be anything. We were thinking node to keep it lightweight. Just to be clear - this read-only replica is going to be needed in a sidecar running next to backends, it has nothing to do with mobile devices or with frontends. – kboom Apr 06 '21 at 19:13
  • 1
    @kboom Even though pouchDB and couchbase lite is targeted for mobile/frontend applications, it would probably work just fine for any application. – jishi Apr 07 '21 at 08:55