Rich Hickey - The Database as a Value

Download this episode

Download Video

Description

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


Abstract:

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.

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    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.