Need advice about which tool to choose?Ask the StackShare community!
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.
We were looking at several alternative databases that would support following architectural requirements: - very quick prototyping for an unknown domain - ability to support large amounts of data - native ability to replicate and fail over - full stack approach for Node.js development After careful consideration MongoDB came on top, and 3 years later we are still very happy with that decision. Currently we keep almost 2TB of data in our cluster, and start thinking about sharding.
After using couchbase for over 4 years, we migrated to MongoDB and that was the best decision ever! I'm very disappointed with Couchbase's technical performance. Even though we received enterprise support and were a listed Couchbase Partner, the experience was horrible. With every contact, the sales team was trying to get me on a $7k+ license for access to features all other open source NoSQL databases get for free.
Here's why you should not use Couchbase
Full-text search Queries The full-text search often returns a different number of results if you run the same query multiple types
N1QL queries Configuring the indexes correctly is next to impossible. It's poorly documented and nobody seems to know what to do, even the Couchbase support engineers have no clue what they are doing.
Community support I posted several problems on the forum and I never once received a useful answer
Enterprise support It's very expensive. $7k+. The team constantly tried to get me to buy even though the community edition wasn't working great
Autonomous Operator It's actually just a poorly configured Kubernetes role that no matter what I did, I couldn't get it to work. The support team was useless. Same lack of documentation. If you do get it to work, you need 6 servers at least to meet their minimum requirements.
Couchbase cloud Typical for Couchbase, the user experience is awful and I could never get it to work.
Minimum requirements
The minimum requirements in production are 6 servers. On AWS the calculated monthly cost would be ~$600
. We achieved better performance using a $16
MongoDB instance on the Mongo Atlas Cloud
writing queries is a nightmare While N1QL is similar to SQL and it's easier to write because of the familiarity, that isn't entirely true. The "smart index" that Couchbase advertises is not smart at all. Creating an index with 5 fields, and only using 4 of them won't result in Couchbase using the same index, so you have to create a new one.
Couchbase UI
The UI that comes with every database deployment is full of bugs, barely functional and the developer experience is poor. When I asked Couchbase about it, they basically said they don't care because real developers use SQL directly from code
Consumes too much RAM
Couchbase is shipped with a smaller Memcached instance to handle the in-memory cache. Memcached ends up using 8 GB of RAM for 5000 documents
! I'm not kidding! We had less than 5000 docs on a Couchbase instance and less than 20 indexes and RAM consumption was always over 8 GB
Memory allocations are useless I asked the Couchbase team a question: If a bucket has 1 GB allocated, what happens when I have more than 1GB stored? Does it overflow? Does it cache somewhere? Do I get an error? I always received the same answer: If you buy the Couchbase enterprise then we can guide you.
We actually use both Mongo and SQL databases in production. Mongo excels in both speed and developer friendliness when it comes to geospatial data and queries on the geospatial data, but we also like ACID compliance hence most of our other data (except on-site logs) are stored in a SQL Database (MariaDB for now)
Pros of ArangoDB
- Grahps and documents in one DB32
- Intuitive and rich query language25
- Good documentation23
- Open source22
- Joins for collections18
- Foxx is great platform15
- Great out of the box web interface with API playground14
- Low maintenance efforts6
- Clustering6
- Good driver support6
- Easy microservice creation with foxx5
- You can write true backendless apps3
- Managed solution available2
Pros of MongoDB
- Document-oriented storage822
- No sql585
- Ease of use544
- Fast462
- High performance404
- Free251
- Open source212
- Flexible177
- Replication & high availability139
- Easy to maintain107
- Querying39
- Easy scalability35
- Auto-sharding34
- High availability33
- Map/reduce29
- Document database26
- Easy setup24
- Full index support24
- Reliable15
- Fast in-place updates14
- Agile programming, flexible, fast13
- No database migrations11
- Enterprise7
- Easy integration with Node.Js7
- Enterprise Support5
- Great NoSQL DB4
- Aggregation Framework3
- Drivers support is good3
- Support for many languages through different drivers3
- Schemaless2
- Managed service2
- Easy to Scale2
- Fast2
- Awesome2
- Consistent1
Sign up to add or upvote prosMake informed product decisions
Cons of ArangoDB
- Web ui has still room for improvement2
- No support for blueprints standard, using custom AQL1
Cons of MongoDB
- Very slowly for connected models that require joins5
- Not acid compliant3
- Proprietary query language1