DEV Community

Discussion on: Building a Database Written in Node.js from the Ground Up

 
kylebernhardy profile image
Kyle Bernhardy

Hi Ankush,

Apologies for the confusion, Stephen was saying Go & Node are considered on par in popularity & community support. As far as performance goes, I agree, historically Go has had threading baked in while Node has been CPU bound until the release of Node 12. We had extensive experience in scaling Node applications in our previous company & were able to work around Node being CPU bound by leveraging the native cluster library. This allows for embarrassingly parallel processing and also allows a developer to offload work from a main process. With Node 12 there is now threading with worker threads which would be more in alignment with Go. I don't claim that Node has superior performance to Go on their own merits :) but the Node community has been a huge help to us with robust libraries that we have used to build our product. Also we can bind C/C++ libraries as Native Node Modules like LMDB which is a wickedly fast Key Value store. Node.js was also what our team knew when we started HarperDB & creating a net new company & product is such a heavy lift learning a new programming language would have added a lot of stress & extended our go to market time. In the end we have been very happy with Node & our benchmarks have shown us outpacing MongoDB & other products on the market. I would love to get your thoughts on Go and what you love about it.

Cheers!