News for hackers. Stuff that matters.
Re:Eva – A distributed entity-attribute-value database in Cl... by haolez on Friday June 28, 2019 @11:34AM (#20305378)
Could you elaborate some of those features?
Re:Eva – A distributed entity-attribute-value database in Cl... by ilikehurdles on Friday June 28, 2019 @12:30PM (#20306056)
There always seems to be some demand to see how records change over time. If you plan ahead, know which tables the business wants historic values for, then you can build in that ability from the start. Unfortunately, these demands always arise at a later point in time or as one-off uses, and are hard to justify the effort to ever implement. With datomic, looking across history is free, fast, and easy.

Additionally, the ability to pin a database at a specific point in time is useful for APIs. For one, on pagination so that you don't see pages change out underneath as records are updated. Another is in APIs that join configuration values with time-series data or aggregations. If our data decisions drive revenue, for example, looking at 2018-08-31 revenues with today's business data has a lot less insightful value than being able to see them with other data pinned at that same date. Pointing the queried DB to a fixed timestamp in Datomic is free.

Re:Eva – A distributed entity-attribute-value database in Cl... by refset on Friday June 28, 2019 @12:38PM (#20306164)
Interesting, I was fairly confident you were going to write about Datalog and about the flexibility of having such a minimal and evolvable schema :)

One of the motivations for Crux was that `as-of` queries still weren't powerful enough for what the business really needed, which was something like `as-of` that could cope with retroactive corrections for out-of-order and delayed ingestion (of upstream transaction data).

Re:Eva – A distributed entity-attribute-value database in Cl... by dangoor on Friday June 28, 2019 @02:37PM (#20307493)
PostgreSQL is behind on this particular SQL feature, but MariaDB has it: https://mariadb.com/kb/en/library/temporal-data-tables/
Re:Eva – A distributed entity-attribute-value database in Cl... by haolez on Friday June 28, 2019 @06:22PM (#20309266)
That’s a very cool addition! I wonder if this can be used in an event sourcing architecture with minimal overhead.
Re:Eva – A distributed entity-attribute-value database in Cl... by refset on Saturday June 29, 2019 @01:11PM (#20313629)
I think to be really useful an event sourcing data store needs `as at` support in addition to `as of` (i.e. bitemporality) to cope with retroactive and proactive events and corrections. There are a couple of references for this in the Crux docs: https://juxt.pro/crux/docs/bitemp.html#_known_uses