Live data from Hacker News

Crux SQL

juxt.pro

31–36 of 36 posts

Re: Crux SQL

#31
post #24
post #22

Earlier quoted context omitted.

(I am involved with Crux - sorry!) I see 4 main reasons why someone may want to be aware of Crux: - if you have a bitemporal problem - if you have a graph problem, i.e. something you might initially look to Neo4j to help with - if you want to use Datalog because it can make writing an application simpler - if you are thinking of building something similar (immutable event log + indexes) and want to save time Crux is…

Open source vs closed source aside, why would one use Crux instead of Datomic?

1) availability of valid time for domain as-of queries

2) performance of ad hoc as-of queries

3) ingestion throughput (RocksDB is _fast_)

4) eviction/excision throughput

5) a lazy query engine doesn't demand so much memory (because there is no need to hold entire intermediate result sets at the same time), and automatic join re-ordering makes the Datalog inherently more "declarative"

6) use of protocols for modularity allows you to create a massive range of possible topologies to support the non-functional requirements of your host environment

7) benefit from the RocksDB roadmap (or other embedded KV storage - see LMDB / rocksdb-cloud)

8) absence of a prescriptive data model

On the flip side:

1) absence of a prescriptive data model (though transaction functions can give you equivalent power)

2) API maturity

3) lazy caching of data at peers (vs Crux' fat nodes, though again, see rocksdb-cloud for one possible resolution)

4) query features: multiple data sources, lazy entity API, other niceties

There are definitely things still missing from both lists :)

Re: Crux SQL

#32
post #8

Anyone 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?

Short answer is that Datalog is originally a logic/proof language, while SQL is an arithmetic / statistical / tabular aggregation language.

One can make one solve problems of the other but they're really different mental models, which impacts the representation of the data needed to enable their use.

For Datalog one needs relationships- a graph- not what SQL calls relations, which is just data. Datalog requires a richer set of opinions- at least conceptually- about the data.

Languages like Datalog will not become mainstream until graph modeling is mainstream.

Re: Crux SQL

#33

Earlier quoted context omitted.

And the reason the word "crux" means a "decisive point" is because of the Romans' use of the cross as a means of torturing and killing people. The fact that you're fine with it is OK--it's a free Country--but it tells me a lot about what kind of a person you are. https://www.etymonline.com/search?q=crux > Century Dictionary ascribes it to "the cross as an instrument of torture; hence anything that puzzles or vexes in…

Languages and words' meaning change over time. Just because Crux's root was a torture device doesn't mean it has any connotation to a torture device in modern English.

We all renamed our "master" repositories, didn't we?

Re: Crux SQL

#36
post #35

What's the hosting story for crux if one wanted to try it out on a side project?

:) well I already answered your same question on r/Clojure but here's a link for others: https://www.reddit.com/r/Clojure/comments/i3gzxy/crux_sql/g0...

Thanks!
Post reply on HN