Learned a lot today about Datomic. It compares nicely with AwDb:
- Both are immutable databases and leverage this for parallel queries.
- Both deal with time the same way.
- Both build on the same set of indexes.
- Both make good use of in-memory caches.
Datomic has some nice advantages:
- It is a more mature product.
- It has an established customer base.
- It has a large development team.
- Queries and storage scale horizontally, though transactions are processed in a single JVM.
- It has a nice query language.
AwDb also has some nice advantages:
- Significantly faster, though this is mostly an educated guess based on the unique technologies built into AwDb.
- An OO model, providing better integration with an application.
And yes, we could build an OO model on top of Datomic. But for too many things, speed is critical. And while caches help, they often do not get you the performance you need, especially for updates.