Hacker News new | past | comments | ask | show | jobs | submit login

If you intend to use GUN for banking or any globally consistent (CP) system, then yes.

However, for everything else, the criticisms no longer apply.

GUN is an CRDT based AP (highly-available, partition tolerant) strongly eventually consistent system, and therefore should not be used for banking-like systems.

I hate the jargon so sorry to reply with it, but it allow for a quick/concise summary of GUN's tradeoffs. Some more resources below:

- Cartoon explainer of academic stuff: https://gun.eco/distributed/matters.html

- CAP Theorem tradeoffs: https://gun.eco/docs/CAP-Theorem

- How to implement the CRDT and how it solves for Split-Brain failures: https://gun.eco/docs/Conflict-Resolution-with-Guns

There are a bunch of other resources, but I'm more than happy to reply/answer any specific questions if you have them. Cheers!




That's exciting, thanks a lot! I was just considering using a graph database for a future side project.

I also read Neo4j was an inspiration. Is there any "human-made" comparison between the two? All I could find was "A vs. B" comparison tables.

Thanks again!


@edjroot I don't know if this is any different than what you already saw, but the biggest differences are:

- Neo4j is Master-Slave, GUN is Master-Master (or Multi-Master, or Masterless). Basically, GUN is P2P/decentralized, Neo4j is centralized.

- GUN has realtime updates/sync built in, Neo4j does not.

- GUN has offline-first features, Neo4j does not.

Other considerations:

- Neo4j has its own query language, GUN has a FRP (Functional Reactive Programming) based JS API.

- Neo4j is over a decade old, GUN since late 2014.

- Neo4j is more monolithic, GUN is more microservice-y.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: