3 ms·
In his "Functional Database" talk he shows many examples of Datomic's snapshot feature. He keeps saying how the changes hasn't been committed yet, and is only a
by TheHydroImpulse 13y ago
In his "Functional Database" talk he shows many examples of Datomic's snapshot feature. He keeps saying how the changes hasn't been committed yet, and is only available to the local client.
When you take these snapshots, are you still touching the database? Or is the data held in memory in the application?
It seems like the former makes a lot more sense, but he makes it seem like he's only working with a cloned, local copy.
- dustingetz 13y agoDatomic is like git. You are working with a heavily lazy cloned copy, where only the parts that matter are cached locally. This "perfect" caching is enabled by an append-only data model, like git; queries don't touch network, like git. This has huge ramifications across the board, both obvious (omg free queries, horizontal read scalability) and subtle (no object relational impedance mismatch).
- coolsunglasses 13y agoFree queries modulo the degree to which all your queries touch the same data and you can store the entities you touch in memory. You could hypothetically thrash the LRU by working with a large dataset and forcing the LRU to cyclically evict the data, but even the pathological case is at worst identical to how SQL databases work.