When comparing OrientDB vs AceBase realtime database, the Slant community recommends OrientDB for most people. In the question“What are the best NoSQL databases to use for Node.js applications?” OrientDB is ranked 3rd while AceBase realtime database is ranked 9th. The most important reason people chose OrientDB is:
This database is primarily, or historically, thought of as a graph database. However, it is actually a multi-model database that supports a variety of noSQL models (key-value, document, etc.).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Multi-model database (document, object, graph)
This database is primarily, or historically, thought of as a graph database. However, it is actually a multi-model database that supports a variety of noSQL models (key-value, document, etc.).
Pro Open Source commercial friendly license (Apache 2)
The Apache 2 license is one of the most liberal licenses. You can use OrientDB for any purpose for free.
Pro Free clustering support
Unlike other NoSql databases, OrientDB offers clustering support for free. Furthermore, it's not a basic Master/Slave, but it supports Master-Master replication + Sharding.
Pro Distributed Graph Database with relational type Documents
Pro Supports sql as well as other query languages
It can be queried in a number of ways, but the ability to query with SQL makes it a bit more familiar to use.
Pro Multi-master replication
OrientDB is incredibly scalable thanks to its multi-master replication. All nodes in a cluster can both read and write.
Pro Full text search
Full text search support is available when using Lucene based indexing algorithm.
Pro Performance
OrientDB is very fast, especially when it comes to relationships between records (or "links").
Pro Enterprise version available
The Community Edition is free and covers many features, but an Enterprise Edition is available (prices are transparent, published online) with 24x7 support.
Pro Also runs in the browser
Besides having a client that connects to a remote AceBase server, the database itself is able to run in the browser. It uses the same to codebase with a different storage provider (IndexedDB instead of binary in Node.js), which makes it possible to run a fullblown realtime database in the browser that syncs between multiple tabs, and can additionally be used as local cache database for an AceBase client to enable offline usage.
Pro Synchronizes very well
Realtime data change notifications are blazingly fast which makes synchronization between apps instant and effortless. When used offline, local and remote changes are synchronized upon reconnect without any hassles. Changes are logged on the property level which makes them synchronize extremely efficient and fast.
Pro Very easy to setup
It takes very little effort to add AceBase to a Node.js or web project, it's ready to use after installing it as a dependency. It uses a API very similar to that of the Firebase realtime database, which makes it familiar and easy to migrate from Firebase to AceBase for a local db instance or fullblown realtime db server.
Cons
Con Not well known
It's a very unfortunate thing, but it's true. Not many people know of this gem so that makes it difficult to find community support at times. It also makes it hard to get people on board with it who shop products by brand name or flashy marketing. It also means there are fewer code snippets, libraries, and frameworks that consider it. While it's interoperability is good with SQL support and Tinkerpop, it still doesn't change the fact that many things don't give it much thought and that can lead to more work as a developer sometimes.
Con Learning curve
A lot of effort went into making OrientDB easy and familiar to use (such as SQL queries for example). However, it's important to understand the database engine a bit and how it works in general (links for example). This involves a bit of a learning curve if you're not familiar with graph databases. Not an enormous curve or anything, but it's still a consideration.
Con Bulk inserts may cause an out of memory crash
When doing inserts in OrientDB you have to be careful to do them one at a time. Bulk inserts may cause out of memory error
.
Con Only has Javascript SDK
There currently are no other SDKs besides the Javascript client, which limits its usage to Node.js / Electron / Web environments only. However, the project is fully open-source and the server has a REST API, so most database operations can also be performed using http requests. The latter also makes it possible for the community to develop their own client SDKs.