This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-09-08
Channels
- # announcements (9)
- # babashka (17)
- # beginners (26)
- # biff (2)
- # calva (5)
- # cider (11)
- # clara (6)
- # clojure (48)
- # clojure-europe (34)
- # clojure-nl (1)
- # clojure-norway (34)
- # clojure-uk (2)
- # clojurescript (22)
- # clr (11)
- # code-reviews (5)
- # conjure (3)
- # datomic (26)
- # emacs (14)
- # fulcro (10)
- # hyperfiddle (70)
- # lsp (34)
- # malli (5)
- # missionary (5)
- # off-topic (34)
- # releases (1)
- # shadow-cljs (19)
- # tree-sitter (1)
- # xtdb (25)
Additional, separate question:
In terms of performance, are certain types preferred for :xt/id
s over others? In a typical RDBMS, like MySQL, sequential integer ids are preferred for indexing/searching purposes. Would there be a similar performance payout for sequential int-ids in XTDBv2, over say, UUIDs?
Hey @U0482NW9KL1 - yes, but the other way around, well-distributed UUIDs are the preferred ID type in v2. Our primary covering index is hash-oriented, so we can narrow searches-by-id down faster this way.
ahhhh thats interesting, that's convenient actually!
In a document-based system, where you have to PUT a whole new document for any change, does that mean that if you have a "large" document that has one or two fields that change frequently, you'll get a lot of duplication of the unchanging fields? If so, is that mitigated in v2 with the columnar storage?
short answer is yes - it'll get duplicated. but also yes, the columnar compression should (eventually) be able to mitigate this, particularly as we compact our logs to be sorted first by eid, so different versions of the same entity will gravitate together in the primary index.
that said, I'd also recommend that, if you know you're likely to have these kinds of update patterns, that you take advantage of the new tables by, where possible, splitting documents into faster and slower changing attributes. those documents can still have the same :xt/id
values - these are now only required to be unique within a table.
Thanks, that was my intuition about it but I wanted to double-check. We have some member profile data that changes "a lot" and some that is much longer-lived, so that'll be something for us to consider if we move any of this stuff to XTDBv2 at some point.
How can multiple documents have the same :xt/id
? I thought it must be unique like a primary key for each document. But reading above comments, I should be wrong. Can someone let me know where I can find the relevant part of the official documentation?
@U022N1DU7GQ in XT 1, that's correct - :xt/id
is a primary key. in XT 2, we have tables - essentially different bags of documents - and it'll be that :xt/id
only has to be unique within a table (same as a relational database)
is there a name for the concept of being able to run a query today and run it again tomorrow with the same result?
FWIW we call it "query repeatability", but to a certain extent it's the same thing as functional "referential integrity", with the current time effectively being passed as a parameter rather than being an implicit side-effect
I'm preparing a talk on how we're using AWS Neptune to answer questions about the future state of the airline where I work, and I want to acknowledge XTDB in my talk
ah, interesting - give us a shout when that's released (if it's a public talk, of course!), will have a watch π
Certainly π
https://clojurians.slack.com/archives/CG3AM2F7V/p1694211023484649?thread_ts=1694210639.246049&cid=CG3AM2F7V Here is the link to my talk https://vimeo.com/872709943#t=4118s
It was my first public talk π
Really interesting use case too - future-time queries via Gremlin...I bet there's quite a few orgs wanting that
@USDPTD3FY Congrats on your fantastic presentation! The Southwest crew scheduling system meltdown is featured in my new book, Wiring the Winning Organization that comes out in a month, as one of the most astounding examples of a control overlay being unable to keep up with the performance environment. What an incredibly important capability youβre helping create for SWA!
Thank you for watching my talk and for your kind words!
Credit to the larger team, and to leadership, we are responding to our failures and we are taking this opportunity to mature our toolset so that the guarantees that we maintain to our customers are always upheld
Your words are a huge compliment! thank you