Hello, I’ve been doing some hands-on research into databases to be used for embedded development at our company. Target system has an ARM64v8 architecture.
Neo4j was the first database I tested. With ~2600 entries/calls to store a “configuration file”, I’m observing a storage/execution time of around 30s. This is ridiculous. Something must be going wrong, right?
I compared other graph databases.
ArangoDB, written in C++, takes around 1.5s to store everything. So it’s not a case of number of entries or using a graph database. Maybe language or VM?
OrientDB, written in Java, takes around 2s. Reasonable, so it’s probably nothing with the JavaVM on ARM.
I tried running Neo4j both from installing+running the binaries in /opt and running from the Docker image. I’m getting the same performance either way.
I wondered if it was something with the driver or API. I’ve been testing a lot of these in Python, so first I tried using the REST API instead of the Python driver. Same result. And it’s equally slow in other languages (Java, C++).
I also decided to try some other databases in the meantime: Sqlite and PostGRES, while both sub-second, the complexity lies in creating the relational tables; Mongo, which failed because the ARM CPU was missing a feature it needed; DGraph and JanusGraph both just didn’t want to work.
So I circled back to Neo4j a few times, puzzled at what could cause this sort of slow down. I’m observing that it has plenty of memory, disk space, and CPU resources.
From what I’ve read about optimizing queries, I’m doing what’s expected in node and edge creation, same approach with other graph databases. And if I run things locally on my PC, it takes 1.6s.
I’ve searched around on the forums here and on Github to see if there was any known issues with ARM, but I’m not finding anything recent (I see that support on ARM64 was experimental some years ago, but it looks like it’s out of that phase right now).
Any other ideas I can test and prod with? Or am I missing some notice somewhere saying that ARM really is expected to be this slow?