Live data from Hacker News

Datomic: Look at all the things I'm not doing

augustl.com

21–30 of 48 posts

Re: Datomic: Look at all the things I'm not doing

#22
post #14

I couldn't follow his arguments against event sourcing. Could someone elaborate on the differences?

Apparently dataomic creates indexes for you[1] so you don't have to write views on top of the events like you'd do if you use just insert events in a table in postgres. So for example if you want to count the number of page views for a particular user, you'd simply use EAVT Index for that particular userId. https://docs.datomic.com/cloud/query/raw-index-access.html

Yup. You don't create your own views, you get a generic query engine and generic indices instead. On top of all the other benefits, like cheap as-of time travel.

Re: Datomic: Look at all the things I'm not doing

#23
post #8
post #6

Earlier quoted context omitted.

I think this is an important point, and I know it often derided as people asking a company to give something away for free, so I want to defend it. I admire Cognitect's ambition in going up against big database vendors as a small team, and creating something very unique. That said, as a user, it's frustrating that when I get an error I can't just pop open the source and see what's going on. It's frustrating that the…

I am regularly alarmed by the fact that nobody has tried to make an open source clone yet..

What about:

https://github.com/mozilla/mentat https://github.com/tonsky/datascript

Re: Datomic: Look at all the things I'm not doing

#24
post #8

Earlier quoted context omitted.

I am regularly alarmed by the fact that nobody has tried to make an open source clone yet..

What about: https://github.com/mozilla/mentat https://github.com/tonsky/datascript

Mentat is built for embedding, not for large applications. Datascript is in-memory for browsers.

But you're right, it's not fair to say that there's not been any effort! :)

Re: Datomic: Look at all the things I'm not doing

#25

Nice. Too bad it's not Free Software.

Rich Hickey has responded to this many times. They made Clojure free and open source and have put lots of their own $$ into Clojure. If they want to make a product that costs money, that is their choice. They also need to keep the lights on. Now if they won't let users who pay for the product see source-code under an NDA, that is a indeed a problem in my mind, but is pretty much just standard business practice. I have no clue if they're open in that area or not.

Re: Datomic: Look at all the things I'm not doing

#26
post #7
post #4

This will be a tongue in cheek comment, but there's another thing Datomic isn't making you do either: GDPR compliance

OP here :) True, in that there's no solution out of the box. I kind of want to make a "look at all the things I have to do", and GDPR compliance is one of those things where there are probably many ways to do it wrong with Datomic, and a few ways of doing it right. One thing you can do, is to have a separate database for each person/user. It is trivial to join across multiple databases in Datomic, and you can even do…

IANAL, but I‘m pretty sure it is acceptable to delete data within 30 days of receiving a request to do so.

Re: Datomic: Look at all the things I'm not doing

#27
post #24

Earlier quoted context omitted.

What about: https://github.com/mozilla/mentat https://github.com/tonsky/datascript

Mentat is built for embedding, not for large applications. Datascript is in-memory for browsers. But you're right, it's not fair to say that there's not been any effort! :)

Work is beeing done to transition datascript into a a much more database like thing:

"datahike is a durable database with an efficient datalog query engine. This project is a port of datascript to the hitchhiker-tree."

https://github.com/replikativ/datahike

Re: Datomic: Look at all the things I'm not doing

#28
post #24

Earlier quoted context omitted.

Mentat is built for embedding, not for large applications. Datascript is in-memory for browsers. But you're right, it's not fair to say that there's not been any effort! :)

Work is beeing done to transition datascript into a a much more database like thing: "datahike is a durable database with an efficient datalog query engine. This project is a port of datascript to the hitchhiker-tree." https://github.com/replikativ/datahike

Interesting, keep 'em coming!

Historical information is not part of datahike, now and it's not on the roadmap as far as I can tell. But perhaps one day :)

Re: Datomic: Look at all the things I'm not doing

#29

One thing though: you still have to do data modeling. No matter how much you pretend that you don't have to do it, you still need relationships, and unique references, getting and querying ranges. Hell, even data access restrictions.

Yep. The NoSQL crowd constantly pushes the concept of no data modeling or need for a data administrator. These two claims have been proven false time and time again, often to disasterous results, yet it keeps on being said.

Re: Datomic: Look at all the things I'm not doing

#30
For those that don't know, Datomic is a hosted database, similar to how Clojure is hosted.

Datomic can be hosted on MySQL or PostgreSQL (and maybe others?). It's basically a 2 column table, so yes, Datomic inherits transaction safety. According to people I know that use Datomic, an early lesson is indexing, which apparently is often done way later than it should. Datomic also inherits the speed of indexing a huge table.

A counter is that many things may be covered in majic, but all on top of a fairly leaky abstraction.

Post reply on HN