Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Rich Hickey - The Database as a Value

56 minutes, 22 seconds


Right click “Save as…”

Rich Hickey is the creator of the Clojure programming language. Most recently (over the past couple of years), Rich has been putting his iconoclastic ways to work on data programmability. The result is a new type of database, Datomic. Datomic is a database of flexible, time-based facts, supporting queries and joins, with elastic scalability, and ACID transactions. It is implemented in Clojure.

Here is C9's recording of Rich's most recent talk on a new approach to database design and general purpose programmability. This happened at GOTO Chicago Functional Programming Night, sponsored by Dave Thomas.

You can see Rich and Erik Meijer discussing Clojure and Datomic here.
Read the "Out of the tar pit" paper Rich mentions at the beginning of the talk.

Rich Hickey - The Database as a Value


Proponents of functional programming tout its many benefits, most of which are available only within a particular process, or afforded by a particular programming language feature. Anything outside of that is considered I/O, dangerous and difficult to reason about. But real systems almost always cross process and language boundaries, and most require, crucially, a very gnarly bit of shared state - a database. In this talk we will examine how Datomic renders the database into that most prized and easy-to-reason-about construct, a value, and makes it available to multiple processes in multiple languages, functional and not.

Along the way, we'll discuss the importance of immutability and time in representing information, the reification of process, and the mechanisms of durable persistent data structures. No knowledge of functional programming is required.


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • felix9felix9 the cat that walked by itself

    Another version from QCON NY, with synchronized slides

  • I am sincerely concerned for the monkey.

  • CharlesCharles Welcome Change

    @B3NT_0: Smiley You'll get to witness the violence soon...


  • ChevalN2Cheval Why not null?

    Shame it's only for JVM at the moment. This looks great for us.

  • ChevalN2Cheval Why not null?

    One question I would have is, how do you forget? Delete/summaries/compress. ie As a doctor when I find that Sally can't eat pizza which cheese, I need to know everything (how often/much over the last 3/6 months), but 10 years later, I only need to know the single reference of then and the last 3/6 months. Basically storage isn't unlimited as it has a cost.

  • Bent Rasmussenexoteric stuck in a loop, for a while

    I seriously enjoyed this talk. Rich is surprisingly entertaining as well. Hickey, Meijer and Beckman would make a great trio. Smiley

    Now onto the Meijer talk!

  • @N2Cheval And so they just released a REST API for datomic so you can use it with non-JVM languages see http://blog.datomic.com/2012/09/rest-api.html

  • AuxonRichard.Hein Read it: ​http://bitc​oin.​org/bitcoin.​pdf

    Very good talk, love the poor bear (EDIT:  I mean monkey! ).   Smiley  It's really great to have Erik and Rich tackling what is and what can be - bringing theory to bear on broad practical problems and making it understandable to Mort's like me. 

    Datomic looks great, and I wonder how ideas like the Timewarp OS would look if recast with Datomic in the mix.

    The documentation for Datomic looks really complete and well written so far.  Very nice.  The logo is also very nice!  Wink

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.