Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks! Although I would like to disagree with some of your points:

- Sharding is only necessary for centralized systems, where there exists some "Single Source of Truth" of the record. GUN can and will store things in multiple places, so it behaves more like BitTorrent. This reduces the complexity and thus makes the database significantly easier to use and scale, however I had to solve some hard conflict resolution problems to get that to work.

- Yes, Merkle trees are awesome. But deletion is a very dangerous action in a database and should be avoided (as noted in the original article). It causes all sorts of potential data-corruption/divergence problems.

- All data syncs in realtime, cause GUN sports push notifications. However, if the there is a network partition, the data will sync (without problems) after it is restored. So yes, agreed, don't do things periodically - do them immediately!

- Disk access is slow, correct. That is why you should keep as much of the working set in memory. Doing so minimizes disk access, so the majority of your write/read ops are lightning fast.

Do you have any links to your stuff?



I'm not gonna argue with your points, just gonna warn you, that you have too much confidence in your algorithms, be careful.

> Do you have any links to your stuff?

No, it's not open source. Maybe with next implementation I will finally be ready to share it.


Algorithms should never be used based on confidence, only whether they work or not. Try them out and let me know your thoughts!




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: