Crux SQL
juxt.pro
Crux SQL
1–10 of 36 posts
Re: Crux SQL
#2Re: Crux SQL
#3Re: Crux SQL
#4Does this mean I can use tools like https://github.com/metabase/metabase with crux? Awesome if so!
Re: Crux SQL
#5Does this mean I can use tools like https://github.com/metabase/metabase with crux? Awesome if so!
I don't believe Metabase supports the Calcite SQL dialect ( https://github.com/metabase/metabase/issues/6230 ), which is what Crux is using for the SQL layer. So I believe the answer is no - but I'm not an expert here, so don't take this answer as definitive.
I just switched the forked driver repo to public if anyone wants to test it out [2]. The Metabase driver docs are pretty straightforward to get things running. There's definitely work to be done though and I didn't get very deep into it really - but I hope to pick it up again soon!
[0] https://github.com/metabase/metabase/issues/5562
[1] https://youtu.be/StXLmWvb5Xs?t=996
[2] https://github.com/crux-labs/crux-metabase-driver
(I work on Crux :)
EDIT: it's also worth a mention that the linked issue #6230 discusses a lot of problems deriving from Druid's lack of support for prepared statements, but Crux and Dremio don't have that limitation. Although reading the most recent comment it looks like Druid may have overcome that hurdle now, so with a bit of luck there might now be more traction to get mainline Metabase support for a generic Calcite driver!
Re: Crux SQL
#6Re: Crux SQL
#7I learned datalog through Crux and I really enjoyed it. After not very long, it was more intuitive and easier to reason about that similar sql.
I.e. group by, window aggregates, order by, limit
I'd be interested in seeing the equivalent datalog that Crux makes given some of those statements for learning what efficient datalog looks like for some of those problems
Re: Crux SQL
#8Re: Crux SQL
#9Anyone with experience has some detailed info about the limitation, trade-offs and problems of using Datalog instead of SQL? Datalog seems like a natural choice as declarative query language but has not yet become mainstream. I wonder why?
That's not to say that using the SQL API is a bad idea, but if you're using Crux from Clojure, you'd be missing out on some stuff.
Re: Crux SQL
#10I learned datalog through Crux and I really enjoyed it. After not very long, it was more intuitive and easier to reason about that similar sql.
I'm trying to learn datalog casually, there's lots of queries that I still don't know how they translate I.e. group by, window aggregates, order by, limit I'd be interested in seeing the equivalent datalog that Crux makes given some of those statements for learning what efficient datalog looks like for some of those problems
As for your specific examples, Crux already implements an order-by+limit+offset combination that automatically spills to disk if needed, but for efficient pagination you would probably want to maintain additional pre-sorted value ranges. For basic aggregation we have an alpha API decorator that composes Clojure transducers to great effect [1].
[0] https://docs.mongodb.com/manual/reference/operator/aggregati...
[1] https://github.com/crux-labs/crux-decorators/blob/master/tes...