Live data from Hacker News

Datomic Free Edition

blog.datomic.com

41–50 of 81 posts

Re: Datomic Free Edition

#41
For those curious on what the heck datomic is, I found this podcast helpful:

http://thinkrelevance.com/blog/2012/04/26/thinkrelevance-the...

The key to me is that you can run multiple queries against the same point in time, thereby having a sound basis for the data you are working with. Compare this to working with traditional RDBMS having to get it all done in a single query to have a coherent view of the world, or roll the dice by running multiple queries knowing that they all might not be running against the same view of the world.

Re: Datomic Free Edition

#42
post #30
post #5

I have to say that the introduction of a turn of the century enterprise software pricing model is not a welcome thing. I think the subscription model is a much better approach in todays market. In particular since I think Datomic's early adopters are going to be mainly startups and not larger enterprise customers. Their initial hosted transactor model was a good idea as well. The problem I think was that it was hard…

Maybe I'm just lazy, but the biggest impediment to using Datomic right now is that I don't want to deal with the hosting and configuration that's required. If I could just go to datomic.com, log in and click "create new database" and call it "my_new_app_database" and then immediately use that database from my app that would be fantastic. (In short, I wish there was a heroku for datomic... admittedly, paying customers…

I agree I would like this.

Re: Datomic Free Edition

#43
post #39

Earlier quoted context omitted.

Transactor local storage is to a directory on the transactor's local disk, and is as safe as you think disks are. Also: you can backup from one storage system and restore to another. So if you decide you want to upgrade from local disk to DynamoDB, no problem.

Thanks for the clarification. Sounds like one could get away with using the free edition for a pet project website along with some periodic backup of the directory on the transactor machine, but any serious project would wish to upgrade to the DynamoDB version.

It's really not a different story than it is with any traditional filesystem-based database, and as durable.

Re: Datomic Free Edition

#44
post #25
post #14

Earlier quoted context omitted.

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]…

I've seen a number of comments over the last few weeks to the effect of "if you don't understand this product, watch the intro video". In my opinion, if a product can't be described in a couple of concise sentences, it's going to run into some major roadblocks in getting traction. Watching a video incurs a number of costs - the time taken to watch the video, the effort of plugging in headphones, the pain of buffering…

I think the guy who'll be interested in Datomic isn't going to be looking for a data store describable in a few sentences, like "NoSQL with feature X". It looks to me like a NoSQL-ish Datalog with Clojure-style concurrency, reified by its distribution model. You would only go with that sort of thing if you know how it works, or are interested in experimenting and learning about it. It's not something the guy looking for "data store, alternative to SQL, meeting requirements X Y and Z" would choose.

Re: Datomic Free Edition

#45
post #40
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…

Knowing the guys on the development team for datomic, I think their #1 concern is to produce a highly reliable and well-designed system. Also, they are big on developing systems that are very modular, and since datomic is built on Lisp, adding a SQL frontend would certainly be very easy (like a weekend project.) I'm sure once these guys have higher priority features addressed, you'll see a SQL feature as well (if fol…

Davy Suvee created a Dataomic Blueprints implementation (http://datablend.be/?p=1641) so you can run Gremlin (https://github.com/tinkerpop/gremlin/wiki) queries on it.

Re: Datomic Free Edition

#46
post #23

My nutshell answer to "What is datomic?": It is a database system for Java or Clojure where not all of the database code runs on the server. Instead, the server is fast and "dumb" and all the work for your queries runs on each client individually, which just cache chunks of data from the servers as needed. It turns out having your queries run on the clients has nice properties in terms of query language power and per…

This ought to be front and center on their site. What you wrote there turned a bunch of meaningless buzzwords into a useful product description. I'm now actually interested in the product. Well done!

Re: Datomic Free Edition

#47
post #11

I saw this page, and was not surprised that it doesn't say what Datomic is. A lot of people make that mistake. So, I clicked the link at the end of the page to go to your website. I followed some more links. I found three links that talked about feature, benefits, and the architecture, and clicked all three opening them in tabs. I read the first part of every page and then skimmed the rest. I have no damn clue what t…

Same exact response I had. No clue what this service actually DOES.

Re: Datomic Free Edition

#48
post #36
post #23

My nutshell answer to "What is datomic?": It is a database system for Java or Clojure where not all of the database code runs on the server. Instead, the server is fast and "dumb" and all the work for your queries runs on each client individually, which just cache chunks of data from the servers as needed. It turns out having your queries run on the clients has nice properties in terms of query language power and per…

Great summary! I'd also add a sentence about transactions being first class. Everything is wrapped in transactions, you can add metadata to transactions (who did it, when did it happen), and since no data is lost, you can use transactions IDs to see what your database looked like 1 week ago, etc.

Yes, and there's tricks where you can add speculative future data, which won't actually be stored in the DB. No doubt helps with projections.

Also I like the idea that queries can invoke your own code. (Which is feasible since the queries execute on the same machine as your app.)

Re: Datomic Free Edition

#49
post #25

Earlier quoted context omitted.

I've seen a number of comments over the last few weeks to the effect of "if you don't understand this product, watch the intro video". In my opinion, if a product can't be described in a couple of concise sentences, it's going to run into some major roadblocks in getting traction. Watching a video incurs a number of costs - the time taken to watch the video, the effort of plugging in headphones, the pain of buffering…

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. All these concepts can be explained succinctly in text.

Saying that Clojure is only for those who share some 'vision' is hand-wavy at best, insulting at worst.

Edit: My guess is that Datomic is targeted towards Clojure devs because they are already experienced with Datomic's philosophy and will understand the system better. It also provides a smaller and highly receptive market. They can then focus on perfecting the software instead of training a large number of people in the philosophy behind Clojure and Datomic.

Post reply on HN