ArangoDB allows application developers to write their data access and domain logic as microservices running directly within the database with native access to in-memory data. The Foxx microservice framework makes it easy to extend ArangoDB’s REST API with custom HTTP endpoints using modern JavaScript running on the same V8 engine you know from Node.js and the Google Chrome web browser.
Unlike traditional approaches to storing logic in the database (like stored procedures), these microservices can be written as regular structured JavaScript applications that can be easily distributed and version controlled. Depending on your project’s needs, Foxx can be used to build anything from optimized REST endpoints performing complex data access to entire standalone applications running directly inside the database.
https://github.com/skitsanos/foxx-builder
Hi,
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.
Back in time, I used to write those 3-tier apps where I always needed to have a backend, and most of my backends were on Node.js; what got changed with ArangoDB’s arrival was - that I could get rid of one element; I had no need anymore for the database backend. Imagine you have a database with a V8 JavaScript engine sitting on top of it. So you continue developing your code in Node.js but deploy it directly to the database without needing Fastify, Express, Nest, or whatever.
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)