Hi everyone, I need some advice, I have the basics of NoSQL (MongoDB) and SQL (PostgreSQL) and I want to pick one of them to deep dive as a backend Node.js dev, based on:
- That have most jobs posted on freelance websites with node
- Most companies hire for backend node.js with this database
This is for when I end my learning journey with portfolio projects.
I have been doing NoSQL for a long while, even before it was a thing. Berkely DB XML, Sedna, IBM DB/2 with their XML/Xquery types, even own XML-over-FS. Then there was CouchDB, known to some as IBM Cloudant - the only IDE ever made for it was my work.
The query language in ArangoDB - AQL (https://www.arangodb.com/docs/stable/aql/) will bring you some pleasure, especially if you come from the MongoDB world. For me, it was somewhat even easier to jump in because I had a background in XQuery; SQL, on the other hand, was always an ugly duck for me.
Sometimes (or most of the time), it is not the best thing to follow mainstream trends and hypes; it is something you will have to decide for yourself, do you want to be ‘just another developer’ or a developer that creates products and stands out. Aligning yourself with skillsets from freelancing sites is not the best way of advancing your career; you need something that will stand you out.
ArnagoDB solves you, besides the tech stack, headaches like learning curve, maintenance, scalability, and simplicity in growing your development team and making your backend(less) more complex.
I can reveal you our secret weapon for 95% of apps: (Netlify + OpenResty + ArangoDB) - for the backend, (React + UmiJs + Ant.Design + ahooks) for the frontend. I’ve created and open-sourced Foxx-Builder as a tool to build APIs even faster way than ArangoDB provides by itself, have a look at https://github.com/skitsanos/foxx-builder I have tried to document it in the most detailed way possible.
And here are some links for you
- https://www.arangodb.com/tutorials/mongodb-to-arangodb-tutorial/ - Modelling data in ArangoDB vs. MongoDB
- https://www.arangodb.com/solutions/comparisons/arangodb-vs-mongodb/ - What you can't do with MongoDB
- https://www.udemy.com/course/getting-started-with-arangodb/ - Udemy: Getting Started with ArangoDB
- https://www.youtube.com/watch?v=fIWX3s9B-f0&list=PL0tn-TSss6NV45d1HnLA57VJFH6h1SeH7 - Intro to the Foxx Microservices Framework
go for SQL (PostgreSQL in particular) this option will serve you well as a data store for node server and for data analysis, and when the job requires NoSQL, go for Firestore(it is simple and its NoSQL)
They are both fine and you will probably work with both, and many more, during your work career. So there isn't really a preferred one. I would suggest you start with Mongo just because they have a really good learning websites where you find many courses. You can use their cloud trial database to power your first applications for a fast setup. If you plan to be a backend engineer you will also need a solid grasp of SQL and Relational Databases like PostgreSQL too, so make plans to learn that too.