Earlier quoted context omitted.
Hope your friend's project will give us a chance to meet in person. I have enjoyed you blog.
He is in your office right now.
Datomic Free Edition
71–80 of 81 posts
Re: Datomic Free Edition
#72My 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…
Also in the revolutionary category, all data is treated as immutable, and what we traditionally consider an update to a piece of stored data (with the change being made in-place of the original datum) is treated as a new fact with just the time being different (a new record with the change in value is created along with the time of change). Since data is never changed, only added, there is no need for the traditional…
Re: Datomic Free Edition
#73So 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.
It is important to understand that datalog is not a new query language. It is an old one, with a strong pedigree. It has power equivalent to the relational model plus recursion. SPARQL is cool, and they did a good job making it look a little like datalog.
Re: Datomic Free Edition
#74Earlier quoted context omitted.
Also in the revolutionary category, all data is treated as immutable, and what we traditionally consider an update to a piece of stored data (with the change being made in-place of the original datum) is treated as a new fact with just the time being different (a new record with the change in value is created along with the time of change). Since data is never changed, only added, there is no need for the traditional…
How is that revolutionary ? Time series databases have been around for years (have a look at KDB as an example).
Re: Datomic Free Edition
#75Earlier quoted context omitted.
Just out of curiosity, what would you call this language then: [:find ?entity :where [?entity :db/doc \"hello world\"]]? What exactly do you see as the problem with this example? Or with SQL for that matter? Honestly, I'm interested in what your criticism is. Is it the syntax?
Yes, the syntax (or lack thereof, whichever you prefer). Obviously I'm not entitled to tell anyone how to design their databases. I'm just saying there's good reasons why so many DBs stick to a SQL-like syntax, and that is because the alternatives are usually worse (think: familiarity, tooling, scripting, REPL, etc.). For example, using the MongoDB REPL, which is probably close to what a datalog-REPL would look like,…
SQL is what people are familiar with, and even some NoSQL databases have distinctly SQL-inspired query languages (e.g. SimpleDB). The problem is that SQL is a godawful query language, and if we want to do better we need to do something different, and therefore unfamiliar.
SQL tries to look like natural language, which has resulted in a syntax is complex, inconsistent and monolithic, just like the language it tries to imitate. If we want a syntax that is simple, consistent and modular we need to throw away the idea that a query needs to read like English.
Re: Datomic Free Edition
#76Re: Datomic Free Edition
#77Is there a hard memory cap for transactor local storage in the free version? Or is it more along the lines of: "we'll politely ask you to switch over to the paid version if you're eating up massive amounts of disk space"?
Re: Datomic Free Edition
#78Re: Datomic Free Edition
#79If you want to try the free version they released yesterday make sure that you grab a fresh copy (datomic-free-0.8.3343 is working fine for me). I suffered greatly with the initial datomic-free-0.8.3331 release before my customer gave me a heads up to refresh.
Re: Datomic Free Edition
#80For 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…