ArangoDB vs MongoDB

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

ArangoDB
ArangoDB

125
139
+ 1
139
MongoDB
MongoDB

18.8K
15.3K
+ 1
3.9K
Add tool

ArangoDB vs MongoDB: What are the differences?

Developers describe ArangoDB as "A distributed open-source database with a flexible data model for documents, graphs, and key-values". A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. On the other hand, MongoDB is detailed as "The database for giant ideas". MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.

ArangoDB and MongoDB can be categorized as "Databases" tools.

"Grahps and documents in one DB" is the primary reason why developers consider ArangoDB over the competitors, whereas "Document-oriented storage" was stated as the key factor in picking MongoDB.

ArangoDB and MongoDB are both open source tools. It seems that MongoDB with 16.2K GitHub stars and 4.08K forks on GitHub has more adoption than ArangoDB with 8.14K GitHub stars and 575 GitHub forks.

Lyft, MIT, and Bodybuilding.com are some of the popular companies that use MongoDB, whereas ArangoDB is used by AresRPG, Stepsize, and Brainhub. MongoDB has a broader approval, being mentioned in 2175 company stacks & 2143 developers stacks; compared to ArangoDB, which is listed in 11 company stacks and 13 developer stacks.

What is ArangoDB?

A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

What is MongoDB?

MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose ArangoDB?
Why do developers choose MongoDB?

Sign up to add, upvote and see more prosMake informed product decisions

What companies use ArangoDB?
What companies use MongoDB?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with ArangoDB?
What tools integrate with MongoDB?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to ArangoDB and MongoDB?
Neo4j
Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.
PostgreSQL
PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
Cassandra
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
OrientDB
It is an open source NoSQL database management system written in Java. It is a Multi-model database, supporting graph, document, key/value, and object models, but the relationships are managed as in graph databases with direct connections between records.
MySQL
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
See all alternatives
Decisions about ArangoDB and MongoDB
MongoDB
MongoDB

I starting using MongoDB because it was much easier to implement in production then hosted SQL, and found that a lot of the limitation you think of from a document store vs a relational database were overcome by connecting the application to a graphql API, making retrieval seamless. Mongos latest upgrades as well as Stitch and Mongo mobile make it a perfect fit especially if your application will be cross platform web and mobile.

See more
Anton Sidelnikov
Anton Sidelnikov
Backend Developer at Beamery · | 8 upvotes · 9.5K views
PostgreSQL
PostgreSQL
MongoDB
MongoDB

In my opinion PostgreSQL is totally over MongoDB - not only works with structured data & SQL & strict types, but also has excellent support for unstructured data as separate data type (you can store arbitrary JSONs - and they may be also queryable, depending on one of format's you may choose). Both writes & reads are much faster, then in Mongo. So you can get best on Document NoSQL & SQL in single database..

Formal downside of PostgreSQL is clustering scalability. There's not simple way to build distributed a cluster. However, two points:

1) You will need much more time before you need to actually scale due to PG's efficiency. And if you follow database-per-service pattern, maybe you won't need ever, cause dealing few billion records on single machine is an option for PG.

2) When you need to - you do it in a way you need, including as a part of app's logic (e.g. sharding by key, or PG-based clustering solution with strict model), scalability will be very transparent, much more obvious than Mongo's "cluster just works (but then fails)" replication.

See more
Zach Coffin
Zach Coffin
Software Developer · | 4 upvotes · 7.9K views
PostgreSQL
PostgreSQL
MongoDB
MongoDB

I started using PostgreSQL because I started a job at a company that was already using it as well as MongoDB. The main difference between the two from my perspective is that postgres columns are a chore to add/remove/modify whereas you can throw whatever you want into a mongo collection. And personally I prefer the query language for postgres over that of mongo, but they both have their merits. Maybe someday I'll be a DBA and have more insight to share but for now there's my 2 cents.

See more
Antonio Sanchez
Antonio Sanchez
CEO at Kokoen GmbH · | 13 upvotes · 139.3K views
atKokoen GmbHKokoen GmbH
PHP
PHP
Laravel
Laravel
MySQL
MySQL
Go
Go
MongoDB
MongoDB
JavaScript
JavaScript
Node.js
Node.js
ExpressJS
ExpressJS

Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

See more
Jeyabalaji Subramanian
Jeyabalaji Subramanian
CTO at FundsCorner · | 24 upvotes · 533.9K views
atFundsCornerFundsCorner
MongoDB
MongoDB
PostgreSQL
PostgreSQL
MongoDB Stitch