Fork me on GitHub
#xtdb
<
2019-10-08
>
Arto Kalishian19:10:15

Hi Guys, anyone using Crux with Fulcro? Or in production?

👍 4
refset20:10:46

Good question. Have you seen this already https://github.com/souenzzo/graph-demo ?

❤️ 8
Arto Kalishian04:10:45

Listen, I have faced problems using the instructions on GitHub to make it work. Primary reason is that fulcro on GitHub is no longer fulcro3.git and also the SHA is different. I have tried to edit the .edn file to match the falcro.git on github but couldn't do it

Arto Kalishian04:10:07

If it is your repository and you can edit it to make it work, that would be great.

refset07:10:09

It's not my repo, but @U2J4FRT2T might be available to advise ^

Piotr Roterski08:10:10

@arto.eg unless you have a specific reason, don’t use github url as dependency for fulcro - you can just use the newest version from clojars:

com.fulcrologic/fulcro {:mvn/version "3.0.2"}

👍 8
Piotr Roterski08:10:58

although my project is not yet used in production, it’s deployable to heroku/dokku - you can take a look on how I integrate fulcro with crux-jdbc https://github.com/roterski/syncrate-fulcro/blob/master/src/main/app/database/crux.clj

❤️ 4
👀 4
Piotr Roterski08:10:39

* it’s still wip so there’re some dirty parts for sure

Arto Kalishian10:10:00

Thanks for the advice @UHA0AQZ2M What I understand from your recommendation that the Fulcro version on Clojars is more of a stable version ready for production. Is that correct?

Arto Kalishian10:10:01

@UHA0AQZ2M I'd also be interested to know your overall feedback on Crux. What's your review after using it?

Piotr Roterski10:10:57

@arto.eg yes, https://github.com/souenzzo/graph-demo uses a fixed link to specific, dated commit - since then fulcro 3.0 has been released and it’s more stable with more fixes and tweaks

👍 4
Piotr Roterski10:10:34

@arto.eg as for general crux feedback, so far I love it but take into the account, I’m still very early in my project using it. Crux gives you datalog query powers that fit nicely into fulcro/pathom resolvers giving you huge flexibility on how you model the data, especially since it’s schema-less - I’m only worried about long term data integrity without schema+migrations but that’s a tradeoff. I’m exited about bitemporality and time as the first class citizen - it could unlock some neat time-traveling features down the road. Crux was very easy to setup to work with postgres and you may switch it to kafka once you got more traffic. Overall I would recommend it if you’re willing to take in the risk of yet-unproven database (as opposed to using just postgres). Crux’s core is small, uses proven tech as backend (kafka, jdbc) and I didn’t experience any bugs or problems with it so far but how that data flexibility plays out in the long term is just a guess work for me at this moment (and probably very project dependent).

❤️ 16
🙂 4
Arto Kalishian12:10:07

Neo4J and dGraph claim to have solved the data integrity problems. I wonder how true is that 🙂

refset12:10:34

This is great feedback, thanks for writing it up! We are certainly interested in how constraints and data integrity checks can be sensibly layered on top of Crux but we don't have any firm plans or advice just yet. Transaction functions are already implemented though (behind a flag!) so a lot of possibilities are already technically achievable as long as you are very careful not to break too much determinism when using eviction as well

👍 8
refset12:10:03

@arto.eg interesting to hear about such claims by neo and dgraph. I would need to read about this in more detail before I could comment. Needless to say, everything gets a lot more complicated when you also have temporal axes to think about, oh and temporal integrity constraints are also a thing try-not-to-cry

👍 4
Arto Kalishian12:10:56

I am not a lot into the technical aspects of these new technologies but I always wondered for example, what's the reason of the data integrity issue for MongoDB? Is the corruption happening during concurrent transactions on the network layer, or on the software level there are bugs when the tree/map is deep enough it cannot properly store the data. So unless I really know what causes the inconsistency, I might as well claim that PostgreSQL can have data inconsistencies if they are exposed to the same environment conditions.

souenzzo14:10:23

I will bump graph-demo to fulcro3 with fulcro-inpect-native support next week

souenzzo14:10:14

I do not use graph-demo in production, but it's the reference "template" for my production apps.

👍 8
souenzzo20:10:27

I do not forget about this my notebook is in technical support replacing some stuff I will do this when it come back

🤞 4
souenzzo02:10:40

Working!

❤️ 4
Piotr Roterski10:10:34

@arto.eg as for general crux feedback, so far I love it but take into the account, I’m still very early in my project using it. Crux gives you datalog query powers that fit nicely into fulcro/pathom resolvers giving you huge flexibility on how you model the data, especially since it’s schema-less - I’m only worried about long term data integrity without schema+migrations but that’s a tradeoff. I’m exited about bitemporality and time as the first class citizen - it could unlock some neat time-traveling features down the road. Crux was very easy to setup to work with postgres and you may switch it to kafka once you got more traffic. Overall I would recommend it if you’re willing to take in the risk of yet-unproven database (as opposed to using just postgres). Crux’s core is small, uses proven tech as backend (kafka, jdbc) and I didn’t experience any bugs or problems with it so far but how that data flexibility plays out in the long term is just a guess work for me at this moment (and probably very project dependent).

❤️ 16
🙂 4