Fork me on GitHub

Tonight's session was fascinating! I learned a lot about XT!


The whole bitemporal thing is kind of mind-melting 🙂

🧠 1

Agreed. Thanks to everyone who attended.

Steven Deobald05:10:50

As always, if you folks have questions or suggestions, we'd be happy to hear them.

Steven Deobald05:10:54

The bitemporal indexes of xtdb 2.x will be quite a bit more powerful than they already are in the 1.x series, so we're planning on rolling out an entirely new set of tutorials to accompany the 2.x release (though it's quite a long way out, still). You folks have spent a lot of time with the tutorials lately, so it would be great to get your feedback on what you'd hope to see in the next round of tutorials.


@steven427 We did run into a couple of things -- they'll be obvious from the recording but I figure I can give you a head start: the link in the planets tutorial to the datalog section is a 404 (it has /datalog-queries instead of just /datalog); the discussion of match in the tutorial was very confusing for us and seemed... a bit pointless... since it seems it has to exactly match the most recent existing document in all fields? Specifically for the trading example, it seems like the precondition for the trade TX is that both parties have "enough" (enough credits and enough product) so an exact match there just seems weird... and it doesn't explain that the only way to tell if a match-based TX "worked" is to (await it and then?) ask if it was actually committed... at which point, wouldn't you need to re-fetch the original docs, re-compute the changes, and then re-run the TX?


I think we also struggled with how exactly a delete works, since it was pitched as helping support data privacy laws, but then there's evict which seems more suitable for things like GDPR "right to forget"?


Thanks to everyone who attended and participated. Thanks to @nate for driving. Definitely a lot of subtleties around how delete works and implications on the history of each entity.


@steven427 In addition to what @seancorfield mentioned about the tutorial, the files (e.g., the commodities) associated with some of the tutorials seemed to have the crux ids and not the xtdb ids. Also, the manifest update at the end of the Saturn tutorial has the "BITEMP" badge missing.


In any new tutorials, it would be great to have a few exercises after each (sub-)section that can be used by the viewer to better understand the topic and perhaps explore some of the edge cases.

Steven Deobald17:10:44

@seancorfield @dorab Thank you! That's really helpful feedback. The Space Adventure tutorial is much older than the Learn Datalog tutorial and also grew as XT (well, Crux) grew. I think the evolutionary nature of the tutorial probably explains the confusion between delete and evict, and that's definitely something we need to correct. For the record, evict is the operation you want for non-functional things like GDPR compliance. delete is for the business domain and leaves the entity history intact (as I'm sure you saw).

Steven Deobald17:10:24

Everyone is welcome to create GitHub issues ( if they like, but I'm also happy to transcribe your feedback when I get a minute. 🙂


@seancorfield what was the VS Code rebl/reveal-like tool you were mentioning? I couldn't remember the name..


Feel free to DM me if you have any Qs about any part of my dot-clojure / VS Code / Portal setup @esp1

👍 1