This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-01-20
Channels
- # aatree (42)
- # admin-announcements (25)
- # alda (28)
- # aws (56)
- # beginners (67)
- # boot (248)
- # braid-chat (9)
- # cider (52)
- # cljsrn (11)
- # clojars (4)
- # clojure (341)
- # clojure-czech (5)
- # clojure-japan (3)
- # clojure-nl (2)
- # clojure-russia (57)
- # clojured (10)
- # clojurescript (35)
- # community-development (18)
- # cursive (17)
- # datascript (5)
- # datomic (39)
- # dirac (25)
- # editors (2)
- # events (3)
- # hoplon (60)
- # jobs (5)
- # ldnclj (9)
- # leiningen (5)
- # mount (20)
- # off-topic (3)
- # om (263)
- # onyx (69)
- # perun (5)
- # proton (55)
- # re-frame (7)
- # reagent (24)
- # spacemacs (6)
- # yada (16)
@timgilbert: I do it without the namespace
also, I think the :db namespace is reserved, and I'm not sure if this usage falls into the "okay" category or not
@stuartsierra: Thanks, that was what I needed to know
Probably a popular question : But is there any blessed way of getting datomic data into Tableau / Wolfram .... insert pretty ad-hoc exploration and graphing system here?
(I found https://github.com/lynaghk/c2) but that looks a little old and I was hoping to have some sizzle (ie. pretty dashboards) as a way of demonstrating datomic's power.
parameme probably through the use of some wrapper you write yourself. also, know that http://github.com/kovasb/session exists
wow thanks session is awesome. I join this link because the readme is not much to read https://medium.com/@kovasb/session-1a12997a5f70#.lfxz6kpdc
@yenda, did you dig up a link to a working one?
gorilla repl is also in that space, (not really an endorsement one way or the other, I don’t use it personally) http://gorilla-repl.org/
regarding getting data in, under what terms or with what requirements? You can always get back results via REST server or your own export logic from a clojure/java peer into an environment for other language, or export queries in table form etc. (query results without find specifications are sets of tuples).
Basically it is a business app - spreadsheets come in - we mangle them (hopefully add value) and then allow the data to be sliced and diced... several existent customers have requested ODBC access to a reporting schema or OLAP access...
Tableau (desktop) has been amazing in the ad-hoc data visualisation and dashboard construction - but is pretty expensive for a web-based system... I have been looking around to see if there was anything that would speak datomic sufficiently to allow for either a) a reporting schema / cube or b) an ETL process to Redshift or some other supported columnar / MPP datastore so that existent tools could be used.
@parameme you might be interested in Nubank’s talk from Strange Loop https://www.youtube.com/watch?v=VexLSuOvb0w - in this case its their own analysis environment but they outline some of their data wrangling process.
Thanks @bkamphaus!
When asserting a value on an entity which is the same as it had before, is it expensive, even though it's basically a no-op?
In other words, is transacting {:db/id 1234 :foo/bar "quux"}
fast when 1234
already has {:foo/bar "quux'}
?
@sdegutis: it’s not entirely a no-op, it will create a transaction entity for the otherwise empty transaction, i.e. transaction data will be something like [#datom[13194139534316 50 #inst "2016-01-20T18:11:45.847-00:00" 13194139534316 true]]
not slower than a normal transaction, no. takes more time than not transacting anything
Hello All: I have a question about db partitions and when to use them wisely...for instance: would it make sense to have different partitions in the case you have a unique ID that only is unique inside a particular name? Ex: Company/items has many items which have a item number that identifies the item but only inside that particular company. Other companies may have same item number. So in this case companies would have its own partition?
@tmorten: Datomic partitions have no relationship to unique attributes.
Partitions are only related to Entity IDs, which Datomic generates.
Values of an attribute declared :db.unique/value
or :db.unique/identity
must be globally unique across an entire database.
If you need uniqueness scoped within another identifier, create a composite ID value that includes enough features to be globally unique, like "<company-ID>:<product-id>"
@stuartsierra: Composite IDs is exactly the path I was headed. I wasn't sure if there was a "best-practices" type approach, however.
Composite IDs are the recommended approach. Use strings, not byte arrays.
or whatever character you want to use
@stuartsierra: thank you for the help!
@tmorten: if you haven't watched it yet, I thought the final Day of Datomic video was very helpful in helping me get an idea about what partitions are useful for: http://www.datomic.com/part-vi-the-datomic-operational-model.html
@timgilbert: Got through video IV so far