Interesting comparison. Have you done one for sqlite vs H2? Since you're using clojure, it seems a natural fit. According to what I've read, H2 is faster than sqlite, but it would be interesting to see some up to date numbers on it.
That's a good point. I'll give that a go and do a write up at some point.
The choice to use SQLite for me isn't actually about speed (LMDB is way faster).
I just get tired of people saying switch to Postgres for speed/scale. Postgres is great for many things but speed/scale is not its strength.
The main reason I use SQLite is the affordances and conveniences of an embedded database. Being able to easily have many databases. When databases are "cheap" it opens up loads of options. Of the embedded/file OLTP databases SQLite also has the largest toolbox: litestream, R*Tree indexes, JSONB, FTS, etc.
I haven't tried sqlite because the lack of data types is off putting to me. I want to like derby because they have gone to the trouble of making their database JPMS modular. But derby doesn't have UUID types and I want UUID types. Especially with Java 26 adding UUIDv7. I end up on H2 as a result.
For what it's worth blob types and application functions make it pretty straight forward to implement your own datatypes. I often have one for EDN and one for bigdecimal.