Live data from Hacker News

Datomic Free Edition

blog.datomic.com

51–60 of 81 posts

Re: Datomic Free Edition

#51
post #14

Earlier quoted context omitted.

This is exactly what happened to me. I wanted to know what it is, opened those pages in tabs, read half of first one and skipped to the second one. It was soooo long ( http://docs.datomic.com/tutorial.html ) I knew I couldn't finish reading it in less than 5 hours and came here to ask: What is this, and why/who would want to use it? It could be useful for a project I'm working on, but I just couldn't understand what…

Probably the best way to get your mind around Datomic conceptually would be to watch these introductory videos[1] Rich and Stu put together when first introducing Datomic. It's pretty revolutionary, IMO. Edit: In response to those too pressed for time to watch the videos, you can read the rationale[2] for Datomic. However, it is a bit long. Rich and Stu may want to summarize it for the really pressed for time. :) [1]…

Ok, but what does it do? In one sentence.

Re: Datomic Free Edition

#52

Earlier quoted context omitted.

This isn't meant as a slight to you, but I think that Clojure in general and Datomic specifically (as a newer product) isn't looking for the most customers. They're looking for the right ones that share their vision for programming. It still requires watching a video, but the video "Simple Made Easy" by Rich Hickey ( http://www.infoq.com/presentations/Simple-Made-Easy/ ) describes it best. If that doesn't appeal to y…

Actually, someone did a great job succinctly explaining it: http://news.ycombinator.com/item?id=4286701 The attitude that Clojure is only for some enlightened few who are worthy enough to understand it is extremely alienating. Lisps aren't that hard , homoiconicity isn't that opaque , the benefits of using Clojure can be explained in practical terms that most developers can understand, if not at first be convinced by…

I didn't say that Clojure is for enlightened few or super hard to learn, I meant that Datomic/Clojure is currently targeted to people who already agree with Hickey and the other core developers. The 'vision' isn't some grand thing, just a strict adherence to simplicity and immutability as a way to improve program correctness.

I think we're in violent agreement.

Re: Datomic Free Edition

#53
So basically, it is a triple-store with keeps track of time and no mutation of past.

They have their own query language but it looks to me that they did a great job at making it as close to SPARQL as possible, which personally I am familiar with.

Pretty neat stuff.

Re: Datomic Free Edition

#54
Just thought I'd risk proposing some possible architectures to confirm I see how the licenses (and datomic) applies.

Standard web application using free edition. Three servers. Architecture is DB storing data locally, a web server and another server (say for slow report queries, an API or web worker). Could use beefy servers to scale up.

Business application using pro license allows better redundancy and scalability. Can use different data storage options. Can break beyond limits of 2 servers for processing and request handling.

The pro's peer license cost per process (which I think means cost per grunty server cost) is at worst $800 up front plus $400 per year.

Note: This is unlikely to be quite right.

Updated: thanks to RichHickey.

Re: Datomic Free Edition

#55

Just thought I'd risk proposing some possible architectures to confirm I see how the licenses (and datomic) applies. Standard web application using free edition. Three servers. Architecture is DB storing data locally, a web server and another server (say for slow report queries, an API or web worker). Could use beefy servers to scale up. Business application using pro license allows better redundancy and scalability.…

The free topology is 3 servers, one of which is the transactor (the one hosting the db in free edition). You get 2 peers _in addition to_ the transactor (connecting to it). So you could have one additional server beyond the web server, or 2 API servers serving a non-peer web tier etc.

Re: Datomic Free Edition

#56

Just thought I'd risk proposing some possible architectures to confirm I see how the licenses (and datomic) applies. Standard web application using free edition. Three servers. Architecture is DB storing data locally, a web server and another server (say for slow report queries, an API or web worker). Could use beefy servers to scale up. Business application using pro license allows better redundancy and scalability.…

The free topology is 3 servers, one of which is the transactor (the one hosting the db in free edition). You get 2 peers _in addition to_ the transactor (connecting to it). So you could have one additional server beyond the web server, or 2 API servers serving a non-peer web tier etc.

Thanks Rich. Updated.

Re: Datomic Free Edition

#57

Earlier quoted context omitted.

This isn't meant as a slight to you, but I think that Clojure in general and Datomic specifically (as a newer product) isn't looking for the most customers. They're looking for the right ones that share their vision for programming. It still requires watching a video, but the video "Simple Made Easy" by Rich Hickey ( http://www.infoq.com/presentations/Simple-Made-Easy/ ) describes it best. If that doesn't appeal to y…

Actually, someone did a great job succinctly explaining it: http://news.ycombinator.com/item?id=4286701 The attitude that Clojure is only for some enlightened few who are worthy enough to understand it is extremely alienating. Lisps aren't that hard , homoiconicity isn't that opaque , the benefits of using Clojure can be explained in practical terms that most developers can understand, if not at first be convinced by…

Anyone here who knows the product want to have a go at proving a simple tag line, short about that would be suitable to use on their inbound marketing blog?

Re: Datomic Free Edition

#58
Great that this now free for small projects. I've been pondering two questions about Datomic: (1) immutable data is great, but what if we have to delete some past data, for privacy or regulatory reasons? Does this screw everything up? (2) can we modify values as-at past points in time? Example, an electricity company records usage monthly for customers, but sometimes past usage is incorrect and needs to be edited. What would be the best way to structure this to get the "updated" view as-of six months ago? And also the "original" view as-of six months ago?

Re: Datomic Free Edition

#59
post #37

I think if you're aiming for any sort of broad adoption (are you?), then you'll have to add... SQL. This may sound like heresy, but in practice the following line is going to be a showstopper for most people: Peer.q("[:find ?entity :where [?entity :db/doc \"hello world\"]]", db); I don't want to learn a new query language. And I'll most certainly not even try to re-train my team on it. Maybe later I'll become curious…

I'm pretty sure SQL will be added to datomic over Rich Hickey's dead body, and that's a good thing IMO.

There are already enough SQL databases in the world. rhickey isn't looking to make a 'me too' database, he's interested in improving the state of software development.

SQL is a terrible language and needs to die. It's fine that we disagree, but don't tell the people who are convinced it's a bad idea that they need to 'join' the mainstream.

Re: Datomic Free Edition

#60
post #59
post #37

I think if you're aiming for any sort of broad adoption (are you?), then you'll have to add... SQL. This may sound like heresy, but in practice the following line is going to be a showstopper for most people: Peer.q("[:find ?entity :where [?entity :db/doc \"hello world\"]]", db); I don't want to learn a new query language. And I'll most certainly not even try to re-train my team on it. Maybe later I'll become curious…

I'm pretty sure SQL will be added to datomic over Rich Hickey's dead body, and that's a good thing IMO. There are already enough SQL databases in the world. rhickey isn't looking to make a 'me too' database, he's interested in improving the state of software development. SQL is a terrible language and needs to die. It's fine that we disagree, but don't tell the people who are convinced it's a bad idea that they need…

It's not about making a "SQL-Database". It's about providing an interface that resembles something people are familiar with and that can be reasonably fluently typed in a REPL without breaking fingers. Just like Cassandra did with CQL and hbase does with HQL. SQL-syntax just happens to have stood the test of time for this kind of application.

SQL is a terrible language

No disagreement here. Just out of curiosity, what would you call this language then: [:find ?entity :where [?entity :db/doc \"hello world\"]]?

Post reply on HN