ObjectBox Performance


Basic Operations

Inserts, updates, reads, and deletes are the basic operations to interact with a database. Those, and especially read operations, directly affect an app’s performance and the amount of data an app can handle. Here are the results:

objectbox-performance-crud-2

In a variation of basic operations, we have a look at scalar-only data in the next diagram. ObjectBox is more efficient here, in absolute values and in relation to the competition:

objectbox-performance-crud-scalar-2

Queries

The second most important metric to measure database performance are queries (searches). This is built on indexes to efficiently do lookups while avoiding to scan the entire data:

objectbox-performance-queries

How the tests were run:

  • Nexus 5x with Android 7.0
  • We took the median of 8 tests runs

What about Firebase and Couchbase?

Firebase and Couchbase do data synchronization and also offer offline data availability. However, their local data storage solutions built on top of SQLite (e.g. storing JSON documents as text) and thus their performance is not even close to plain SQLite, which we tested a while ago:

sqlite-firebase-couchbase

With those numbers in mind we did not include Firebase and Couchbase in the above tests against ObjectBox. On the ObjectBox scale, Firebase and Couchbase’s performance would have been so low that the bars would be hardly visible.