4 ms·
We've added a couple more storage engines, like SQLite which should also be compatible with Postgres. However I'm not very satisfied with the performance of th
by marknadal 10y ago
We've added a couple more storage engines, like SQLite which should also be compatible with Postgres.
However I'm not very satisfied with the performance of them or any of the others. So it seems like ultimately I'll be forced into building my own storage engine, which I plan to do based on a radix. But that is pretty far down the pipeline.
What were you needing it for? Our latest load test handled on low end hardware 1750 table inserts a second second across a federated/distributed system. We're hoping to get that up to 10K on cheap/free hardware. :) Be curious to hear about your needs/use-cases! Let me know.
- anilgulecha 10y agoI was thinking a pouch-couch situation for offline-first usecase. Basically I'd use gun-gunserverside on multiple clients, and get sync free on the clients, when the clients come online.
- marknadal 10y agoWould you explain again, I don't think I understood? You are wanting gun to have a server-side Couch storage adapter? Or something else? GUN is offline-first already, so you don't need pouch/couch to achieve that, just in case that is what you were thinking? Let me know if I am misunderstanding you.
- anilgulecha 10y agoRight now gun has multiclient offline-first capability. If the clients go away (and the data destroyed), there's no way of loading data on the new client. WHat I'm looking for is a "gun-server" with persistent storage, which can act like the persistent storage node, always ready to provide data to new clients. (Couchdb does this for pouch clients)
- marknadal 10y agoAh, yes! Thank you for clarifying. (sorry for the late reply) This actually works out of the box, sorry if if this wasn't clear. When you run a gun server ( `npm start` or see https://github.com/gundb/gun-starter-app https://github.com/gundb/gun-starter-app ), it by default saves persists data to disk. This way the gun server acts as a storage node, ready to provide the data to clients. The default options are, and extensions for: - Dump JSON to disk. - Backup to S3. - Level adapter https://github.com/PsychoLlama/gun-level https://github.com/PsychoLlama/gun-level - SQLite adapter https://github.com/gundb/sqlite https://github.com/gundb/sqlite Note, that the Level adapter is also compatible with many other storage engines. Is this what you were looking for?