News for hackers. Stuff that matters.
Re:Datomic Is Now Free by foobiekr on Thursday April 27, 2023 @11:03AM (#35729211)
Strong agree. there are vast, massive cost savings and performance advantages to be had if the model is that a shard of the dataset is in memory and the data persistence problem is the part that's made external. The only reason we are where we are today is that doing that well is hard.
Re:Datomic Is Now Free by bombolo on Friday April 28, 2023 @06:04AM (#35739394)
If it's in memory you must live with the fact that it might be gone at any moment though.
Re:Datomic Is Now Free by foobiekr on Friday April 28, 2023 @11:31AM (#35742478)
Hence "the data persistence part."
Re:Datomic Is Now Free by robertlagrant on Friday April 28, 2023 @12:09PM (#35743233)
This sounds like a write-back / write-through cache with extra terminology. What's the difference?
Re:Datomic Is Now Free by foobiekr on Friday April 28, 2023 @04:13PM (#35746501)
The difference is the 10,000x slower performance if you move the actual DB transaction leader for the shard to over-the-wire access.

Anything can be anywhere if we ignore latency and throughput.

Re:Datomic Is Now Free by robertlagrant on Tuesday May 02, 2023 @04:30AM (#35784791)
I'm not saying that. I'm asking if this is just new terminology for a previous technology idea, or whether it's a new concept.
Re:Datomic Is Now Free by robertlagrant on Friday April 28, 2023 @08:57AM (#35740715)
Is this not the case already? Database drivers (or just your application code) are allowed to cache results if they like. The problem is cache invalidation.
Re:Datomic Is Now Free by foobiekr on Friday April 28, 2023 @11:31AM (#35742492)
Caches aren't the same. In the shard-in-memory case, the shard is the thing serving the queries, meaning it's not a cache it _is_ the live data.
Re:Datomic Is Now Free by robertlagrant on Friday April 28, 2023 @12:08PM (#35743213)
Understood. For a single-node or read-only system it sounds fine, but then there are a variety of ways to solve that (e.g. a preloaded in-memory sqlite).