This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-12-17
Channels
- # adventofcode (56)
- # announcements (1)
- # aws (6)
- # beginners (127)
- # bristol-clojurians (1)
- # calva (29)
- # cider (7)
- # clj-kondo (37)
- # cljdoc (20)
- # cljsrn (7)
- # clojure (159)
- # clojure-europe (67)
- # clojure-italy (23)
- # clojure-nl (4)
- # clojure-provo (3)
- # clojure-uk (18)
- # clojurescript (19)
- # code-reviews (59)
- # community-development (105)
- # conjure (6)
- # core-async (16)
- # core-logic (1)
- # cursive (21)
- # datomic (19)
- # defnpodcast (1)
- # emacs (8)
- # events (2)
- # fulcro (71)
- # graalvm (23)
- # jobs-discuss (1)
- # kaocha (5)
- # luminus (5)
- # meander (16)
- # nrepl (32)
- # off-topic (6)
- # pathom (159)
- # pedestal (3)
- # reagent (14)
- # reitit (8)
- # reveal (12)
- # rewrite-clj (9)
- # shadow-cljs (169)
- # spacemacs (16)
- # specter (2)
- # sql (19)
- # tools-deps (36)
- # vim (6)
Aloha!
Why would you feel bad if your clients are picknicking? (except for the fact that it might be a bit cold at the moment)
technical question... I just have been reading about DynamoDB and the docs says it can't do joins... but I think I do need them (as I have entities that are related to each other). so not an option then?
I think that is misleading. You can join data or 3-tuples left and right in datomic it’s just no your RDB database join. If in doubt, then it’s rather cheap to do iterator over the resultset and query another n times etc. Depending on how you organize your code. With datomic ions you can even deploy your code “into” datomic (code near data) for ultra-fast access to the db.
you'd have to do the joins in application code, or what usually happens is that you write out your data as you want to query it (do the joins up front)
what about using lambda's that do the joining of the data? is that something that people do?
I'd only use cassie/dynamo if the volume of writes you have would overwhelm a RDBMS that has to update various indices on writing
@thomas You could probably look into Crux? AFAIK it now support light-weight backends (e.g. something JDBC based) so it might be a possibility for efficient queries.
@thomas I concur with the others, you probably want to use a relational db 🙂 in my experience, trying to do relational stuff with a non-relational db tends to be much worse than setup hassle of any SQL database
we are working with an external party to implement stuff. so if I introduce Crux or anything else fancy it will become just more complicated for them and thus cost more. so not really an option unfortunately.
I always thought that it’s not possible to use more than one consumer for sqlite databases (e.g. application + developer tools) but apparently it’s also supported
My go-to is Datomic, but it's definitely not light nor well-known 😄
@dharrigan hsqldb can be compiled with graal: https://github.com/babashka/babashka-sql-pods/
I use sqllite on the client for storing stuff temporarily at the moment as there was an Expo package for it
crux on confluent cloud is quick and semi-easy to setup. runs on AWS and is not overly expensive. When you’re running the service on an EC2 host then you could try my experimental DynamoDB backend for crux transactions.