3 ms·
At my startup, we have created a geth fork that uses Postgresql instead of leveldb. It took quite some effort...but we are running a full node right now. I thin
by sandGorgon 9y ago
At my startup, we have created a geth fork that uses Postgresql instead of leveldb. It took quite some effort...but we are running a full node right now. I think we are going to put in more effort there - we already implemented soft deletes,etc. Smarter people than me can probably build a better data model for the merkle trees leveraging postgres.
It's 2x slower than leveldb (if that matters to you), but given how slow a blockchain really is ...it is plenty fast enough.
https://github.com/RedCarpetUp/go-ethereum/tree/dev?files=1 https://github.com/RedCarpetUp/go-ethereum/tree/dev?files=1
I believe that it is time for developers to start thinking of single node scalability and infrastructure that is maintainable..rather than convenience.
- shazow 9y agoThat looks pretty cool. Any plans to submit a PR upstream?
- sandGorgon 9y agoYup. Im a little intimidated by sending it right now - I'm not a crypto "expert". So I'm looking for some informal review and then probably submit it.
- MaxKK 9y agoCan you give me your reasoning to port the db to Postgresql? Thanks.
- sandGorgon 9y agoI have a long-ish discussion at https://github.com/tendermint/tendermint/issues/674 https://github.com/tendermint/tendermint/issues/674
- MaxKK 9y agoThanks. Blends in with our opinion.
- sandGorgon 9y agoUmm..so you agree or disagree ? Please feel free to comment on our code and point out some obvious flaws. We would love to learn.
- MaxKK 9y agoI'm affiliated with a cryptocurrency which is using Postgres as its underlying database since the beginning. So I agree with your sentiment. Single node scalability is often overseen, but in my opinion has to come first, before you can expand scalability network wide. It's like standard computer science practices are not being applied in the crypto world, yet.