Live data from Hacker News

Datomic is Free

blog.datomic.com

341–350 of 436 posts

Re: Datomic is Free

#341

Earlier quoted context omitted.

I think the point is that treating your database as an arms-length, RPC component that's independent from your "application" isn't necessarily the only pattern.

Strong agree. there are vast, massive cost savings and performance advantages to be had if the model is that a shard of the dataset is in memory and the data persistence problem is the part that's made external. The only reason we are where we are today is that doing that well is hard.

If it's in memory you must live with the fact that it might be gone at any moment though.

Re: Datomic is Free

#342

Earlier quoted context omitted.

That is essentially what MVCC does.

Yes, although AFAIK those hidden MVCC columns (xmin, xmax?) aren't very usable from an application standpoint -- the obsoleted rows only hang around until the next VACUUM, right? I realize you're not claiming those columns are useful from an application perspective. Just curious to know if I'm wrong and they are useful. Because as I understand it, the selling point of Datomic is their audit trail functionality and th…

Oracle lets you use the MVCC data to query past states of the database, called "flashback":

https://docs.oracle.com/en/database/oracle/oracle-database/2...

You can configure how long the old data is kept:

https://docs.oracle.com/en/database/oracle/oracle-database/2...

Worked examples:

http://www.dba-oracle.com/t_rman_149_flasbback_query.htm

Re: Datomic is Free

#343

Earlier quoted context omitted.

The company is gone, but the open source project lives on. We still use it in production.

How's it been for production? Would you recommend using it, or would it be better to go with a safer option?

RethinkDB user here. I've been running it in production for the last 8 years or so. It works. It doesn't lose data. It doesn't corrupt data (like most distributed databases do, read the Jepsen reports).

I am worried about it being unmaintained. I do have some issues that are more smells than anything else — like things becoming slower after an uptime of around three weeks (I now reboot my systems every 14 days). I could also do with improved performance.

I'm disappointed that the Winds of Internet Fashion haven't been kind to RethinkDB. It was always a much better proposition that, say, MongoDB, but got less publicity and sort of became marginalized. I guess correct and working are not that important.

I'm slowly rebuilding my application to use FoundationDB. This lets me implement changefeeds, is a correct distributed database with fantastic guarantees (you get strict serializability in a fully distributed db!), and lets me avoid the unneeded serialization to/from JSON as a transport format.

Re: Datomic is Free

#344

Earlier quoted context omitted.

Are they _forcing_ you to use CloudFormation? Or is it just the officially supported mechanism? > Mother Postgres can do no wrong. I'll say that Postgres is usually the answer for the vast majority of use-cases. Even when you think you need something else to do something different, it's probably still a good enough solution. I've seen teams pitching other system just because they wanted to push a bunch of JSON. Guess…

Yes. Postgres such a reliable and known quantity that IMO it should be the default choice for just about anything. Don't misunderstand me. There are plenty of times when something else is the right choice. I'm just saying, when I have a say in the matter, folks need to clear that bar -- "tell me why tool xyz is going to be so much better than postgres for this use case that it justifies the overhead of adding another…

> Postgres such a reliable and known quantity that IMO it should be the default choice for just about anything.

This is being repeated so often. And yet — the above is true, IF (and that's a big if for some of us) you are OK with having your database on a single machine.

If you want a distributed database with strict serializability, where some nodes can go down and you still get correct answers, Postgres is not it.

Re: Datomic is Free

#346

Earlier quoted context omitted.

Interesting! I assumed Datomic was entirely custom Now I'm even more curious if you could skip Datomic and just do something like this directly with a relational DB in production

But why?! The whole point of Datomic is that it implements this entire immutable framework for you, on top of mutable storage. So YOU can focus on building your own specific business logic, instead of re-implementing the immutable DB wheel.

Because, for example, your application is not tied to the JVM? You are uncomfortable using closed source software for such a critical piece of infra? As far as I can tell they don't even have a searchable bug report database! I'd hate to be the one debugging an issue involving datomic.

Re: Datomic is Free

#347
post #269
post #154

Earlier quoted context omitted.

How can you "open source" something that doesn't include the sources?

Well, _technically_ you are now free to modify the binary and redistribute the result as per the Apache 2.0 license. That’s different than giving something as freeware, which would not allow/cover modification/redistribution.

Which actually does make a difference for JARs because the bytecode is portable and modifiable, not trivially so but definitely way more easily than native code.

Re: Datomic is Free

#348
post #174

Earlier quoted context omitted.

Clojure in general is all about passing around little maps of data and in particular not using OO to model. So Datomic naturally continues that by returning maps of nested structures to represent your query results and does side-step the ORM completely.

Question: What's the difference between nested oop objects (composition over inheiritance) vs maps of nested structures?

To paraphrase a well known saying, objects are the poor person's nested maps and vis versa.

Re: Datomic is Free

#349
Sounds fantastic - I'd love to try it. I've been keeping an eye on Clojure and Datomic for years.

I always wonder if this sort of move portends an exit of some of the core technical team, who would very much like to fork the codebase and move on, but in this case with only the binaries being opened up, it feels more as though they want some more people to try Datomic out. Databases such as Neo4J do this as well - free to run, but you'll probably want to pay for support.

Re: Datomic is Free

#350
post #208

Earlier quoted context omitted.

With AWS you can create a replica with a few clicks. Latency is measured in milliseconds for the three-nines observed usage. I don’t think this is a huge challenge (anymore) for Postgres or whatever traditional database.

A few milliseconds per query adds up if you're doing one query per item in a list with 100s or 1000s of elements :)

> A few milliseconds per query adds up if you're doing one query per item in a list with 100s or 1000s of elements :)

If you're doing this, then you need to stop :)

Post reply on HN